今天来谈一下 Debian 桌面环境上默认中文字体的问题。
## 背景
字体问题一直是中文桌面的一个痛点。据我的了解,当前 Debian 默认的桌面环境中文字体(无衬线字体,即黑体)
是文泉驿正黑和文泉驿微米黑,具体体现在 tasksel 相关软件包的依赖/推荐关系上:
% apt rdepends fonts-wqy-zenhei
fonts-wqy-zenhei
Reverse Depends:
推荐: education-lang-zh-tw-desktop
推荐: task-chinese-t-desktop
推荐: task-chinese-s-desktop
-> % apt rdepends fonts-wqy-microhei
fonts-wqy-microhei
Reverse Depends:
推荐: education-lang-zh-tw-desktop
推荐: task-chinese-t-desktop
推荐: task-chinese-s-desktop
(与 tasksel 无关的软件包已被省略,ttf-wqy-* 的过渡包已检查且没有相关项)
同时可以注意到,task-chinese-{s,t}-desktop 同时推荐了 fonts-arphic-ukai 和 fonts-arphic-
uming。education-lang-zh-tw-desktop 同时推荐了 fonts-arphic-uming,这两个软件包分别提供了楷体和明体(即
宋体)的字体。
## 思源字体的加入
在 Stretch 开发周期内,当前由 czchen 维护的 fonts-noto-cjk 软件包进入了 Debian,并预期将与 Stretch 共同发
布。当前软件包内提供了思源黑体的字体,其版本号为 1:1.004+repack2-2。
自从发布以来,一部分普通用户有了使用思源黑体替代文泉驿字体的意愿。其原因一是思源字体开发较文泉驿系列
字体更为活跃,而是其覆盖的字形更加广泛,三是思源字体的屏幕显示效果较好。
据我个人的试用,思源黑体足以在日常桌面环境中替代文泉驿字体。使用过程中发现了一些存在的缺陷,
例如 Konsole 的字体高度问题 [1],默认字型选择的问题 [2],目前均已经在 unstable 中得到了修复。
近期项目还放出了思源宋体 [3],为 Linux 桌面的衬线字体又提供了一个良好的选项。目前 fonts-noto-cjk 字体软件包的
experimental 版本(1:1.004+repack3-1~exp1)已经包含了思源宋体字体以供测试。可以预期思源宋体字体在 Stretch 发布后
能进入 unstable。
## 切换默认字体的提议
基于以上状况,我有如下的几点提议:
1. 选用思源黑体作为 Debian 系统中文桌面环境上的默认无衬线字体。
1.1. 具体操作:将上述涉及的三个 task-chinese-* 软件包中的 fonts-wqy-zenhei, fonts-wqy-microhei 推
荐选项**删除**或是**移动**至建议(Suggests)区域,同时添加 fonts-noto-cjk 至软件包推荐(Recommends)区域。
2. 考虑使用思源宋体提供 Debian 系统中文环境上的默认衬线字体。
2.1. 具体操作:针对上述涉及的三个 task-chinese-* 软件包中的 fonts-arphic-uming 推荐项,考虑将其替换为思源宋体。
保留 fonts-arphic-ukai 的安装,但确保其 fontconfig 优先级低于思源宋体。
3. 对依赖文泉驿字体的软件包进行检查,在渲染效果有提升余地的情况下将其依赖替换为思源字体。
* 注意:由于添加思源宋体的具体方式尚未落实(被包含于 fonts-noto-cjk 中,或是单独成包),最后的具体操作仍需在
思源宋体进入 Debian unstable 后才能最终确定。
* 以上操作在 Debian Stretch (Debian 9) 发布后进行。
## 期望
希望能够了解中文社区(包括简体中文使用者和繁体/正体中文使用者)对这项提议的看法,并希望社区能对提议达成共识并落实在
Debian 中。就我个人而言,我希望社区至少能对第一点提议达成共识(即替换中文黑体字体与否)。
另外,我个人希望能有更多的自由的中文字体出现并在 Debian 中打包。具体来说,我希望已经出现在 texlive-lang-chinese 包中的
Fandol 系列字体 [4] 能设法为系统 fontconfig 所用,为用户提供使用黑体、楷体和宋体的新选项。
以上是我的一点看法,欢迎各类评论与建议。
--
Boyuan Yang
[1] https://bugs.debian.org/858584
[2] https://bugs.debian.org/854772
[3] https://source.typekit.com/source-han-serif/
[4] https://www.ctan.org/pkg/fandol
是这样的,黑体和宋体之间互相替换是不应该的。
就我个人的粗浅理解,中文/西文字体家族之间有这样的对应关系:
* Sans -- 无衬线字体 -- 黑体
* Serif -- 衬线字体 -- 宋体(明体)
* Monospace -- 等宽字体
* Cursive -- 手写体 -- 楷体
sans-serif 实际上还是 Sans。因此宋体和黑体之间不是替代关系,而是共存的。用户当然可以自由指定字体,
但是发行版提供的默认值是不应该随意替换的。
在 2017年5月2日星期二 CST 下午5:52:37,taozhijiang 写道:
> 能否歪个楼问一下,有没有英文和思源宋体的混合字体呢?
> 因为宋体的英文显示是很丑滴…… 而mac上面又修改不了渲染顺序
可以考虑微调自己的 fontconfig 配置,把期望的西文字体优先级调整为高于中文字体。
在 2017年5月2日星期二 CST 下午8:56:01,ChangZhuo Chen (陳昌倬) 写道:
> On Tue, May 02, 2017 at 05:19:38PM +0800, Boyuan Yang wrote:
> > ## 切换默认字体的提议
> >
> > 基于以上状况,我有如下的几点提议:
> > [...]
>
> No problem for me, but please help to check with other fonts
> maintainers.
Sure. I'll start the work after Stretch release so it won't be that urgent.
BTW There's a potential big problem with experimental fonts-noto-cjk:
fontconfig postinst trigger (fc-cache regeneration) would take even more time
to generate cache for **both** sans and serif fonts and freeze the computer.
Splitting binary packages might be a better choice.
在 2017年5月2日星期二 CST 下午5:44:46,Tong Hui 写道:
> 从我个人的使用来看,目前已经没有依赖文泉驿字体的软件包了,之前发现某一个 WINE 的软件还在依赖,但是可以很容易修改。
很遗憾依赖的软件还是有的:
% apt rdepends fonts-wqy-zenhei
fonts-wqy-zenhei
Reverse Depends:
依赖: ttf-wqy-zenhei
推荐: education-lang-zh-tw-desktop
依赖: megaglest
依赖: mediawiki2latex
推荐: task-chinese-t-desktop
推荐: task-chinese-s-desktop
依赖: megaglest
-> % apt rdepends fonts-wqy-microhei
fonts-wqy-microhei
Reverse Depends:
依赖: ttf-wqy-microhei
推荐: education-lang-zh-tw-desktop
推荐: manaplus-data
依赖: widelands
推荐: task-chinese-t-desktop
推荐: task-chinese-s-desktop
建议: neverball-common
依赖: marsshooter
推荐: manaplus-data
> 同时也希望基于 GPLv3 的 Fandol 系列字体可以被系统使用,这样加入了思源系列和 Fandol 系列中文字体以后,很多用 Latex
> 写论文的朋友就不需要从 Windows 下面再转移字体了。
这个问题可能会比较大。我对 Debian 字体方面的政策不是很熟悉, texlive 的字体是否能为系统 fontconfig 所用,
又该如何使用,这个我还没研究过也没听说过先例,重新打包一份又会导致重复。另外字体是否需要从源代码开始
构建也不清楚(思源黑体并没有从源代码开始构建,也许这个违背了 Debian Policy 也说不定)。
--
Boyuan Yang
On Tue, May 2, 2017 at 10:39 PM, ChangZhuo Chen (陳昌倬) <czc...@debian.org> wrote:
> As for fonts-noto-cjk, Google does not provide anything other than font
> files themselves.
FYI, Adobe release them with CID[1] sources, see
https://github.com/adobe-fonts/source-han-sans
Adobe "Source Han Sans" is same as Google "Noto Sans CJK", just two
brands for the two companies.
This also applies to serif font.
As for Fandol fonts, only font files, see
https://github.com/clerkma/ptex-ng-dist/tree/master/share/fonts/opentype
For me, I have no objection to use the OTF/TTF font files as the source.
[1] https://fontforge.github.io/fontview.html#CID
--
Regards,
Shengjing Zhu
第一部分正在进行: https://bugs.debian.org/861934
待下一次 tasksel 上传软件包即可。但据 tasksel 维护者的建议,由于 Suggests 并没有实际作用,故选择删除原有文泉驿字体的推荐项。
第二部分仍待研究,重点是关于 fontconfig 默认优先级的问题需要解决。欢迎测试并提出具体实施建议。
--
Boyuan Yang