diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design/004-text.md | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/docs/design/004-text.md b/docs/design/004-text.md index ec681e1..c62ff65 100644 --- a/docs/design/004-text.md +++ b/docs/design/004-text.md @@ -159,9 +159,9 @@ Malayalam은 psts와 rlig가 한 조회를 나눠 쓰는데, 안정 정렬로는 결과(Pi 5): -- 설치된 글꼴 213벌, 계획 1,748개에 각 1천 실행: 다른 실행 0(글자 모양이 비트맵뿐인 Noto Color Emoji는 심볼 단계에서 - 빠진다). 인터넷에서 받은 Noto 21벌(인도계 아홉, 싱할라, 크메르, 미얀마, 티베트, 자바, 발리, 몽골 등), 계획 80개에 각 3천 - 실행: 다른 실행 0. 인도계가 있는 글꼴은 따로 계획마다 2만 실행: FreeSerif(여덟 문자), FreeSans, 굵은 꼴들, FreeMono, Unifont(아홉 +- 설치된 글꼴 213벌, 계획 1,804개에 각 1천 실행: 다른 실행 0(글자 모양이 비트맵뿐인 Noto Color Emoji는 심볼 단계에서 + 빠진다). 인터넷에서 받은 Noto 21벌(인도계 아홉, 싱할라, 크메르, 미얀마, 티베트, 자바, 발리, 몽골, 태국, 라오 등), 계획 + 84개에 각 2천 실행: 다른 실행 0. 인도계가 있는 글꼴은 따로 계획마다 2만 실행: FreeSerif(여덟 문자), FreeSans, 굵은 꼴들, FreeMono, Unifont(아홉 문자, GSUB 없음) 130개 계획 260만 실행, 다른 실행 0. - 새 규격 글꼴(dev2 등): 인터넷에서 받은 Noto Sans 아홉 벌(데바나가리부터 말라얄람까지), 계획마다 5천 실행, 다른 실행 0. - 속도: HarfBuzz의 1.25–1.3배 시간(Noto Sans Devanagari 문자당 1,614 대 1,235 ns, Tamil 674 대 526 ns). @@ -197,11 +197,22 @@ Malayalam은 psts와 rlig가 한 조회를 나눠 쓰는데, 안정 정렬로는 계획마다 5천 실행, 다른 실행 0. Unifont의 몽골에서 한 번 달랐다. HarfBuzz 10.2의 기본 무시 문자 목록은 몽골 블록에서 U+180B–180E만 넣고 네 번째 자유 이체 선택자(U+180F)를 빠뜨렸다. Vega는 유니코드대로 넣었었는데, HarfBuzz를 따라 뺐다. +### 태국과 라오 + +`hb-ot-shaper-thai.cc`: SARA AM을 NIKHAHIT와 SARA AA로 풀고 NIKHAHIT를 위 부호들 앞으로 옮긴다(NIKHAHIT는 폭을 없앨 때 +부호로 셈한다). 글꼴에 태국 문자 체계가 없으면(GSUB가 DFLT나 latn만 가지면) 부호를 쌓임에 따라 글꼴의 사용자 영역 +글리프(Windows의 F700대, 없으면 Mac의 F880대)로 바꾼다. 계획기가 HarfBuzz처럼 글꼴이 문자 체계를 제 태그로 가졌는지 +기록한다. + +결과: Noto Sans Thai·Lao, TLWG Loma 네 벌, FreeSerif 계열의 태국, DejaVu Sans 계열의 라오, Unifont, 계획마다 3천 실행, 다른 +실행 0. 사용자 영역 경로는 설치된 글꼴에 쓸 일이 없어서, Loma에서 GSUB의 thai 문자 체계만 지운 글꼴을 만들어 5천 실행으로 +확인했다(다른 실행 0). + 받지 않는 것(빌드 도구가 이유를 말하고 거부한다): - `kern` 표의 상태 기계(Apple 형식 1), 등급 형식(2, 3), 교차 방향 커닝. 설치된 글꼴의 `kern` 표는 모두 짝 형식(0)이다. - AAT 표(morx, kerx, trak), 늘이기(stch), 아랍 형태가 없어 HarfBuzz가 표시형으로 대체 셰이핑을 하는 글꼴(Unifont의 아랍). -- 기본·아랍·히브리·한글·인도계·크메르·미얀마·USE 셰이퍼가 아닌 문자 체계: 태국·라오, 시리아. +- 시리아 문자(아랍 셰이퍼의 Alaph·Dalath-Rish 연결과 fin2·fin3·med2), 미얀마 Zawgyi. - 이체 선택자(cmap 형식 14)는 싣지 않는다. 선택자는 숨기고 앞 글자는 기본 글리프로 둔다. ## 비례폭 글줄 |
