自动登录linux(不使用登录管理器)
Linux下防御arp攻击

Linux下LCD屏幕字体显示优化--dpi设置及sub-pixel次像素微调

獨立的圓 posted @ 2008年7月25日 22:18 in Linux with tags fonts , 15338 阅读

 本站文章已轉移,敬請移步:http://www.xxb.me/ ,謝謝!

新购买了22寸宽屏液晶,兴致勃勃搞起字体美化,首先从字体显示方面入手。

(注:本文于7月26日修改。部分内容对普通CRT显示器可能也有效。)

一 计算最佳dpi

首先要知道显示器屏幕的高度和宽度。说明书上有写,如果没有,可以找google,如果还是没有,自己拿尺子量吧^_^

以我的为例,把高度和宽度写进/etc/X11/xorg.conf,加入:

Section "Monitor
          ......
          DisplaySize   474.1     296.3
          ......
EndSection

保存后退出,重启X,在终端运行:

$ xdpyinfo |grep dimensions

显示正在使用的分辨率和屏幕大小:

dimensions:    1680x1050 pixels (474x296 millimeters)

运行:

$ xdpyinfo |grep resolution

显示:

resolution:    90x90 dots per inch

这里的90x90就是X自动计算出来的最佳dpi,并且也是X使用的默认值,如果要手动计算,公式为:

水平 dpi = 水平 resolution * 2.54 / width  = 1680 * 2.54 / 47.4 = 90
垂直 dpi = 垂直 resolution * 2.54 / height = 1050 * 2.54 / 29.6 = 90

dpi的数值最好为6或12的倍数,如果不是,可以稍微修改xorg里的屏幕尺寸,使之计算出来的dpi满足倍数关系。

由于这里的dpi值是X计算出来的,未必就符合个人喜好,

二 根据dpi设置优化

在~/.Xresources里设置dpi:(如果已存在旧的设置,先删除)

$ echo Xft.dpi:90 >> ~/.Xresources

编辑/etc/fonts/fonts.conf(不同的发行版这个设置文件可能会不同,以archlinux为例),加入

  <match target="pattern">
    <edit name="dpi" mode="assign"><double>90</double></edit>
  </match>

也可以把以上句段加入~/.fonts.conf,仅对当前用户有效。

由于以上的dpi值是X计算出来的,未必就觉得舒服,所以可以根据个人喜欢进行修改,比如我就把dpi改为108了。

三 sub-pixel次像素微调

 先看两张图  and 

第一张图片用rgb的顺序进行次像素微调,而第二张是bgr,如果你觉得某一幅图片很清晰,线条比较平滑而另一张看上去非常糟,那么你的屏幕的rgb顺序就跟是清晰的那张图片一样。

检测到自己的是rgb还是bgr后,同样是编辑/etc/fonts/fonts.conf或~/.fonts.conf,以rgb为例,加入

  <match target="pattern">
        <edit name="rgba" mode="assign"><const>rgb</const></edit>
  </match>

如果相关设置已存在,请先删除或者在原基础上修改。

以上设置需要重新登录才生效。

我感觉效果相当不错,更详细的可参考以下两篇文章:

Linux 字体微调 - windows 效果版

http://my.opera.com/mingfal/blog/show.dml/298285

Avatar_small
galeki 说:
Jul 26, 2008 07:29:41 AM

 如果用 Gnome,在字体里面调节“每英寸点数”是不是同理?

Avatar_small
獨立的豬 说:
Jul 26, 2008 08:00:09 AM

基本同理,第一篇参考文章说得很详细。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter