有沒有人把Unicode 按Code Chart里的字體完整地做成一個字體?

把兩個字體結合起來做一個新字體不知道是否容易,如果是的話,有沒有人把Unicode 按Code Chart里的字體完整地做成一個字體呢,如果沒有的話,可不可以做,容不容易呢?


有以此為目的的,但是Unicode不斷在增大,以下已列出的並沒有機會能保持完整覆蓋。

而且其實多數只覆蓋完了Unicode基本多文種平面(BMP)。

五萬多個漢字在表意文字補充平面:CJK擴展B區等著你(還有CDEF)

arial unicode ms

思源全家桶(宣傳報道上主要說法還是支持各國文字,雖然名字之一叫沒有豆腐(缺字的時候的那個框框))

code2000(漢字真的醜醜出翔)code2001 code2002(就是表意文字補充平面,作者對漢字真的是情有獨鍾,但是漢字審美也是很清奇)【想要覆蓋unicode的多半都是對漢字情有獨鍾吧xsk】

gnu unibit(點陣,漢字好,但是阿拉伯人民大概並不會買賬)

花園明朝(目標上只管了所有Unicode漢字,雖然就是有人不務正業做奇怪的符號,但是目測BMP也沒覆蓋完)

等等。

然而質量很難好,不同文字有不同文字的一些特殊的字體特性。

漢字本身就是一個巨坑,然後還有中日韓不同寫法,韓文其實也有2萬多個喲,希伯來文阿拉伯文蒙文等等書寫方向,阿拉伯文拉丁字母的各種組合符號,還有各種奇怪的符號區,還有emoji呢。

要完全掌握各種奇怪的細節並且做出能用的,需要巨大人力物力。

(合併可以做到,但是你得要有所有這些字體拿來利用修改發布授權。arial unicode ms就是多個專業(?)字體的合併,可惜中文的選擇,xsk)

而且效果遠不如特定語言字體專家產出的精於本國文字的字體。

(思源是谷歌爸爸和adobe爸爸聯合起來搞的,感受一下工程有多大。雖然這個質量上至少是可用了。但是字體文件也是好多好多個)

(吔屎啦ttf和otf的65535限制)

——————

最終版

其實存在一個,那就是Unicode官方發布的全碼錶pdf。那就是unicode的定義,所以裡面自然包含每一個字元的矢量圖形。但是,Unicode聲明禁止將此pdf的內容提取為字體。

美國·聖地亞戈


有。在下。

不過由於 ttf 字體的 65535 限制,BMP / SMP / SIP / SSP 面需要單獨製作。

Code Chart 里的字形提取是被嚴厲禁止的,但是若是用 FF 提取還是能提取出部分字體的,比如一些早期的小語種(Gujarati, Gurmukhi, Kannada, Malayalam, Tamil, Telugu 等)字體是可提取的,而之後部分的新增語言(Tangut 等)、原有語言的新增字型(Cherokee 等)包括之後的擴展 B / C / D / E 區的字形則無法被提取。需要另外製作。

========== BMP 1.0.0 ==========

簡要的步驟為,在 Font Creator 中添加 BMP 面所有空位,將用 FF 提取出的字體一一粘貼,再用 Times New Roman 覆蓋拉丁文區,中易宋體覆蓋擴展 A 區,方正書宋覆蓋 CJK 基本區,Batang / MS Mincho / Mingliu 覆蓋兼容區,新增字形參考 BabelSoneHan / Cambria / Cambria Math / NS Math CN / Plantagenet Cherokee / Quivira / Segoe UI Symbol / Sun Ext-A / Symbols / UTCHan / Webdings / Wingdings / Wingdings 2 / Wingdings 3 等,CJK 基本區和擴展 A 區的新增字、其他新增語言的字母字形等自造,最後將提取出的字體中多餘字元(如蒙古文、數學運算符中同一碼位的不同字形以及漢字、韓語的字元部件等)放在私用區。用 FF 合成為字體(因為發現 Font Creator 合成字體有字形錯位的 Bug)。

========== BMP 1.0.1 / SMP 1.0.0 / SIP 1.0.0 ==========

BMP 下,用 BabelStone Phagspa Tibetan B / Free Serif / Symbola / 方正規範書宋覆蓋原有碼位。

SMP 下,在 Font Creator 中添加 SMP 面所有空位,將用 FF 提取出的字體一一粘貼,字形參考 Aegean / AegyptusB / Ahmao / Ahom Unicode / Akkadian / Analecta / Anatolian / Andagii / Assyrian / BabelStone Tibetans Marchen / duployan prop-webfont / E-Grantha OT / Everson Mono / Gardiner / HanaMinA Regular / Iitgr2 / JG Bassa Vah Print / JG MENDE / JG Naadaas Final Version / JG Pahawh Final Version / Kaithi OTS / Khojki Graphite - Normal / Kunchithapatham / Linear A / Linear B / MALLSG / Marathi Sharada / Miao Unicode-Regular / Mingliu B / mngl white otf / MPH 2B Damase / Musica / Newa Regular / Nilus / Nirmala UI / Noto Sans Bamum / Noto Sans Glagolitic / Old Hungarian / Rabison2 Nepal Lipi / Redocn 2010083114440849 / Ribeng Uni / Segoe UI Historic / Siddam / SignWriting 2010 / Specials UC6 / Symbola / Titus Manichean / TW-Sung Ext-B 98.0 / Unidings / Uni11400 Newar / VJOAAA F11,無法提取且無網路資源之字形可將 CodeChart.pdf 縮放至 2000% 左右截圖,在 Font Creator 中插入圖片加以縮放,調整間距。根據古今文字集成之 Tangut N4694 字體映射至 Tangut 區塊。

SIP 下,將 Windows 8.0 後的 Simsun-Ext B 複製出來,添加 SIP 面所有空位,字形參考 Ext.E / TW-Sung-Ext B,並根據 IRG 會議內容修改錯誤字形。

========== SPUA-A 1.0.0 / SPUA-B 1.0.0 ==========

SPUA-A 下,將以上各字體內的 Unicode 未收錄字形完全收錄,同時參考 BabelStone Han / BabelStone Tangut WHYJ Index / BabelStone Tangut Sofronov 1968 / BabelStone Tangut Nishida 1966 / BabelStone Tangut HXM 2004 / BabelStone Tangut KYC 2006 / ccamc han pua-webfont / Klingon-pIqaD-HaSta / Klingon-pIqaD-vaHbo" / Ranjana / Tib Mach Uni-1.901b。

SPUA-B 下,參考 ACEEIE 15 / BabelStone Han PUA / BabelStone HYDZD PUA / BabelStone Khitan Large Glyphs / BabelStone Khitan Small Glyphs / CN / DJ / gjts EUDC / KHCFNF ChinaExtD / Sawndip / TW-Sung-Plus / 書刊宋體 / 粵方言字,將以上方塊字型完全收錄。

========== BMP 1.0.2 / SMP 1.0.1 / SSP 1.0.0 / SVS_IVD 1.0.0 ==========

BMP 下,根據 TH-Tshyn-P0 改進注音符號並更新到 Unicode 10.0.0 (draft),調整 Glagolitic 字元大小,調整修飾符字形位置。

SMP 下,根據 TH-Tshyn-P1 / Tsolyani Modern / Tsolyani Num1 / Uni18B00 khitan small-Regular / Uni11B90 Nandinagari-0117 / Uni1E2C0 Wancho-Regular / Universalia+ / Usennu Normal / Wreathe Unicode 3.14.2.2 更新到 Unicode 10.0.0 (draft)。參照 Tangut Yinchuan 全面優化字形,調整修飾符字形位置。

SSP 下,參照 Specials UC6 字體完成全部字形。

SVS_IVD 下,參照 Mongolian Baiti / Symbola 字體完整全部字形。

========== BMP 1.1.0 ==========

BMP 下,添加 GBK-PUA 全部字形、台灣語假名音調符號以及 1 個遺漏字形。參照 Everson Mono / Times New Roman / Microsoft Himalaya / MPH 2B Damase / Specials UC6 / Syr COM Edessa / Uni0840 Mandaic / 方正書宋 GB18030 全面改進字形。調整字元間距。全面優化修飾字元。

========== BMP 1.1.1 ==========

BMP 下,根據 IRG N1401 和 IRG N1482 文件全面修改 PUA 區擴 D 撤字形(未收錄的自造)。將 Erebor / Klingon-pIqaD-HaSta / Tengwar Parmaite / Tengwar Parmaite Alt 字形補入 PUA。參照 AnnapurnaSILR Regular / Bangla / Eu-bz / fzletter / Musashimj Mincho NoIVS withEUDC / Noto Serif Kannada-Regular 優化字形。自行製作 URO+ 字形。

========== BMPi 1.0.0 / SMPi 1.0.0 / SIPi 1.0.0 ==========

BMP 下,參照 Klingon-pIqaD-Mandel / qomolangma-tsutong / 方正楷體 / ??? Regular 添加字形。

SMP 下,參照 new Tangut Std V2.004 添加字形。

SIP 下,參照 方正楷體-方正超大字符集 添加字形。

========== SIP 1.0.1 / SMPi 1.0.0 ==========

SIP 下,考慮到 Simsun-Ext B 字形錯漏過多,用 方正宋體-方正超大字符集 覆蓋。兼容擴展區考慮到存在與基本區及擴展 B 區相同的字形,參照 TW-Sung / TW-Sung-ExtB 優化字形。

========== BMP 1.2.0 / BMPi 1.1.0 / SMP 1.1.0 / SMPi 1.1.0 ==========

BMP 下,發現提取 PDF 字體黑科技後,參照 Bengali Telugu Kannada Vedic / BTC / Ever cyrillic / Ever greek / Fisc0100 Latin extended a / Fisc0180 Latin extended b / Fisc0250 Latin ipa modifiers / Fisc0300 Combining diacritics / Fisc2000 General punctuation / Fisc25A0 Geometric shapes / Padauk / Uni0590 Hebrew / Syriac Supplemental / Tms Math Pak7bttPF / Uni0A00 Gurmukhi / Uni0A80 Gujarati / Uni0B00 Oriya / Uni0C00 Telugu / Uni0C80 Kannada / Uni0D00 Malayalam / Uni0D80 Sinhala / Uni0E00 Thai / Uni0E80 Lao / Uni1700 Philippines / Uni1CD0 Vedic / Uni1D00 Phonetic extensions / Uni1E00 Latin extended additional / Uni2070 Superscripts / Uni2400 Control pictures / Uni2500 Boxdrawing / Uni2600 Miscsymbols / Uni2C00 Glagolitic / Uni2C60 Latin extended c / Uni2C80 Coptic / Uni2E00 Supplemental punctuation / UniA700 Modifier tone letters / UniA720 Latin extended d / UniA830 Indic Number Forms / UniA840 Phagspa / UniFA30 Cjk compat ideographs / UTCHan 20120730a / Zapf Dingbats Std 優化字形。

BMP 下,參照 BabelStone Bopomofo / Bengali Telugu Kannada Vedic / Noto Sans Canadian Aboriginal / Phoreus Cherokee / Uni0B80 Tamil / Uni0C80 Kannada / Uni0D00 Malayalam / Uni1950 Taile / Uni1A00 Buginese / Uni1B80 Sundanese / Uni1C00 Lepcha / Uni1CD0 Vedic / Uni2B00 Arrows 優化字形。

SMP 下,參照 NINJAL Kana Mincho / Ponomar Unicode TT / Skin Stipple / Symbols AW / TLG Post 4-0 / UCS Webdings / UCS Wingdings / Uni10000 Aegean / Uni10140 Ancient greek numbers / Uni10190 Ancient symbols / Uni101D0 Phaistos / Uni10280 Anatolian / Uni102E0 Coptic Numbers / Uni10300 Old italic / Uni10350 Oldpermic / Uni103A0 Old persian / Uni10400 Deseret / Uni10480 Osmanya / Uni104B0 Osage / Uni10500 Elbasan / Uni10600 Lineara / Uni10800 Cypriot syllabary / Uni10840 Aramaic / Uni10860 Palmyrene / Uni10880 Nabataean / Uni108E0 Hatran / Uni10920 Lydian / Uni10980 Meroitic / Uni10A00 Kharosthi / Uni10A60 Old south arabian / Uni10A80 Old north arabian / Uni10AC0 Manichaean / Uni10B00 Avestan / Uni10B40 Inscriparthian / Uni10B60 Inscripahlavi / Uni10B80 Psalter pahlavi / Uni10C80 Old hungarian / Uni10C00 Old Turkic / Uni10E60 Rumi numerals / Uni11000 Brahmi / Uni11080 Kaithi / Uni11100 Chakma / Uni11150 Mahajani / Uni11180 Sharada / Uni11200 Khojki / Uni11280 Multani / Uni112B0 Khudawadi / Uni11300 Grantha / Uni11400 Newar / Uni11480 Tirhuta / Uni11580 Siddham / Uni11600 Modi / Uni11660 Mongolian supplement / Uni11680 Takri / Uni11700 Ahom / Uni118A0 Warangciti / Uni11A00 Zanabazar Square / Uni11A50 Soyombo / Uni11AC0 Pau Cin Hau Alphabet / Uni11B90 Gondi / Uni11C00 Bhaiksuki / Uni12000 Cuneiform / Uni14400 Anatolian / Uni16A40 Mro / Uni16AD0 Bassavah / Uni16B00 Pahawh hmong / Uni16F00 Miao / Uni16FE0 Ideographic punct / Uni1B000 Historic kana / Uni1B170 Nushu / Uni1BC00 Duployan / Uni1D000 Byzantine music / Uni1D100 Musical symbols / Uni1D200 Ancient greek music / Uni1D300 Taixuanjing / Uni1D800 Sutton sign writing / Uni1E800 Mende / Uni1E900 Adlam / Uni1EE00 Arabic math symbols / Uni1F000 Mahjong / Uni1F030 Dominoes / Uni1F0A0 Playing cards / Uni1F100 Enclosed supplement / Uni1F300 Misc pictographics / Uni1F600 Emoticons / Uni1F650 Ornamental dingbats / Uni1F680 Transport / Uni1F700 Alchemical symbols / Uni1F800 Supplemental arrowsc / Uni1F900 Supsymbspicts / Unicode Emoji 優化字形。

SMP 下,參照 Uni10380 Ugaritic / Uni10450 Shavian / Uni112B0 Khudawadi / Uni1D300 Taixuanjing 優化字形。

========== BMP 1.2.1 / SMP 1.1.1 ==========

BMP 下,參照 Lao Pali Alpha-Extralight / Uni0C80 Kannada / Uni10A0 Georgian / Uni1CD0 Vedic / Uni2B00 Arrows / Uni2E00 Supplemental punctuation / UniA720 Latin extended d / UniAB30 Latin extended e 添加字形。

SMP 下,參照 DFAstroXSans / Kozuka Mincho Small Kana L / Nirmala UI / Source Emoji BnW / Specials UC6 / Uni11180 Sharada / Uni11A50 Soyombo / Uni16F00 Miao / Uni16FE0 Ideographic punct / Uni18800 Tangut Uni18B00 khitan small / Uni1B300 Shuishu / Uni1E100 Nyiakeng puachue hmong / Uni1E2C0 Wancho / Uni1F100 Enclosed supplement / Uni1F680 Transport / Uni1F900 Sup symbs picts / Uni1FA00 Chess symbols 添加字形。

出於版權問題不提供下載鏈接。關於 Unicode 字體的其他信息見 Font Contributors Acknowledgements。


推薦閱讀:

理論上一個位元組能不能表示一個漢字?
Python2.7 中文字元編碼,使用Unicode時,選擇什麼編碼格式?
用python模擬登錄知乎,爬回來的是亂碼?
在計算機中為何不直接使用UTF8編碼進行存儲,而要使用Unicode再轉換成UTF8?
Unicode 是不是只有兩個位元組,為什麼能表示超過 65536 個字元?

TAG:字體 | Unicode統一碼 |