web-dev-qa-db-ja.com

ターミナルでのみフォントピクセルアンチエイリアスをオフにするにはどうすればよいですか?

プログラミングについては、フォントのアンチエイリアスをオフにしたい(つまり、モノクロオプションを選択したい)ただし、Webブラウザーのすべてが悪化します。

両方の長所を持ち、アンチエイリアスされていないターミナルフォントを使用し、アンチエイリアスされたWebブラウザフォントを使用する方法はありますか?

7
dan

~/.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>

これにより、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>

他のフォントハッカーを必要とせず、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>

Envy Code Rのアンチエイリアスが8ポイントよりも小さい場合に防止します。

この記事 Arch Wikiで、フォントをより詳細に調整する方法を示しています。 man fonts.confは設定言語への参照ですが、実用的な例ではあまり意味がありません。

9
geekosaur

私は、Ubuntuターミナルで適切な非エイリアスフォントを取得するために、フォントとシステム構成をいじくり回すことに多くの時間を費やしました。 1つの解決策は、Terminusなどの専用のアンチエイリアス処理されていないTrueTypeフォントをインストールすることでした。ターミナル設定を設定して、Terminus 8フォントを使用するか、Ubuntu Advanced Settingsツールを使用して、グローバルコンソールフォントをTerminus 8に設定します。

Sudo apt-get install xfonts-terminus console-terminus

ターミナルでお気に入りのフォント(X11 6x13)を使用できるソリューションはまだ見つかりません。それまでは、Terminalの代わりにptermとPuTTYを使用していました。唯一の欠点は、ptermとPuTTYがタブをサポートしないことです。

4
Steve HHH