【LinkzeroTsang的回答(21票)】: 应 @梁海 所邀自问自答。这个问题和答案的目的,是尝试回答关于使用思源黑体 (Source Han Sans) 时出现的与字形相关的一些问题,并用于将类似问题重定向到此。写得有点冗长,希望不会影响理解。 ------ 在 Adobe 为思源黑体设立的 SourceForge 页面中 (Source Han Sans),提供了 SourceHanSansCN, JP, KR, TWHK, OTF, OTC 六个版本的字体文件。思源黑体是一个「泛 CJK」字体。中、日、韩各地的汉字在多年演变中,同一个字会衍生出不同的写法。比如「门」字就是一个写法差异较大的汉字。思源黑体提供多个版本的目的,就是为不同地区提供符合当地惯用字形写法的字体。 ------ 一、地区子集 (Regional Subsets) 版本 比如,CN 版本对应的是中国大陆的汉字写法,JP 版本对应的是日本的写法,KR 对应的是韩国的写法。其中要注意的是,TWHK 版本使用的字形,是遵照台湾教育部发布的「国字标准字体」写法,因此与市面上其他一些繁体中文字体的写法亦有区别。 这些地区子集字体 (Regional Subsets) 的字符数比后面提到的 OTF 版要少,比如 CN 版本的字符数是 30,888. 但是这并不意味着这个版本在使用时会出现「缺字」现象,因为与 OTF 版相比,缺少的字符是同一汉字在其他地区的写法。 二、多语言 OTF 版本 Adobe 官方将 OTF 版本的思源黑体称为 “Multilingual OTF”. 这个版本的字体名称中没有如「思源黑体 CN」中的后缀,在中文操作系统里,字体名称就是 Source Han Sans. 此版本的思源黑体包含了所有地区写法的字形 (字符数为 65,535),在支持 OpenType 'locl' 特性的程序中,比如 InDesign, 可以选择文本使用的语言,从而使用对应地区写法的字形。应当注意的是,在不支持上述特性的程序中,这个版本的字体默认使用日本字形,同时在操作系统中分类为日文字体。OTF 这个版本缩写并不意味着只有这个版本的思源黑体格式是 OTF ,所有版本的思源黑体的文件格式 都是 OTF. 三、OTC 版本 OTC 版本是将四个地区的字体集中到一个 OTC (OpenType Collection) 文件中。与分区子集不同的是,OTC 版中,每个地区字体的字形数和 Multilingual OTF 的一样,是 65,535 个,只是默认写法不同。比如其中的 SC 实例在不支持 OpenType 'locl' 特性的程序中,默认的字形就是大陆字形。其他依此类推。而在支持 OpenType 'locl' 特性的程序中,OTC 版的字体同样可以根据所选语言自动应用对应地区的写法。 OTC 尚未得到广泛支持,所以在 Windows 中以及低于 10.8 的 OS X 中不能使用。同时,使用 OTC 需要 CS 6 及以上版本的 Adobe 软件。 ------ 在使用思源黑体时出现字形「不正确」等问题,通常都是因为使用了不合适的地区版本。比如这个问题 (思源黑体 (Source Han Sans) 中,「门」的字形为何与大陆写法不同?) 应该就是使用了 Multilingual OTFs 或是 JP 版的思源黑体。 至于如何选择合适的版本,可参考思源黑体的官方页面 (Source Han Sans / Home / Home) 中的流程图。对于大陆地区的一般用户而言,SourceHanSansCN 这个版本的字体能够满足界面字体、一般排版等需求了。而使用 InDesign、具有多语言排版要求的用户,则可以使用 OTF 或 OTC 版本。在不支持多语言功能的程序中,要进行多语言排版,则要安装所要用语言的地区子集。 P.S.: 「旧字形」爱好者想将思源黑体用于界面,不妨尝试 JP 版或 KR 版。TWHK 所用的「国字标准字体」写法与「旧字形」有差别——虽然 JP 版或 KR 版有一些字的写法也会显得奇怪。 ------ 请 @梁海 看一下有什么错漏吧。 【梁海的回答(7票)】: 首先请直接去看 Linkzero Tsang 的答案。若没有鉴别正误的能力,忽略冰海的答案即可。 我的这篇答案完全是为了中和冰海的误导,不必赞同。 首先,三版封装形式的官方名称及我们常用的简称分别是:
冰海的答案搞错了最关键的几个问题。实际情况是:
冰海这段看起来颇有把握的文字完全是他自己幻想的: 至于繁体中文思源黑体在GitHub目前暂时用TC取代TWHK标记的原因,说错话没有任何问题,但明知自己能力不足还在那儿满篇废话,或者自己出错了别人来纠正还厚着脸皮给自己找各种台阶还把自己的愚蠢推到别人身上反过来侮辱别人,这种就是自找鄙视。 真正欢迎别人指正而且别人指出问题后会用心思考自己错在哪里的然后尽快改正人根本就不屑于去演「欢迎……指正,哪怕指着鼻子指正、那也欢迎」这样做作又中二的戏。 希望我写出这篇答案后他不要又摆出一幅「我早就知道你会这么做,你就是故意让我出错然后给你带来快感」的影帝嘴脸。 我写出上面的答案是因为比人多看了些什么吗?是的。但即使不多看那些,只要自己不要臆想,别把自己臆想的东西轻易写出来,即使实在想写出来也在文字中写明自己有多么没把握,那就不会满口胡言。 Noto Sans CJK 那边的命名我不了解。 【冰海的回答(2票)】: 本答案欢迎除梁海以外的其他任何人指正。 至于为什么?你看 @Linkzero Tsang 和 @厉向晨 他们发现问题时光指正就好, 你看你晒什么优越感呢?晒三小啊?和你一样懂字体技术的人那么多、怎就你瘮人蛋呢? 你口中所说的那些影帝贱招都是我第一次用、就用在你身上, 那段时间我忍著被Yolfilm拉黑想寻求你在「反STHeiti垄断」这方面的合作, 不这样演的话早就被你气死了。你这人就欠砍。 =====正文===== 个人能力所限、只能说自己在回答这个问题时所知道的, 但个人在初始答题时、并不活该知道任何你们认为我活该知道的东西。 你们只有明确告诉我说这答案「有什么缺陷、要怎么改」了、我才会知道怎么改。 依题主所枚举的字体分类而言,其实只需归为四类封装、四地笔划标准来讨论。 SourceForce官方发布页面内能下载到的字体只有前三种封裝: 第四种封装我会在答案的末尾进行说明。 咱们先从四地笔划标准来看,雖是四地笔划标准,却有八种形式:
各地标准笔划不同,ADOBE优先遵守在地当局制定的最新官方规范。 接下来说说大家可能拿到的三类封装包(以SourceForge为例):Source Han Sans 一、Region-specific Subset OpenType/CFF (OTF) 也就是散装包,对应 【1】 【3】 【5】 【7】四种形式: 上面这四个包是散装的OTF档案,每个字重、每个语言的字体都是一个单独的OTF档案。 所以,这四个包总共有4*7=28个OTF档案。 不要指望这散装包里面的字体支持其各自区域以外的汉字显示是否正常。 二、Multilingual OpenType/CFF (OTF) 这是两种集合封装之一: 这个包的内容见下图: 这些OTF档案每个字重都同时包括了简繁日韩四地的汉字,这些OTF档案每个字重都同时包括了简繁日韩四地的汉字, 但这些OTF档案在不通过特殊手段指定显示语言的时候、 预设情况下优先以日本语规范来显示汉字(类似 Arial Unicode MS), 且在系统的字体簿当中只显示为「SourceHanSans」这一套字体、 并未依照语系分散成多套字体来显示、供用户选择(只能依赖OpenType的某些特性)。 这种单字体封装档案有个优势:以「绝对不会出现汉字缺字的现象」为设计目的。 (可以在切换到繁体中文或日文之后、藉由字体簿用这个字体显示简体中文文本试试看) 我看SourceForge下载这个版本的人最多… 但是、除去日本语使用者以外,真正懂得驾驭这种格式的字体的人又有多少呢? 他们该下载的是下面这个(不要给 Windows 用,Windows 目前用不了): 三、OpenType/CFF Collection (OTC) SourceHanSansOTC-1.000.zip 这个包的内容见下图: 这套OTC字体和上面OTF字体不同,它虽然也是集合封装、这套OTC字体和上面OTF字体不同,它虽然也是集合封装、 但它在系统的字体簿当中会显示为四套字体,对应 【2】 【4】 【6】 【8】四种形式, 这样一来,用户不但可以藉由多字体选择的方式自由选择自己想要的语系字形风格, 而且、无论选哪一样、都能正常显示全部的65535个汉字。 四、Region-specific Subset OpenType/CFF (OTF) with ALL-Glyph compatibility 这是第四种封装,不在SourceForge提供, 我目前只知道可以從GitHub下载(被Adobe官方用作第三种封装的编译备用形式): 这种封装和第一种封装类似、但其封装内容却是 【2】 【4】 【6】 【8】四种形式, 这就意味著这第四套散装字体都支持其各自区域以外的汉字显示。 建议所有 Windows 用户安装这个版本。 个人在字体技术方面了解不多,各位可以再看看 @Linkzero Tsang 的答案。 原文地址:知乎 |
|