LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9533|回复: 18

字体设置小结(一种简单易行的方案)

[复制链接]
发表于 2007-1-15 06:14:06 | 显示全部楼层 |阅读模式
一个字体要想显示得美观,有太多的因素需要考虑,而我们通常情况下要想完全弄明白其中
各种细节可能需要花费很多的时间,因此本文只讨论那些最容易出现,但花费力气最少就能
解决的问题,只讨论以下几个要点:
*配置文件
*字体分类
*dpi
*网页的正确显示

1.配置文件
到/etc/fonts目录下可以看到有四个文件fonts.dtd是和xml格式相关的.fonts.conf是系统
的全局设置,上面的注释非常详细,当然你不应该编辑该文件.conf.d下的文件都是从
conf.avail链接过去的,系统会依次读conf.d下的配置文件,当你要取消某种配置时,删除
conf.d下的链接文件就好了,原有的配置依然保存在conf.avail/中
conf.avail中有README,介绍了每个文件的用途
00-09开头:指定字体文件夹,事实上/etc/X11/xorg.conf和/etc/fonts/font.conf已经指
          定得很全了
10-19开头:系统的默认渲染函数,我理解成和函数库的作用一样
20-29开头:特定字体的渲染规则,从别人的例子中你可以学会如何选择特定字体,并对参数
          进行调整
30-39开头:字体家族的名字替换
40-49开头:共有特性的定义,实际在这里把所有字体分成了三类,serif(有衬线),sans-serif
          (无衬线),monospace(等宽字体)
50-59开头:用户自定义字体配置文件,如果需要自定义特性,应该放到51-local.conf中
60-69开头:字体别名设置,latin(拉丁语,欧洲语言),nonlatin(非拉丁语,中文字体应该能在
           这里找到),每个文件也是按serif,sans-serif,monospace分类的,这里会按出现
                   的先后顺序优先选择靠前的字体
70-79开头:选择特定字体进行调整
80-89开头:对所有字体扫描,找到匹配的进行相应的设置
90-99开头:合成字体
事实上,可能需要我们手工添加设置的只有
40-generic.conf 51-local.conf 65-nonlatin.conf

2.字体分类
从配置文件中我们可以看到字体被分成了三类,那么它们各有什么特点,各自用在什么场合呢?简单的说,Serif在字的笔画开始及結束的地方有额外的装饰,而且笔画的粗细会因直橫的不
同而有不同;Sans-serif则沒有这些额外的装饰,笔画粗细大致差不多; 等宽字体更容易理解
每个字体的宽度是一样的,一般对西方字体比较适合
别人博客上总结比较好的一篇:
http://dark.supercn.net/index.php/121/

3.dpi
关于dpi设置,linuxsir论坛已经有很多讨论了,到论坛搜索dpi,应该不会让失望的,
www.archlinux.org的wiki上也有很好的总结
算出你合适的dpi值,在安装字体完后添加到/etc/fonts/font.avail/51-local.conf中(见后)

4.网页的正确显示
我用的是firefox,它可以指定serif,san-serif,monospace
需要注意的是中文字体一般显示西方字母.标点符号效果并不理想,间隔太大,
所以如果你让firefox来选择字体,千万不要把中文字体设成默认字体

5.字体设置流程
现在假设你刚装完系统,装好xorg等

**安装font
font的名字不是随都记得,现用pacman 找找看
pacman -Ss font >fonts.txt
(个人认为,只要两款字体足矣)
ttf-bitstream-vera ttf-fireflysung
pacman -S ttf-bitstream-vera ttf-fireflysung
配置文件系统会自动帮你修改

**调整dpi
(17英寸crt显示器)
将如下代码拷贝到/etc/fonts/conf.avail/51-local.conf中
<match target="pattern">
         <edit name="dpi" mode="assign" >
                  <double>84</double>
         </edit>
</match>
对于xfce,kde(?)这样设置就已经能得到正确的dpi值了,
gnome中的gnome-font-properties可以对dpi进行设置,菜单sys->font,detail,还可以对其
它属性设置,这样看着gnome的空间布局好多了,是不是感觉空间似乎变大了?此外,在gconf-editor
中查找dpi修改成合适的值
(个人观点:一般terminal的默认字体最好设成Bitstream Vera Sans Mono,因为它对
  数字0和字母o,O容易区分,数字1和字母l,L也区分得很清楚,故有"程序员字体"之称)
如果比划太细,则是渲染效果根不没出来,将terminal字体调大直到到满意为止

**调整firefox
firefox默认是让系统来选择字体的,如果你的中文网页效果还不错,那么恭喜你不用再
对firefox设置了,否则点击edit-preferences--Fonts&Colors:Advanced,
将Allow pages to ...的复选框取消选中
---------------------------------
        fonts for Simplified Chinese
        Proportinas sans-serif (必须)
        serif 文鼎PL新宋
        sans-serif Bitstream Vera Sans
        Monospace Bitstream Vera Sans Mono
----------------------------------
    fonts for Western
        Proportinal选择sans-serif (必须)
        serif serif
        sans-serif sans-serif
        Monospace monospace
     
        如果字体模糊,可将上述两种语言的字体调大到满意为止
        将字体大小调整和terminal所使用的相同是最简单的办法
    (个人观点:调整过程中最好将所有font值设成一样,调清晰后再作个人设置)

好了,上面就是我的一点新得体会,在自己机器上测试是没有问题,虽然不是完美的,但大家可
一看到,配置起来一点也不复杂,尽量少花时间在美化方面上,多一些时间学习更重要的知识
我觉得才是重要的,至少我是这么认为的...
发表于 2007-1-15 13:17:16 | 显示全部楼层
很好的一篇文,能否发到Arch Wiki上呢?谢谢。
回复 支持 反对

使用道具 举报

发表于 2007-1-15 13:33:29 | 显示全部楼层
好文章! 先收藏下!
我目前的字体效果还是比较满意的!
改天试试这个!
回复 支持 反对

使用道具 举报

发表于 2007-1-15 13:55:39 | 显示全部楼层
看来arch里面神龙见首不见尾的高手确实很多哈~~~
回复 支持 反对

使用道具 举报

发表于 2007-1-15 15:36:44 | 显示全部楼层
好文!!!赞
回复 支持 反对

使用道具 举报

发表于 2007-1-15 17:05:58 | 显示全部楼层
确实是好文。呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 21:37:51 | 显示全部楼层
其实我以前也是觉得配置字体是一件很麻烦的事,因此将系统配置成英文,拷贝个ms的simsun.ttf就
不管了,上个星期实在是觉得效果太恶劣了,才到网上找资料,对字体设置总算了解了一点皮毛,总结一
下发现配置起来并不太复杂,如果对大家确实有一点帮助,那实在是太好了
回复 支持 反对

使用道具 举报

发表于 2007-1-15 23:44:00 | 显示全部楼层
你的simsun.ttf哪来的?我的怎么是ttc的?还老是缺中文字的。。
我自己的也没有怎么设置。呵。

看了conf.avail的说明跟dpi的受益菲浅啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 23:59:45 | 显示全部楼层
直接改文件名的,我倒是没出现这种问题,呵呵
个人觉得ttf-fireflysung显示效果不比simsun差,毕竟用ms的字体不太合适,而且还要自己设置,而
fireflysung都不用自己设置
回复 支持 反对

使用道具 举报

发表于 2007-1-16 01:58:56 | 显示全部楼层
fireflysung字体字形总感觉有点残缺不全
简单说就是微小的锯齿很让我反感
simsun字体配置好了非常美观,我是一个比较挑剔的人
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表