Linux字体
九月 14th, 2008
Linux字体技术有核心字体和xft两种。
二者最表面的区别是核心字体有一个”无法想象的超长名称”,如biznet-fixed-medium-r-normal–16-120 -100-100-c-80-iso8859-2这样。用xlsfonts查看命令可以输出一卡车的数量。一般只有老一点的程序如 rxvt, aterm在配置字体的时候会用到。相比之下xft字体的名字更现代一点通常是一个简单的单词。
xft依赖 fontconfig维护系统中的字体。
而fontconfig包括四个工具
fc-list,fc-cc-cache,fc-cat,fc-match。
fc-cache -vf 查看和更新所有注册的fonts目录下的字体。
fc配置目录在/etc/fonts/ 和~/.fonts.conf。
http://fontconfig.org/fontconfig-user.html 或man fonts-conf
指明字体目录等相关信息。
Fontmatrix 图形化工具。貌似没有apt好的包,要自己编译http://phorolinux.com/manage-fonts-with-fontmatrix.html。
FreeType是一个把字体文件转化成位图的引擎。因为TureType等字体是一些向量描述,以便支持缩放。这个过程中还要考虑到抗锯齿和hinting等功能。hinting用来保持字体缩放后的对齐,并适当加强字体边缘的对比度来取悦我们的眼睛。FreeType用autohint来自动处理hinting,高质量的商业字体都会内置人工处理过的hint信息以达到最佳显示效果,不过FreeType不会使用这些有版权的信息,所以即使雅黑能在xft中正常显示也会和Windows下的很不一样。
字体有两个系列Serif和Sans。Serif在笔画收尾的地方是尖的。Sans就是不尖的。
字体另一种划分是等宽字体和变宽字体。
proportional font即变宽字体中l和m两字符占的宽度是不一样的,雅黑就是一种变宽字体。
mono字体又叫fixed-width字体即等宽字体。顾名思义在这种字体中每个字符宽度是一样的,这种字体在编程中用处比较大,可以便于认清1和l,0和o的区别,也被称为程序员专用字体。微软新出的Consolas字体就是这种。
矢量字体和点阵字体。点阵字体中的字形是固定的位图。矢量字体通过数学曲线来描述每一个字形,可以缩放。