我的系统 (Debian squeeze) 使用字体抗锯齿功能,这在大多数情况下都很好。但是,我想禁用 xterm 和 urxvt (rxvt-unicode) 中的终端字体抗锯齿功能,但无法让它工作。
我尝试使用antialias=false
,如在urxvt 手册页(搜索“antialias”),但是没有任何效果:
urxvt -fn "xft:Deja Vu Sans Mono:pixelsize=10:antialias=false"
无论我使用antialias=true
还是,我都会获得完全相同的字体渲染false
。我指定的字体和大小确实有效果,因此 urxvt 显然会处理该选项。
使用 xterm (使用-fa
) 得到同样的结果,或者放入Xft*antialias: false
我的 X 资源中 (如建议的我怎样才能只关闭 gnome-terminal 的字体抗锯齿功能,而不关闭其他应用程序的字体抗锯齿功能?)。
我做错了什么?还有其他设置吗?
编辑:
我刚刚发现能禁用抗锯齿功能/etc/fonts/local.conf
:
<match target="font">
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
不过,我不明白为什么antialias=false
字体规范不尊重它。
答案1
通常 xterm 不会对字体应用抗锯齿。但是,我认为某些窗口管理器(如 compiz)通常会对窗口应用抗锯齿,因此您的问题可能是窗口管理器,而不是终端仿真器。请尝试检查窗口管理器的抗锯齿功能,然后尝试禁用它。
答案2
xterm 实际上可以像下面这样使用字体抗锯齿功能。
~/.Xdefaults
!xterm font antialiasing variant
xterm*faceName: DejaVu Sans Mono:size=10:antialias=true
xterm*font: 7x13
!rxvt-unicode fontantialiasing variant
URxvt*font: xft:DejaVu Sans Mono:pixelsize=12:antialias=true:hinting=true
URxvt*boldFont: xft:DejaVu Sans Mono:bold:pixelsize=12:antialias=true:hinting=true
据我调查,简单的 rxvt(不含 unicode)不支持字体抗锯齿。我今天(2015 年)更喜欢 xterm 的原因是,xterm 在打开时消耗的内存比 urxvt 少。Rxvt 消耗的内存比 xterm 还要少,但它不支持字体抗锯齿。