今后我不再做冬青和苹方的字体修改包


本文会讲清楚我做这个决定的理由, 请务必看完全文; 文末会提及 「其他人准备接手这类差事时」的注意事项 、以及 对康熙旧字形用户的交代 。
注:本文和冬青黑体自身缺陷有关的内容可能已经过期…梁海已经给出了冬青黑体简体中文假名浊点问题的全新解决思路。
我不想替不成熟的商业产品及其缺陷擦屁股背黑锅。
一张图总结本文内容概要:
▍苹方相关
OS X El Capitan 同一个系统字族会有 用于系统用途的隐藏版本 和 用于其他用途(非系统相关的 GUI 显示、以及网页正文)的非隐藏 版本,而 苹方目前只完成了前者 。
眼下,苹方的繁体版仍旧存在着一些待解决的 Bug:
-
明明所有简化字的 Glyphs 都做出来了,但却没有映射上…导致这个字体目前仍旧无法显示简化字。
- 字形标准还需要继续修正。
目前 尚未有证据证明简体版苹方已经「完工」 ,我只能说我 还没发现 Bug(因为没在用)。况且,如果真正完工的话,「黑体-简/繁」就没有任何理由在 DefaultFontFallbacks.plist 当中继续担当非系统相关的 GUI 字体了(我曾就此当 Bug 提报过,被 OS X 团队告知「It behaves as intended」)。
当且仅当官方宣告该字体完工时(多半会是在公测时期、或系统正式版问世),Apple 就不会且不应该再有理由将「黑体-简/繁」规划为系统字体。到了那个时候,我可能会针对 El Capitan 做些什么…完全根据那时候的情况而定。
但是,一旦 El Capitan 正式发布,大家便再无理由使用 Yosemite 了 。
因此,哪怕苹方正式版问世,为 Yosemite 制作苹方修改包的行为也了无意义。
▍冬青相关
冬青黑体简体中文 目前荣升为 El Capitan 日文系统介面的 二级 CJK 回退字体 。至于该介面的 一级 CJK 回退字体,则自然是 冬青黑体日文 ProN 。
但 冬青黑体简体中文并未完全继承 冬青黑体日文 ProN 的诸多 OpenType 特性 。这引发了一些潜在的问题…当中就包括了假名浊点问题:
该问题仅从冬青黑体简中回退到冬青黑体日文时才会被触发,反之则不会触发。
知乎有其他两位用户就此问题的看法分别如下(不在同一个对话场合):
鉴于
冬青黑体简体中文
在未来几年内应该不太可能被 Apple 选为
中文语系介面的
一级 CJK 回退字体,想必 Apple 也缺乏解决这个问题的动力与理由。
还有一种简单粗暴的方法就是直接移除冬青黑体简体中文当中和假名有关的全部 Glyph,但这在某些无法使用字体回退的应用当中将无法满足需要中日混排的场合。
还有行高问题…冬青黑体简体中文版和日文版的 Ascender / Descender / LineGap 全部雷同,但冬青黑体日文版在 被 Apple 官方用做系统介面字体 时就没有「行高过高、撑坏 Finder 文本输入介面元素」的现象,推测还是 OpenType 特性的问题…梁海只是给 LineGap 改个数,只能算是 Workaround、且无法回避 CoreText 对 LineGap 处理失当的毛病(OS X El Capitan 系统无此问题);依照我此前的主张、将 LineGap 清零的话,能回避 CoreText 的这个毛病,却仍旧是 Workaround。
看到这里,我是觉得彻底累了,于是冬青黑体还是算了吧,我不想给冬青擦屁股。
如果说「可惜」的话, 冬青黑体能将自身的喇叭口设计得刚刚好、变成自己的优势,使得其喇叭口在数位时代仍旧可以发挥正面作用 ;而同期国内大厂的传统黑体(比如华文黑体、方正黑体、中易「黑体」,这些都是指产品名称)的喇叭口都是铅字时代的产物,都没有精修,反而妨害了这些字体在数位萤幕上的易识度。 喇叭口生来就是为黑体的方正感化妆而生的,而好的化妆必须是不能让别人看出来「这是化妆」 。
▍对商业产品的无奈与担忧
冬青黑体和苹方都是商业版权字体,在发现问题时无法像思源黑体那样「可以立刻找官方 GitHub 提报问题、且与官方维护人员就此进行高效的具体交流」、只能听天由命;写给 Apple 的 BugReport 的话,人家还要看相关修正对他们而言是否显得多余…且他们在找字体厂商修问题时还要和字体厂商达成共识(冬青黑体简体中文是直接从大日本网屏购买而来的产品、而非 Apple 找他们订做的产品)。
再者,我是用 GitHub 管理我的字体修改套件的,在 GitHub 寄存冬青黑体简体中文、没被大日本网屏找 GitHub 投诉,只能算是出于侥幸;但,如果连苹方的字体修改套件也寄存在 GitHub 的话…我就讲个先例:Wells Riley 曾经拿 Apple WATCH 的 San Francisco 字体改到 Yosemite 系统内、用做系统介面字体,还将这专案寄存在 GitHub…结果 Apple 一封律师函直接使他这 GitHub Repo 被查封了。我也不想因为这原因害得我这 Repo 被查封,毕竟苹方的版权在 Apple 手中。
▍继任者们所需要注意的事情
我就知道肯定会有其他人要将苹方改给 Yosemite 当作介面字体来用。
我就强调这几点注意事项 :
- 系统介面所用 的字体 必须 在「/Library/Fonts/」或「/System/Library/Fonts/」 目录 下 。 对苹方而言、我郑重推荐 放在「/System/Library/Fonts/」目录当中。
- 用做系统介面字体的字体档案, 只能在系统当中安装一份 。
- 系统介面字体 ,与 和字体回退配置有关的两个 plist 档案 , 均需将权限严格设定为: 「root:wheel 644」 ,你设 755 都不可以。
-
只要是档案权限不对、或是档案位置不对,就会
:
- 须知 Yosemite 系统有 CoreText 问题…除了「 CoreText 理应逐字检查字体回退必要性 」这篇提到的以外、还有对 LineGap 处理不当的问题。在咱们不清楚一个字体的 OTF 特性的时候,最佳的 Workaround 就是将 HHEA 表的 LineGap 改成 0。 假定你们在改苹方的话,HHEA 表的 Ascender 和 Descender 还可以考虑改成「1000, -234 」,应该不会出现行高过高的问题。 (我可能会在之后和官方提议、劝他们引入这个修改;OS/2 表暂时不用改)
-
DefaultFontFallback.plist 的
「sans-serif」和「monospace」这两节
当中,指定字体 PostScript 名称时,如果指定给持「以西文小数点开头的 PostScript 名称」的字体的话,会使诸如 Word 2016 等常见应用的某些介面元素的汉字全部都无法正常显示。
要想将苹方改给 Yosemite 当作系统介面字体用,上述这几条 缺一不可 。
▍对康熙旧字形用户的交代
我会想办法找人帮忙订做康熙旧字形版本的思源黑体(可能会借用 JayNFS 修改的版本),以上。
# EOF