
2018 年更新:
汉仪旗黑的编码问题已在 2017 年完全修复。
本答案因失去时效性而不再有意义。
昨天汉仪旗黑全字重发布了。作为粉丝,第一时间在淘宝店拍了下来。拿到字体后,看到写着 otf 扩展名的字体,的确很激动,但随即用 FontForge 查看了一下,很快发现了一些字符编码上的问题:
所有字体文件,无论 S 版还是 W 版还是简繁版,都被标记成了「Adobe-GB1-1」,这是很不负责任的行为,或者说汉仪内部完全没有按照 CID 字体规范编码,只是把 CID 字体当作一种营销噱头来炒作罢了。且不说 S 版应该标记成「Adobe-GB1-4」,目前最大的问题在于没有一个字体是按照 Adobe 提供的 CID 顺序做下来的,这就导致 FontForge 或其他应用在加载配套的规范 cidmap 之后,整个映射表会全部乱套。如果汉仪不想按照 Adobe-GB1 规范制作,那么完全可以像思源黑体一样,将字体标记为「Adobe-Identity-0」,表示字体使用自定义编码。一旦将字体标记为「Adobe-GB1-x」,就必须严格按照 Adobe 提供的规范来编码。
(以汉仪旗黑 105 简繁为例,可以看到图中的编码全是错的。)
这是目前汉仪旗黑最严重的问题。
参考资料
1. Adobe-GB1-5 规范(英文):http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5079.Adobe-GB1-5.pdf
2. Adobe 公开的规范 CMap 资源:http://sourceforge.net/adobe/cmap/
3. AFDKO(利用 Adobe CMap 资源编译规范 CID 字体套件):Adobe Font Development Kit for OpenType
