100+字體合一:工具字體Noto Unicode發(fā)布v5

[one Noto to rule them all.](github.com/MY1L/Unicode)

今天(2021-10-6)更新到第5版了,但因?yàn)閎站專欄只能編輯3次的設(shè)定沒法即時更新……
做這字體目的是補(bǔ)充視窗系統(tǒng)字體缺漏,但其實(shí)該字體也針對BabelMap每區(qū)段限用一個字體的設(shè)定而設(shè)計。(畢竟某些區(qū)段如“表意符號及標(biāo)點(diǎn)”在性質(zhì)上就不太可能只用一個字體顯示完)
改善字形:

改善「?」相關(guān)的自制字符,注音擴(kuò)充:U+31BC~31BF????(?和八、ハ特意做成不一樣),蒙文:FVS2?、FVS3?。
Noto盧恩的美感有些……全部替換為自制字體?Ctrl Runr。

補(bǔ)全區(qū)段(統(tǒng)一碼14.0版的情況):

蒙文?(158/158字,已填滿)?-?自制?「FVS4」U+180F
貨幣?(33/33字,已填滿)?-?自制?「С?」U+20C0
新增區(qū)段:

藏文?(211/211字,已填滿) - 因?yàn)橐暣跋到y(tǒng)字體Microsoft Himalaya( 字形取自 方正藏白體\Founder Zang Baiti)缺失4個藏文(????,會不會是故意的)。
統(tǒng)一加拿大土著音節(jié)擴(kuò)充甲?(16/16字,已填滿) - 統(tǒng)一碼14.0版新增,視窗系統(tǒng)字體Gadugi尚無。
下載鏈接一步到位:https://github.com/MY1L/Unicode/releases/tag/NotoUni5
接下來且待Noto字體應(yīng)對統(tǒng)一碼14版的更新。
啊對了,
第4版我只發(fā)了動態(tài),主要添加了薩頓手語(Sutton?SignWriting,U+1D800~1DAAF,簡稱SignWriting,ISO?15924:Sgnw),等等,詳見github更新記錄。

以下為專欄舊內(nèi)容,但標(biāo)出第5版更新的部分。

原標(biāo)題:100+字體合一:工具字體Noto Unicode初發(fā)布v3
“初發(fā)布”是指在b站,其實(shí)在github已經(jīng)第3版了。容我稍后解釋下何謂“工具字體”——這詞是我一時想不到描述隨便寫的。

關(guān)于谷歌和Monotype、Adobe等合作的Noto系列字體毋寧多言,你也許已經(jīng)聽說過,老外把字體缺字呈現(xiàn)的缺省字符(一般是空心方形或叉燒包)稱為豆腐塊(英文“tofu”,可能源自日語),而Noto意思是“no tofu”,希望從此系統(tǒng)不再缺字。不過目前仍遠(yuǎn)遠(yuǎn)未達(dá)成此目標(biāo),比如NotoCJK對表意文字補(bǔ)充平面〔SIP〕的覆蓋還不如篩子,似乎也沒看到近期谷歌有填滿SIP的打算……
還有一件事,谷歌幾乎把所有非拉丁、希臘、西里爾的書寫系統(tǒng)字符都拆成單獨(dú)字體。其實(shí)這種處理方式理論上挺好,因?yàn)椴煌臅鴮懴到y(tǒng)有各自的排版方式,即便同是婆羅米系字母如天城文「例:?? ?????」和悉曇文「例:????????????」差異也挺大。下圖左為模擬排版引擎失效的樣子,右為對該字體的準(zhǔn)確排版(至于具體左邊怎么變成右邊,一兩篇文章可寫不完,何況我也不夠了解婆羅米文,從略)如果用戶只需要顯示若干個書寫系統(tǒng)字符的話,那其它字體就可以不安裝以節(jié)省空間。

但問題在于,一般人對于服務(wù)總是“我可以不用,你不能沒有”,既然為了避免tofu,那肯定每個書寫系統(tǒng)至少要裝一個,于是……

畢竟我不了解這些文化,并不迫切需要準(zhǔn)確地排版這么多語言文字,只為BabelMap和瀏覽器顯示不缺字,看得見是什么字就行。因此我準(zhǔn)備將 所有??視窗系統(tǒng)未收范圍的Noto字體合一。
所謂“工具字體”就是不負(fù)責(zé)排版只滿足顯示字形,為此犧牲其它所有功能,只能顯示成上上圖左邊的樣子,好處是文件體積相比這些字體的總和縮減一半。
類似目的的字體早已存在:Unifont,但這個是像素字體,當(dāng)作系統(tǒng)墊底(fallback)字體來實(shí)際使用的話,默認(rèn)字號下字形不明確,畫風(fēng)也不搭配。
第3版縫合了約100個Noto及若干其它免費(fèi)學(xué)術(shù)用字體。制作中發(fā)現(xiàn)Noto系字體含字不全和存在錯誤,因此不僅麻煩在合并,針對BabelMap每個區(qū)段只能用一個字體的設(shè)定,我還需要畫些Noto缺的字符把整個區(qū)段填滿——我甚至造了整個U+16FEx區(qū)段。
如果你是在研究某種語言文字需要準(zhǔn)確排版的情況,還是找對應(yīng)Noto字體安裝為宜,我在頂部github鏈接給了 README.md 方便你查詢應(yīng)該下載哪個,或查詢損失了哪種你無所謂的OT特性(某些Noto字體完全沒有特性)
也有某些區(qū)段,因?yàn)橄到y(tǒng)字體已經(jīng)完整包含,而故意跳過不做,列舉在 sysBlocks.txt 里。
下面列舉目前第3版Noto Unicode支持情況(171個區(qū)段,16208+字,紅字是自制的)

Basic Latin (97/128字,不計控制字則已填滿??刂谱譄o字形)
Latin-1 Supplement (96/128字,不計控制字則已填滿)
Latin Extended-A (128/128字,已填滿)
Latin Extended-B (208/208字,已填滿)
IPA Extensions (96/96字,已填滿)
Spacing Modifier Letters (80/80字,已填滿)
Combining Diacritical Marks (112/112字,已填滿)
Greek and Coptic (135/135字,已填滿)
Cyrillic (256/256字,已填滿)
Cyrillic Supplement (48/48字,已填滿)
Armenian (91/91字,已填滿)

Hebrew (88/88字,Noto不全,我做了個字符填滿)

Arabic (255/255字,我畫了個占位字形填滿)

Arabic Supplement (48/48字,已填滿)

Samaritan (61/61字,已填滿)?注:下圖區(qū)段例字是舊版了,新版見這里。

Mandaic (29/29字,已填滿)

Arabic Extended-A (73/84字)

Devanagari (128/128字,已填滿)

Bengali (96/96字,已填滿)

Gurmukhi (80/80字,已填滿)

Gujarati (91/91字,已填滿)

Tamil (15/72字,不過無所謂,系統(tǒng)字體Nirmala UI已填滿)
Sinhala (91/91字,已填滿)

Georgian (88/88字,已填滿)

Runic (89/89字,已填滿)?注:圖過時了,第5版有更新


Tagalog (20/20字,已填滿)

Hanunoo (23/23字,已填滿)
Buhid (20/20字,已填滿)
Tagbanwa (18/18字,已填滿)
Mongolian (157/157字,Noto不全,我制作了若干字符填滿)?注:圖部分過時,第5版有更新

Limbu (68/68字,已填滿)
Tai Tham (127/127字,已填滿)
Combining Diacritical Marks Extended (17/17字,已填滿)
Balinese (121/121字,已填滿)
Sundanese (64/64字,已填滿)
Batak (56/56字,已填滿)
Lepcha (74/74字,已填滿)
Cyrillic Extended-C (9/9字,已填滿)
Georgian Extended (46/46字,已填滿)
Sundanese Supplement (8/8字,已填滿)
Vedic Extensions (43/43字,Noto不全,我畫了個字符填滿)

Phonetic Extensions (128/128字,已填滿)
Phonetic Extensions Supplement (64/64字,已填滿)
Combining Diacritical Marks Supplement (63/63字,已填滿)
Latin Extended Additional (256/256字,已填滿)
Greek Extended (233/233字,已填滿)
General Punctuation (111/111字,已填滿)
Superscripts and Subscripts (42/42字,已填滿)
Currency Symbols (32/32字,已填滿)
Combining Diacritical Marks for Symbols (33/33字,已填滿)
Letterlike Symbols (80/80字,已填滿)
Number Forms (60/60字,已填滿)
Miscellaneous Technical (246/256字)
Miscellaneous Mathematical Symbols-A (48/48字,已填滿)
Miscellaneous Symbols and Arrows (253/253字,已填滿)
Glagolitic (94/94字,已填滿)
Latin Extended-C (32/32字,已填滿)
Georgian Supplement (40/40字,已填滿)
Cyrillic Extended-A (32/32字,已填滿)
Supplemental Punctuation (83/83字,已填滿)
Bopomofo Extended (32/32字,Noto不全,我制作了若干字符填滿)?注:圖部分過時,第5版有更新

Cyrillic Extended-B (96/96字,已填滿)
Bamum (88/88字,已填滿)
Modifier Tone Letters (32/32字,已填滿)
Latin Extended-D (180/180字,已填滿)
Syloti Nagri (45/45字,Noto不全,我作了個字符填滿)?注:圖部分過時,第5版有更新

Common Indic Number Forms (10/10字,已填滿)
Saurashtra (82/82字,已填滿)
Devanagari Extended (32/32字,已填滿)
Kayah Li (48/48字,已填滿)
Rejang (37/37字,已填滿)
Cham (83/83字,已填滿)
Tai Viet (72/72字,已填滿)
Meetei Mayek Extensions (23/23字,已填滿)
Latin Extended-E (60/60字,已填滿)
Meetei Mayek (56/56字,已填滿)
Alphabetic Presentation Forms (58/58字,已填滿)
Arabic Presentation Forms-A (611/611字,已填滿)
Variation Selectors (1/16字,但沒什么必要填滿)
Combining Half Marks (16/16字,已填滿)
Arabic Presentation Forms-B (141/141字,已填滿)

Specials (5/5字,已填滿)

Linear B Syllabary (88/88字,已填滿)
Linear B Ideograms (123/123字,已填滿)
Aegean Numbers (57/57字,已填滿)
Ancient Greek Numbers (79/79字,已填滿)

Ancient Symbols (14/14字,已填滿)?注:圖部分過時,第5版有更新

Phaistos Disc (46/46字,已填滿)

Coptic Epact Numbers (28/28字,已填滿)

Old Italic (39/39字,已填滿)

Old Permic (43/43字,已填滿)
Osage (72/72字,已填滿)
Elbasan (40/40字,已填滿)
Caucasian Albanian (53/53字,已填滿)
Linear A (341/341字,已填滿)
Palmyrene (32/32字,已填滿)
Nabataean (40/40字,已填滿)
Hatran (26/26字,已填滿)
Meroitic Hieroglyphs (32/32字,已填滿)
Meroitic Cursive (90/90字,已填滿)
Kharoshthi (68/68字,已填滿)
Old North Arabian (32/32字,已填滿)
Manichaean (51/51字,已填滿)
Avestan (61/61字,已填滿)
Psalter Pahlavi (29/29字,已填滿)
Old Hungarian (108/108字,已填滿)
Hanifi Rohingya (50/50字,已填滿)
Rumi Numeral Symbols (31/31字,已填滿)

Yezidi (47/47字,已填滿)
Old Sogdian (40/40字,已填滿)
Sogdian (42/42字,已填滿)
Elymaic (23/23字,已填滿)
Kaithi (67/67字,已填滿)
Chakma (71/71字,Noto不全,我畫了個字符填滿)

Mahajani (39/39字,已填滿)
Sharada (96/96字,Noto不全,我制作了若干字符填滿) 注:圖部分過時,第5版有更新

Sinhala Archaic Numbers (20/20字,已填滿)
Khojki (62/62字,已填滿)
Multani (38/38字,已填滿)
Khudawadi (69/69字,已填滿)
Grantha (86/86字,已填滿)
Newa (97/97字,Noto缺字略多,填滿了)

Tirhuta (82/82字,已填滿)
Siddham (92/92字,已填滿)

Modi (79/79字,已填滿)
Mongolian Supplement (13/13字,已填滿)
Takri (67/67字,已填滿)
Ahom (58/58字,已填滿)
Dogra (60/60字,已填滿)
Warang Citi (84/84字,已填滿)
Zanabazar Square (72/72字,已填滿)

Soyombo (83/83字,已填滿)
Pau Cin Hau (57/57字,已填滿)
Bhaiksuki (97/97字,已填滿)
Marchen (68/68字,已填滿)
Masaram Gondi (75/75字,已填滿)
Gunjala Gondi (63/63字,已填滿)
Lisu Supplement (1/1字,自制)

Tamil Supplement (51/51字,已填滿)
Cuneiform (922/922字,已填滿)
Early Dynastic Cuneiform (196/196字,已填滿)
Anatolian Hieroglyphs (583/583字,已填滿)
Bamum Supplement (569/569字,已填滿)
Mro (43/43字,已填滿)
Bassa Vah (36/36字,已填滿)
Pahawh Hmong (127/127字,已填滿)
Medefaidrin (91/91字,已填滿)

Miao (149/149字,已填滿)
Ideographic Symbols and Punctuation (7/7字,沒有任何Noto填滿該區(qū),全部自制)?注:圖部分過時,第5版有更新

Khitan Small Script (470/470字,Noto尚無需要自制,借用其它字體填滿)

Duployan (143/143字,已填滿)
Shorthand Format Controls (4/4字,已填滿)
Byzantine Musical Symbols (246/246字,已填滿)
Ancient Greek Musical Notation (70/70字,已填滿)
Mayan Numerals (20/20字,已填滿)

Counting Rod Numerals (25/25字,已填滿)

Glagolitic Supplement (38/38字,已填滿)
Nyiakeng Puachue Hmong (71/71字,已填滿)
Wancho (59/59字,已填滿)
Mende Kikakui (213/213字,已填滿)
Adlam (88/88字,已填滿)
Indic Siyaq Numbers (68/68字,已填滿)
Arabic Mathematical Alphabetic Symbols (143/143字,已填滿)?注:下圖區(qū)段例字是舊版了,新版見這里。

Enclosed Alphanumeric Supplement (167/200字)
Miscellaneous Symbols and Pictographs (296/768字)
Transport and Map Symbols (41/114字)
Geometric Shapes Extended (101/101字,已填滿)
Supplemental Arrows-C (150/150字,已填滿)
Supplemental Symbols and Pictographs (2/254字)
Chess Symbols (98/98字,已填滿)

Symbols for Legacy Computing (212/212字,Noto尚無,借用其它字體填滿)

才發(fā)現(xiàn)b站專欄限制100張圖,所以區(qū)段不能全部貼出。
如安裝的話,本文中「」括起的例字大概就能顯示了(也可能要改注冊表{HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink}調(diào)整系統(tǒng)字體fallback才行)
若字體使用發(fā)生什么問題請告訴我。某些舊軟件可能不支持非基本多文種平面〔BMP〕的字符。
最后,我畫了個「TOFU」作為該字體的缺省字符.notdef,方便辨認(rèn)是否因本字體缺字。
