字体探索・二

时隔许久写了第二篇。

其实也没啥干货(毕竟也没怎么琢磨没怎么学习)。

我们在使用电脑、手机时,经常会遇到“乱码”。为什么会有“乱码”呢?几个方面的原因:

  1. 文件破损,无法正常读取

  2. 文件正常,打开的解码方式错误

  3. 文件正常,解码方式也正常,但是你的字体文件中没有这个字,导致软件只能显示“豆腐块”

文件破损不需要什么解释。解码方式错误是什么意思呢?

众所周知,电子产品保存文字,是用二进制来保存的。那么一个二进制值是怎么对应到具体的一个文字呢?没错,问题就在这里,文字和二进制值的对应关系有很多种,如果使用对应关系A来把文字保存为二进制值,在用对应关系B来把二进制转换为文字,那么就会得到错误的文字。如果刚好得到常用文字,那么就可以得到一段狗屁不通的话。如果刚好有二进制值刚好对应了生僻字、或者特殊符号,就会得到乱码或者空格。

再来讲讲第三种,字体文件没有这个字。抛开其他语言不提,世界上有多少汉字呢?很多人其实并没有这个概念。

我国 1980年颁布了《信息交换用汉字编码字符集–基本集》的国标交换码,国家标准号为:GB2312-80,选入了6763个汉字,分为两级,一级字库中有3755个,是常用汉字,二级字库中有3008个,是次常用汉字。 但是遇到“镕、啰、瞭、袆、祎、曌、赟、贇、鱻、驫、犇……”等汉字,既无法输入,又不能打印。为解决字数过少的问题,在1995年和2000年又先后发布了GBK和GB18030国标码。GBK编码方案收录汉字21003个,GB18030则更多。 GB 18030-2005共收录汉字70,244个。

但是这仍然不是全部汉字。在Unicode标准中,汉字数量已经高达92844,目前仍然在修订增加中。为数量这么庞大的汉字做字体,工作量是巨大的,也是不现实的。下图是MIUI的字体分类,按照文字数量统计,所谓大字库也只是覆盖1-2万文字。事实上,大量个性化字体连GB2312的六千汉字都不能完全覆盖。

在不同软件、不同位置,对字体的支持也不尽相同。截图中的搜索框内显示无字体支持的汉字为黑色方块,搜索历史中展示为白色方块。

而在图示软件中,由于调用了预设的外部字体,显示出了这个汉字。

调用的这个字体TH-Feon就是我今天要讲的, 天珩字库

天珩字库http://cheonhyeong.com/Simplified/download.html

天珩字库是目前字符数量最全的字体支持包,其中汉字部分支持14余万,主要设计为大陆风格。另外本字库有Unicode13.0以内的所有字符,包括但不限于表情符号(黑白色)。字形来自 中易、华康、Iwata、Besta、方正等版权方,个人使用没什么问题,但是商用不行。

关于天珩字库,可以看看这个:

如果你打开了天珩字库的下载页面,还能看到另一个有意思的东西,两分输入法。

两分输入法把复杂汉字拆解为两部分。通过输入两部分的拼音,就可以几乎没有学习成本地输入复杂汉字。

比如上边举例的汉字你不认识,可以输入“zuoxi”得到候选词𰏌。

那么有没有左边是左,右边是右的字呢?大概是没有的。

那有没有办法方便地造出这么一个字呢?答案是有的:

Windows内置了一个“专用字符编辑程序”,简称EUDC。但是显而易见,这是一个基于像素点阵的绘图工具,并不容易操作。

有没有更方便的工具呢?字统网提供了这个功能:

除了直接导出png/svg,还提供微调功能。

那么最终这个创造出来的字,能够以文字而不是图片的方式显示出来嘛?

答案是可以,那就是自己创造一套字体,包含这个字形。但是问题来了:怎么为这个新字形进行编码呢?如果这个字的编码占用了其他字的编码,那么其他字就无法正常显示了。

Unicode已经预设了解决方案,那就是PUA 私人使用区(Private Use Areas)。

但是值得注意的是,私人使用区字符的分配,并不是由字面意义上的私人决定;一些组织已经发布了一些分配计划。 私人使用区的订定只是权宜之计,让尚无统一码标准之前的字符可以临时使用。若日后被官方正式收录,那该从补充字应被剔除,移入正式字区。空下的码位被回收利用,再定义为其他新的补充字。

但是总的来说,占用PUA字符基本不会产生严重的后果。

注意在页面右侧,有一个单词 IDS。IDS是Ideographic Description Sequences的缩写,通俗的讲就是通过表达式来描述一个字是怎么组成的,有点意思。

从收录单字字数和准确性上讲,群友颇为推崇《中华字海》。

汇整一下在线汉字工具书(毫无疑问,免费,但是全部没有官方背景):

  1. 国学大师网,号称 【史上最强】可查20万字,60大工具书一网打尽(版权问题可能比较大) 汉语字典_汉字宝典_新华字典网页版_在线新华字典_汉语字典下载_新华字典电子版

  2. 叶典,收字13.5万(12.7万释义) http://yedict.com/

  3. 汉典,算是广为人知了吧。資料主要來源為王同億《高級漢語詞典》台湾教育部《重編國語辭典修訂本》清·康熙武英殿版本《康熙字典》清·陈昌治刻本《说文解字》。https://www.zdic.net/

先写在印象笔记里,然后直接复制粘贴过来了。如果图片看不到就点开链接看吧。

https://app.yinxiang.com/fx/52fe2b36-d2ce-457b-81c6-017e578676b1

7 个赞