如何仅在终端中关闭字体像素抗锯齿?

dan*_*dan 8 appearance command-line browser antialiasing

对于编程,我喜欢关闭字体抗锯齿(即选择单色选项),因为它使终端文本在较小的字体大小下看起来更加清晰。但随后网络浏览器中的一切看起来更糟。

有没有一种方法可以两全其美,并且具有非抗锯齿的终端字体,但具有抗锯齿的 Web 浏览器字体?

gee*_*aur 10

您可以在~/.fonts.conf. 但是,在单个程序的基础上这样做需要一些技巧。

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <dir>~/.fonts</dir>
  <alias>
    <family>XTerm</family>
    <prefer><family>Envy Code R</family></prefer>
    <default><family>monospace</family></default>
  </alias>
  <match target="pattern">
    <test name="family">
      <string>XTerm</string>
    </test>
    <edit mode="assign" name="family">
      <string>Envy Code R</string>
    </edit>
    <edit mode="assign" name="antialias">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>
Run Code Online (Sandbox Code Playgroud)

这会创建一个字体别名,称为XTerm它映射到Envy Code R但禁用抗锯齿。运行fc-cache ~/.fonts,然后您应该能够在终端中选择该字体。

如果您不介意(甚至更喜欢)终端中使用的字体在任何程序中始终没有抗锯齿,那么它会更简单一些:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <dir>~/.fonts</dir>
  <match target="pattern">
    <test name="family">
      <string>Envy Code R</string>
    </test>
    <edit mode="assign" name="antialias">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>
Run Code Online (Sandbox Code Playgroud)

这不需要任何其他字体技巧并确保Envy Code R始终抗锯齿。

您还可以限制可以执行抗锯齿的字体大小:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <dir>~/.fonts</dir>
  <match target="pattern">
    <test name="family">
      <string>Envy Code R</string>
    </test>
    <test name="size" qual="any" compare="less">
      <double>8</double>
    </test>
    <edit mode="assign" name="antialias">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>
Run Code Online (Sandbox Code Playgroud)

Envy Code R当它小于 8 点时防止抗锯齿。

Arch Wiki 上的这篇文章更详细地展示了如何调整字体。 man fonts.conf是对配置语言的参考,但没有太多实际示例。


Ste*_*HHH 6

我花了很多时间处理字体和系统配置,以便在 Ubuntu 终端中获得一个不错的非抗锯齿字体。一种解决方案是安装专用的非抗锯齿 TrueType 字体,例如 Terminus。将您的终端首选项设置为使用 Terminus 8 字体,或使用 Ubuntu 高级设置工具将全局控制台字体设置为 Terminus 8。

sudo apt-get install xfonts-terminus console-terminus
Run Code Online (Sandbox Code Playgroud)

我还没有找到让我在终端中使用我最喜欢的字体 (X11 6x13) 的解决方案。同时,我一直在使用 pterm 和 Putty 而不是 Terminal。唯一的缺点是 pterm 和 Putty 不支持选项卡。