ここに日記はありません
Monday 12 January, 2015 [長年日記] この日を編集
_ [BSD][X11][Fonts] X11でのFontの設定
これまでの続きではあるが、MacBook固有でもない話なのでタイトルをresetした。
とりあえずX11も動いていろいろアプリケーションを動かすことができるようになったが、ときどきhomeに./fontconfig/
というdirectoryができているのが気になったので調べてみたらfontconfigのバグらしいということでついでにX11でのfontの扱いについて調べてみることにした。
X11のfontはportsにもたくさん登録されている。Xorgから提供されているx11-fonts/xorg-fonts-*
を初めとして、x11-fonts/font-*
として多くのものがあり、また一部の日本語Fontはjapanese/
に登録されている。
これらのフォントは/usr/local/lib/X11/fonts/
にinstallされるが、必要に応じて/etc/X11/xorg.conf
のFontPath
を追加することでX11から利用可能になる。私のxorg.conf
ではこうしている。
Section "Files"
ModulePath "/usr/local/lib/xorg/modules"
FontPath "/usr/local/lib/X11/fonts/misc/"
FontPath "/usr/local/lib/X11/fonts/local/"
FontPath "/usr/local/lib/X11/fonts/noto/"
FontPath "/usr/local/lib/X11/fonts/Droid/"
FontPath "/usr/local/lib/X11/fonts/Roboto/"
FontPath "/usr/local/lib/X11/fonts/proggy_fonts-ttf/"
FontPath "/usr/local/lib/X11/fonts/SourceCodePro/"
FontPath "/usr/local/lib/X11/fonts/SourceSansPro/"
FontPath "/usr/local/lib/X11/fonts/TrueType/"
FontPath "/usr/local/lib/X11/fonts/TTF/"
FontPath "/usr/local/lib/X11/fonts/OTF/"
FontPath "/usr/local/lib/X11/fonts/Type1/"
FontPath "/usr/local/lib/X11/fonts/100dpi/"
FontPath "/usr/local/lib/X11/fonts/75dpi/"
EndSection
また古の時代にはX11ではbitmap fontしか扱えなかったが、しばらく前からscalableであるTrueTypeやOpenTypeをサポートするようになっている。以前はxorg.conf
のModule Sectionに"xtt"または"freetype"を追加することになっていたが、どうやら"xtt"はobsoleteとなり現在は"freetype"を使うことになっているようだ。
Section "Module"
Load "glx"
Load "freetype"
.
.
.
EndSection
ここまでのことはHandbookの
次の'6.6.3. Anti-Aliased Fonts'では/usr/local/etc/fonts/local.conf
や~/.fonts.conf
などがでてくるがこのあたりが現在進行中でいくらか変更が入りつつあるようできちんと整理しないといけないかな。6.6.3に書かれているのはXft
についてであってこれとfontconfig
が現在X11でのFontの制御の主流になっているようである。
Xft
はclient側でfontをrenderingするもので、アプリケーションにlibraryとして組み込まれて動作する。主なものとしてKDE、GNOME、Firefoxなどがありかなり多くのアプリケーションに使われていることになる。Xft
がfontを検索するときに用いられるのがfontconfig
でその設定ファイルが.font.conf
であるが、その場所が変更になっている。man fonts-confによると、~/.fonts.conf
や/etc/fonts.conf
となっているが、
実際には/usr/local/etc/fonts.conf
または~/.config/fontconfig/fonts.conf
に置くことになる。内容についてはXMLで記述すること以外はまだよく理解できていないので改めて。
(12/05/2015 追記) この項については内容が変わっているので後の日記を参照のこと。