이 저장소의 OpenType/CFF2 컬렉션 (일명 가변 글꼴 컬렉션)의 목적은 오픈 소스 소스 Han Sans 및 소스 Han Serif Pan-CJK 글꼴의 배포 형식을 변수 글꼴로 시뮬레이션하는 것입니다. 이것은 Google 브랜드 NOTO CJK 버전에도 적용됩니다. 소스 OpenType/CFF2 글꼴 (일명 변수 글꼴)은 "OTF"디렉토리에 있으며 참조 목적으로 만 포함됩니다. 가변 글꼴 컬렉션은 개별 변수 글꼴과 동일하게 행동 할 것으로 예상됩니다.
5 개의 기본 언어를 지원하는 소스 Han Sans / Noto Sans CJK 버전 2.000과 달리이 테스트 글꼴은 6 번째를 지원합니다. 이 여섯 번째 언어는 마카오 SAR의 전통적인 중국어의 세 번째 맛으로, 지역 컨벤션은 홍콩 SAR의 지역과 가깝지만 별도의 글꼴을 보증하기에 충분한 차이가 있습니다. 우리는 또한이 목적을 위해 OpenType 언어 태그 인 Zhtm을 등록하는 과정에 있습니다.
6 개의 지원되는 언어는 다음과 같습니다. 괄호 안의 2 글자 영역 코드는 글꼴 이름에 사용되며 글꼴의 모든 45k 매핑에서 매핑 된 박스형 Digraph Glyph에 사용됩니다.
| 언어 | 2 글자 영역 코드 |
|---|---|
| 일본어 | JP |
| 한국 (로크) | kr |
| Simplifified Chinese, PRC (중국) | CN |
| 전통 중국어, Roc (대만) | 트위 |
| 전통 중국어, 홍콩 SAR | 흠 |
| 전통 중국어, 마카오 SAR | 모 |
'이름'테이블에는 현지화 된 이름이 언어를 암시하기 때문에 2 글자 영역 코드를 포함하지 않는 현지화 된 메뉴 이름 문자열이 포함됩니다. 영어 메뉴 이름 문자열에만 2 글자 영역 코드가 포함됩니다.
가변 글꼴 기능 측면에서 다음 두 가지 설계 축이 포함됩니다.
중량 범위는 200 (extralight) ~ 900 (무거운)이며 폭 범위는 100% (기본 1000 단위 수평 전진)에서 75% (압축)입니다.
각 'CFF2'테이블에는 65,535 개의 글리프가 포함됩니다 (GIDS 0 ~ 65534). 아래 표는 할당 된 글리프를 나타냅니다. 이는 얼굴에 따라 다를 수 있습니다.
| GIDS & GID 범위 | 산스 세리프 | 가는 장식 선 |
|---|---|---|
| 0 | .notdef | 같은 |
| 1 | 공간 (U+0020 및 U+00A0에서 매핑; 일명 UNI0020) | 같은 |
| 2 | UNI3000 (U+2003 및 U+3000에서 매핑) | 같은 |
| 3-10924 | 박스형 "jp"digraph | 박스형 "Mo"Digraph |
| 10925 ~ 21846 | 박스형 "kr"digraph | 박스형 "hk"digraph |
| 21847 내지 32768 | 박스형 "CN"Digraph | 박스형 "TW"Digraph |
| 32769 ~ 43690 | 박스형 "TW"Digraph | 박스형 "CN"Digraph |
| 43691 ~ 54612 | 박스형 "hk"digraph | 박스형 "kr"digraph |
| 54613 ~ 65534 | 박스형 "Mo"Digraph | 박스형 "jp"digraph |
'CFF2'테이블은 최신 AFDKO TX 도구를 사용하여 서브 루틴 화되었으며 크기는 약 330k입니다. 그들의 비 유방 버전은 대략 31MB (SANS SERIF) 및 62MB (SERIF) 크기입니다. 2 글자 영역 코드를 나타내는 6 개의 기능성 글리프의 적용 범위가 10,922 개의 GID를 채우도록 확장 되었기 때문에 이러한 대규모 크기 감소가 가능했습니다.
'CFF2'테이블에는 7 개의 fdarray 요소가 포함되며 GID 과제는 다음과 같습니다.
| fdarray 요소 | GID 범위 |
|---|---|
| 0 | 0 ~ 2 |
| 1 | 3-10924 |
| 2 | 10925 ~ 21846 |
| 3 | 21847 내지 32768 |
| 4 | 32769 ~ 43690 |
| 5 | 43691 ~ 54612 |
| 6 | 54613 ~ 65534 |
Sans Serif 글꼴에는 44,806 개의 매핑이 포함되며 Serif onts에는 44,782가 포함되어 있으며, 이는 20 명을 의미합니다. 제외 된 20 개의 매핑은 u+2780 ℃에서 U+2793 ➓에 대한 것이며, 이는 Sans Serif -Style 문자에 해당합니다. 양면에서 지원되는 20 개의 해당 스타일의 공수 문자는 U+2460 ① ~ U+2469 ⑩ 및 U+2776 ❶를 통해 U+277F ❿입니다.
6 개 언어 각각에 대한 'CMAP'테이블은 거의 45K 코드 포인트를 박스형 2 글자 영역 DIGAPH에 해당하는 GID에 맵핑됩니다. 매핑은 각 10,922- 글리프 GID 범위 내에 GID를 할당하는 측면에서 순차적입니다. 다시 말해, 45K 코드 포인트는 "JP"(Sans Serif) 및 "MO"(SERIF) 글꼴의 GIDS 3에서 10924에 순차적으로 맵핑됩니다. 순차적 방식으로 매핑을 할당하는 과정에서 GID+10924에 도달하면 GID 값이 GID+3으로 재설정됩니다. 이 프로세스는 45K 코드 포인트가 모두 10,922 GID 범위의 GID에 매핑 될 때까지 계속됩니다. U+0020, U+00A0, U+2003 및 U+3000의 매핑은 특수 용량이며 GIDS 1 또는 2에 매핑됩니다.
UTF32-Mappings.txt 파일은 44,806 코드 포인트를 UTF-32 값으로 지정합니다.
'GSUB'( Glyph 대체 ) 테이블에 포함 된 유일한 OpenType 기능은 'LOCL'( 로컬 형 양식 )으로, 기본 언어의 글리프를 Adobe Indesign 및 최신 브라우저와 같이 이러한 기능을 지원하는 앱에서 언어 태그를 통해 선택된 언어로 기본 언어를 대체 할 수 있습니다. 예를 들어, "mo"(macao sar) 글꼴을 사용하는 경우 Adobe Indesign은 다른 5 개 언어에 대한 언어 태그를 지원하므로 6 개의 digaphs를 모두 함께 표시 할 수 있습니다. (Indesign은 Macao SAR에 사용 된대로 전통적인 중국어에 대한 언어 태깅을 아직 지원하지 않습니다).
가변 글꼴 컬렉션 중 2 개는 얼굴 별이며, 하나는 Sans Serif (일명 소스 Han Sans ), Serif (일명 Source Han Serif )를 의미합니다.
다음 13 'SFNT'테이블은 각면 별 변수 글꼴 컬렉션 내에서 공유됩니다.
다음 5 개의 'SFNT'테이블은 공유되지 않으며, 인스턴스 수는 다음과 같습니다.
| 테이블 | 인스턴스 |
|---|---|
| GSUB | 6 |
| OS/2 | 2 |
| CMAP | 6 |
| 머리 | 6 |
| 이름 | 6 |
세 번째 변수 글꼴 컬렉션에는 12 개의 가변 글꼴이 모두 포함되며 공유되지 않은 'SFNT'테이블의 수를 두 배로 늘리는 것 외에는 유일한 차이점은 두 개의 'cff2'테이블이 있다는 것입니다.
12 소스 변수 글꼴은 TTX 스타일 XML 파일을 컴파일하여 구축되었습니다.
가변 글꼴 소스에서 가변 글꼴 컬렉션을 구축하려면 OpenType (AFDKO) 용 Adobe Font Development 키트를 설치해야합니다. AFDKO 도구는 오늘날 글꼴 개발에 널리 사용되며 대부분의 글꼴 편집기 응용 프로그램의 일부입니다.
이 저장소에서 필요한 모든 파일은 변수 글꼴 컬렉션을 구축하기위한 "OTF"디렉토리에 포함되며 Build-Otc.sh 파일은 사용되는 명령 줄을 제공합니다.
변경 사항에 대한 제안은 새로운 문제를 고려해야합니다.