Ubuntuで特定のフォントのみアンチエイリアスを無効にする

試した環境はUbuntu9.04

自分はgnome-terminal上で黒背景に白文字でemacsを使ってますが、
この配色だと、どうもフォントが滲んでいる気がして好きになれません。
ただ、検索してもそこに不満を持っている人がいないので、
個人差なのかもしれませんが・・・。

アンチエイリアス自体はUbuntuのフォント設定で切れるのですが、
そうすると全てにかからなくなり、かなり残念な感じのデスクトップとなってしまいます。

調べたところ、特定フォントのみアンチエイリアスを切れる方法があったので、
設定した上で、terminalでだけそのフォントを使うようにして解決しました。
視認性はいいのですが、味気なくなっちゃいますがね。

■方法

※コメントで指摘していただいた方法で書き直しました。/etc/fonts/fonts.confへの記述は行わないでください!

/etc/fonts/local.confを新規作成し、以下を記述します。

kochiやsazanamiとなっているところは、アンチエイリアスを使いたくないフォントの名前で置き換えてください。

その後、ログインし直せば、指定したフォントではアンチエイリアスが効かなくなっているはずです。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
  <match target="font">
    <test qual="any" name="file" compare="contains">
      <string>kochi</string>
      <string>sazanami</string>
    </test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
  </match>
</fontconfig>

以下は間違った設定。一応残しておきますが、真似しないでください。

/etc/fonts/fonts.confに対して、 最後の</config>の直前に、
以下の設定を記述してログインし直す。

  <match target="font">
    <test qual="any" name="file" compare="contains">
      <string>kochi</string>
      <string>sazanami</string>
    </test>
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
  </match>

gry

3 responses to “Ubuntuで特定のフォントのみアンチエイリアスを無効にする”

  1. 通りすがり

    情報ありがとうございます。大変参考になりました。
    ところで、 /etc/fonts/fonts.conf は fontconfig のアップデートの際に上書きされてしまう
    可能性があるので、 /etc/fonts/local.conf を作ってそこに差分を書く方がいいみたいですね。
    (fonts.confより)
    DO NOT EDIT THIS FILE.
    IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
    LOCAL CHANGES BELONG IN ‘local.conf’.

    との間に から を書いて、
    ログインしなおしたらちゃんと期待通りに antialias がオフになりました。

  2. 通りすがり

    最後から2行めのタグが消されてますね…HTMLエスケープしたら大丈夫でしょうか?

    >fontconfig<と>/fontconfig<の間に >match<から>/match<を書いて、

    です。

Leave a Reply

このブログについて

ぐりです。プログラムの仕事をしているので、 その関係の事とか、関係ない事とか、 適当に脈絡なく書き綴っています。

カレンダー

2009年5月
« 3月   6月 »
 123
45678910
11121314151617
18192021222324
25262728293031

カテゴリー

friends