解决英文版Windows中中文字体难看的问题

在英文版Windows中默认字体一般都是Segoe UI、Tahoma、Microsoft Sans Serif之类,这些字体都是没有中文字库的,所以当需要显示中文字体的时候,就会出现各种难看的文字效果,例如:

解决方法是使用“字体链接(FontLink)”技术:就是在使用英文字体时,如果遇到这种字体中没有的字符,就会到注册表相应的位置去找它链接的字体。

Continue reading “解决英文版Windows中中文字体难看的问题”

WIN10 Edge CSS 任意字体设置完成(TamperMonkey版本)

由于 Edge 本身的限制,导致 TamperMonkey 默认情况下调用 CSS 会出现错误和不完整的字体显示

所以我针对 Edge 重新编写了 CSS,改善了 Edge 下 TamperMonkey 的调用 CSS 的使用体验

这个样式主要使用了 @font-face 方式调用字体,也适合 chrome 和 firefox 使用,基本杜绝了乱码

Continue reading “WIN10 Edge CSS 任意字体设置完成(TamperMonkey版本)”

Ubuntu 安裝思源字體

打自 Google 推出 思源 CJK 字體 (noto) 之後,我第一天就裝起來玩了。用了一陣子之後覺得真是不錯,即使字體設小,也是相當清析。不過我看不慣它的英文字型,太寬了點。最好的解決方案是英文和中文可以指定不同字型,別的系統可能做不到,但 Linux 就是什麼都能客製,難不倒它。

Continue reading “Ubuntu 安裝思源字體”

寻找最美的字:一次关于“字体”的太空漫游

by 令狐磊
0被认为是人类第一部真正意义的太空电影的《2001太空慢游》在1968年开拍的时候,大导演库布里克已经为此准备了五年时间,为了让电影里面出现的内容都看上去都像是“未来的2001年”里的风格,电影的小说作者克拉克曾说“这电影的设计精妙到会让整整一代航空工程师按照影片的设计风格来设计航天飞机”。

 

库布里克其中一个看上去并不那么重要的项目,就是去找寻影片以及宣传海报物料所使用的字体,这部太空科幻片的时间要设定在21世纪的第一年,在1960年代看来,这是未来的想象力,事实上,那年代的未来主义设计方兴未艾,库布里克可以选择无限。或者是1960年代的时装杂志最爱的Firmin Didot。

 

Continue reading “寻找最美的字:一次关于“字体”的太空漫游”

隆重介绍 思源黑体:一款Pan-CJK 开源字体

Adobe 与合作伙伴 Google 很高兴地宣布推出 思源黑体,这是一款新的供桌面使用的开源 Pan-CJK 字体家族,现已在 Typekit 上推出。如果您没有 Typekit 帐户,可以轻松设置一个,然后就能够通过我们提供的免费订阅立即使用该字体了。如果您想要使用原始源文件,可以通过我们 SourceForge上的下载页面获取。

思源黑体 这一字体家族有七种字体粗细,完全支持日文、韩文、繁体中文和简体中文,这些全部都包含在一种字体中。它还包括来自我们颇受欢迎的 Source Sans字体家族的拉丁文、希腊文和西里尔文字形。总的来说,字体家族里的每种字体粗细总共有 65,535个字形(OpenType 格式支持的最大上限),而整个字体家族的字形个数接近50万。这个字体家族是通过开源方式提供的,,数量、开发规模和价值之大堪称史上之最,这使它成为需要支持多种语言的字体的设计人员、开发人员和普通用户的零成本解决方案。Adobe 正在通过数字体验改变世界,而通过社区分发 思源黑体 是我们推进这一愿景的另一途径。

Continue reading “隆重介绍 思源黑体:一款Pan-CJK 开源字体”

调整 Thunderbird 邮件主题和正文的字体、字号,修正中文显示乱码

问题

如果你在使用 Thunderbird 遇到了如下问题之一,则本文对你或有帮助。

(1)收件箱等邮件列表栏,邮件标题字体太小(默认8磅);

(2)中文显示效果不好。如“路径”在主题和正文中都被显示为,还有很多邮件主题中的中文字符显示为乱码。

Continue reading “调整 Thunderbird 邮件主题和正文的字体、字号,修正中文显示乱码”

汉字中的“斜体”

在西文语境下,我们要在一句话中突出表示一个词,或者一句引语,按惯例往往采用斜体1。比如:I love you。随着计算机时代的到来,几乎所有文字处理软件,都内建了“斜体”这个功能。然而,崛起于西方世界的计算机科学,似乎从未考虑过东亚地区文字(CJK)的书写风格和历史习惯。在我们的的书写历史上,从未正式出现过使用意大利体来强调某个词语或者某句引语。由于汉字中并没有斜体,我们的文字处理软件中的“斜体”汉字,都是对正体字作倾斜变换后得到的伪斜体2

作为一个广为人知的误解,人们常常认为「斜体」就是「基准线向右倾斜的字体」,其实不然3。「斜体」特指为了加快书写速度而字母略微向右倾斜的一种手写书法风格,而「基准线向右倾斜的字体」,即上面提到的「伪斜体」,仅仅是对罗马体西文字母做向右倾斜变换。

Donald Knuth在他的著作The TeXbook中写道:

Slanted type is essentially the same as roman, but the letters are slightly skewed, while the letters in italic type are drawn in a different style. (p. 13) [My emphasis]

那么根据这个定义,中文字体中是否有对应于西文斜体的风格?在我看来,答案是肯定的。我们定义一个西文字体是不是斜体,最主要看是不是有手写风格在里面。换句话说,我们要寻找的是一种用不同风格书写的书法字体。在中文语境中,一个最为广泛使用,且满足上述条件的候选字就是:楷体

现代浏览器对于<em>标签的默认样式仍然使用西文斜体,这显然没有考虑到东亚地区的文化传统。由于汉字字体没有斜体风格,浏览器对汉字做倾斜变换。这种汉字“伪斜体”即没有意义,也不具有任何观赏性可言。借助CSS,我们可以在中文语境下使用楷体表强调,而在西文语境下仍然使用斜体:

1
2
3
4
5
6
7
@font-face {
  font-family: "Emphasis";
  src: local("HoeflerText-Italic"),
       local("Georgia Italic");
  font-style: normal;
  font-weight: normal;
}

上述片段使用@font-face指定访问者本地的Hoefler Text Italic或备用方案Georgia Italic(Web安全字体)为Emphasis罗马体,这样我们在其他CSS规则的font-family中引用Emphasis这个名称,将斜体当做罗马正体来使用。

<em>标签指定CSS规则如下:

1
2
3
4
em {
  font-family: "Emphasis", STKaiti, Kai, Kaiti, serif;
  font-style: normal;
}

效果:

ibdEYz1iVJvhZS

参考

  1. CJK characters
  2. Roman与Italic的故事
  3. What are Italics?

注释

  1. 即italic体,准确的翻译应该是“意大利体”。
  2. 即slanted体或oblique体。
  3. “斜体”不一定是斜的:关于Italic的补充

中文引号之争与中文字体排印的未来

关于中文引号的话题这两天在知乎上又火爆起来了。夏晓昊君对于提问时引号使用规范的发问,引发了热烈一词不足以形容的盛况。这场争论最终以知乎团队强制要求提问时使用直角引号(「」和『』)收尾。显然,讨厌这个结果的人远远多于喜欢的。

我一直主张使用直角引号,甚至还专门写过文章。由于标点符号是一般人不会关心的领域,我想解释一下为什么我会对它有兴趣。

我的工作是做电子书。我们做的电子书支持 iOS 和 Android。最初做 iOS 版时,我们发现 iOS 系统中内建的简体中文字体只有一种,质素并不出众,于是买了一套专门的字体,将这套字体文件打包到 app 里。

这带来了许多不便。中文字体文件的体积是西文字体文件的数倍,而一旦读者开启了我们的 app,字体文件有多大就要占据多大的内存空间。随着移动设备的内存不断增加,这一问题的影响在未来会越来越小。但在当时还是带来了额外的开发成本。此外,字体的授权费也是真金白银。不过我们还是选择付出这些代价,因为想让大家尽可能开心地阅读。

背后的问题是:为什么 iOS 系统里面只有一种简体中文字体?而且还是黑体?走进任何一家纸质书店,我们会发现大部分书的正文均以宋体排印。而 iOS 系统直到如今(iOS 6.0.1)都只有「华文黑体」这一套简中字体供开发者使用。相比之下,日文的待遇就好得多。从 iOS 3 开始,系统就预装了一套日文黑体(日人称之为 Gothic 体)和一套日文宋体(日人称之为「明朝体」)。换言之,日本的电子书开发者可以自由使用这两种字体,与此相关的开发成本大大减少。

我不知道苹果为什么不更早将宋体纳入 iOS 系统中。在 iOS 5 的某个版本里已经出现了新的三套中文字体:一为宋、一为楷、一为仿宋。不过这三套字体至今都未正式开放给第三方开发者(例如我们)使用。或许苹果认为这些字体还未臻成熟,或许有其它原因,此处不去揣测。

可以确定的是:一个国家的字体业越发达,高品质的字体越多,作为外国公司(例如苹果)的选择也越多。中文字体设计远远落后于日本,为不争之事实。若我们作为中国人希望未来有更好的中文字体可用,唯一办法是自己做出一套套更好的中文字体。

标点也是一样。

* * *
 

字体设计与字体排印(typography)是两个不同的领域。此二领域在中国的共性即为「落后」。我们有自己的国家标准,但,设计师社群对于中文排版的哀叹声不绝于耳,对日本排版之典雅高超羡慕非常。显然,大家对现状并不满意。

对于不满意的事情,抱怨是无济于事的。我们必须身体力行。对于标点、字体、排版规则,我们可以且应该重新思考,并做出自己的选择。

有很多人在这样做了。例如我们看到字体设计师厉向晨先生坚持在中文里使用半角标点以及英文句号(.),也看到网上各处都有网页中文竖排的努力。这些实验性的尝试不一定合乎每个人的口味,但对它们报以讥讽、嘲笑、犬儒的态度,显然无益于中文字体与中文字体排印的进步。

在知乎的讨论里我注意到一种观点:对通行规范的改变应采取由上至下的方式进行。即,主张使用直角引号者,应先试图与制定标点符号标准的国家机构沟通,尝试改变他们的看法,而不是像现在这样罔顾国家标准,直接在民间的某个社群中强制执行自己的标准。

这种论点让我想起了技术圈的另一场圣战:浏览器标准之战。一个方框、一个按钮,在每个浏览器里长什么样,苹果(Safari), Mozilla (Firefox), 谷歌(Chrome), 微软(IE)各家都有自己的想法,而一个叫 W3C 的组织则负责统一想法,制定标准,以期各家遵守。但 W3C 的问题跟所有标准化组织一样:慢。商业世界不等人,上述几家公司都各行其道,搞得网页开发者苦不堪言,但也无可奈何。

或许知乎今日对直角引号的强制执行可以比之于那些只能在某家浏览器里正确显示的 CSS 属性。所幸知乎上的问答并非商业行为,没有利益纠葛。用户不喜欢,大不了不来就是。若真的发生大面积用户流失,知乎或许自会调整规定,恢复使用中国大陆的引号标准,此为后话。

但我赞同知乎的这一做法,因为中文字体与中文字体排印正处在不破不立的局面。我在《中文字体及其它》一文中写过:

在今天,中文字体领域没有真正的专家──只要愿意认真参与讨论的人都是专家。平面设计师群体、前端设计师 / 工程师群体、程序员群体、字体设计师群体、中文 TeX 群体和出版界都应该参与这一过程,所有的成见都应抹除。引号该用哪种?段首缩进应该是一格还是两格?行末标点应该外挂还是内缩?齐头尾时应该仅仅压缩标点,还是可以调整字间距?中文 web font 怎么办?程序员群体在这件事上能做什么?所有这些问题都应该在摒弃现有假定的前提下公开讨论。若仅仅因为中国大陆的官方标准的存在就放弃了实验的可能性,我认为是可惜的。

除了望着优秀的日文字体流口水,我们应该做些事情。

如今我仍然持上述观点。

[http://apple4.us/2012/11/on-the-brouhaha-of-chinese-quotes-and-the-future-of-chinese-typography.html]