ここに日記はありません
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 追記) この項については内容が変わっているので後の日記を参照のこと。