truetype究竟能造多少字,造出的字有没有使用限制,可以随意使用么?

现在想知道truetype究竟能造多少字,造出的字有没有使用限制,可以随意使用么? 我们最近在做古籍数字化,已经在用unicode 、UTF-8 还有…
关注者
31
被浏览
12,962
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

首先例行膜古籍数字化从业人员。

  • Truetype 造字系统仅支持在 BMP(Basic Multilingual Plane)内添加字形,因而在 BMP 的限制下唯一合法的区块是 PUA(Private Use Area)区,码位为 U+E000 - U+F8FF,共 6400 字。
  • 显然,Unicode 并非仅含 BMP,在 SIP(Supplementary Ideographic Plane)中目前也已定义了 60859 字用于显示汉字,在题主供图中,⿰牛失位于扩展 B 区,⿰口知位于扩展 E 区,不必用自造字表示。(如果数据库仅支持 BMP 内字符则另谈)
  • 如果无法显示全部 SIP 内文字,可以选择安装天珩全字库V2.1.0(TH-Tshyn)
  • 相比电脑自带的 Truetype 造字系统,本人更推荐 Font CreatorFont Forge
  • 如若支持 SIP,则除 BMP 内的 PUA 区,在第 15 平面(SPUA-A,Supplementary Private Use Area-A)和第 16 平面(SPUA-B)各有 65534 个码位用于自造字。
  • 以 ttf(truetype)为后缀的字体,具有无法突破的 65535 字形的上限数。
  • 关于私用区所谓「使用限制」,意思是私用区中的码位是没有字形上的规范的,用户可以在此区编入任何字符。但用户所造的字仅存于自己电脑里由此生成的字体中,如若其他用户没有安装这个字体,便无法正常显示这些字。
  • 譬如,在 Unicode 刚刚起步之时,国标字符集内许多字符无法映射到 Unicode 中,于是这些字符便会被添入 PUA 中,如图中用于竖排文本的逗号和句号便分别位于 U+E78D 和 U+E78E,相当多的老字体都遵循这样的约定,也叫「国标硬点 PUA」。因而题主造字所用字体和宋体中同一码位字形不同是相当正常的,在显示过程中,只要码位和字体同时具备,自造的字形便能正确地显示。