标签 字体 下的文章

Debian下使用google的noto字体

Google推出免费的 noto字体http://www.google.com/get/noto 很久了,现在noto字体覆盖了中日韩三国的文字。

中文字体应该就是思源黑体,看起来效果还不错,这下Linux下除了文泉驿http://wenq.org,又多了一款优秀的中文可用字体。

Debian下安装很简单,从http://www.google.com/get/noto/#/family/noto-sans-hans 下载中文字体,解压后放到

/usr/share/fonts/opentype/noto

目录下,注意这个目录需要我们自己创建。

然后,刷新一下系统的字体缓存:

fc-cache -fv 

这样就行了。

我们可以在各类编辑器或系统界面中使用noto的中文字体了。

Adobe的开源字体在网站上的使用

才看到Adobe发布了新的开源字体Source Code Pro,我们可以从GitHub中进行Clone和Fork。这种新的等宽字体很美观,英文字符的区分度高,下图是输出常用字符的显示截图:

开源字体Source Code Pro

这种字体我们可以直接用于网页内容的显示上,使用方法很简单,在网页的头部加上如下代码:

<script src="http://use.edgefonts.net/source-code-pro.js"></script> 

然后就可以在需要使用这种字体显示的内容指定字体了:

h1 {
  font-family: source-code-pro, serif;
} 

在Adobe的开源字体网站上,还提供了上百种免费字体供大家选择使用。adobe提供的开源字体都存放在edgefonts.net上,在世界各地都有cdn,所以访问速度非常快。

关于字体族-衬线体和无衬线体

之前写过Windows下GTK中文显示问题,但对字体族的问题并不太清楚。

今天看了衬线体和无衬线体,突然想起来以前看过这类说明,竟然全忘记了。这里把此文转载在这,留个备份。

看到forca吐槽,才知道原来西文字体是这样分类的,即分为两大族:衬线体(serif)和无衬线体(sans-serif)。像Times、Times New Roman等都是属于衬线体,而Arial、helvetica则是属于无衬线体。以前光知道有些字体耐看,有些字体不那么耐看,有些字体适合做标题,有些字体适合放正文,原来个中都有道理的。

抄一段维基上的话,“一般认为衬线起源于古罗马的石刻拉丁字母。1968年Edward Catich神甫在其著作《衬线的起源》中指出,在石刻时,先用画笔将字母轮廓标注在石头上,然后刻字人依照痕迹进行刻画形成了衬线。关于「serif」这一名称比其本身的出现要晚。目前可考的《牛津英語詞典》(OED)是1841年版本中的「sans serif」一词, 而serif是从「sanserif」(无衬线)一词派生出来的。《韦氏第三新国际词典》称「serif」源于德语的 schreef,意为“曾经写”,经过荷兰语的schrijven, 德语的 schreiben和拉丁文的 scribere(意思均为“写”)演变而来。至今德语中Schreef意思仍为「serif」。”

字体-无衬线体

字体-衬线体

字体-衬线字体的衬线

衬线体和无衬线体的区分,同样存在于东亚方块字体中。比如汉字中的宋体就是衬线体,而黑体就是无衬线体。宋体,港台地区或称明体,日文中称之为明朝体,是因为这种字体起源中国宋明时期,当时中国的雕版印刷术已经广泛传播,而用于制造活字的木纹多为水平方向,因此造成在刻字时横画细,竖画粗;而且为了防止边缘破损,横画在两端也被加粗,根据运笔习惯而形成三角形的装饰。

正因为衬线体在笔画始末的地方有额外的装饰,且笔画的粗细会因直横的不同而有所区别,所以强调出字母笔画的走势及前后联系,使得前后文有更好的连续性,更适合走文阅读。即更适合作为正文字体。

相反的,无衬线体笔划粗细基本一致,强调的是单个字母。容易造成字母辨识的困扰,常会有来回重读及上下行错乱的情形。因此,适合用作标题之类需要醒目但又不被长时间阅读的地方。

Windows下GTK中文显示问题

人算不如天算,竟然要在Python+GTK和VB.net之前选择了。

这里下载了PYGTK整合包安装完成后,发现运行后中文显示很丑陋,同时日志中显示如下信息:

PangoWarning: couldn't load font "瀹嬩綋 Not-Rotated 9", falling back to "Sans Not-Rotated 9", expect ugly output.

PangoWarning: couldn't load font "瀹嬩綋 9", falling back to "Sans 9", expect ugly output.

PangoWarning: couldn't load font "宋体 Not-Rotated 9", falling back to "Sans Not-Rotated 9", expect ugly output.

显然,上面的乱码应该是“宋体”,但没能正确识别。

解决办法是在etc\gtk-2.0\目录下新建一个gtkrc.zh_CN文件,其内容可以从gtkrc中复制一部分,再增加汉字使用的指定:

- 阅读剩余部分 -