IPAフォント、IPAモナーフォントの設定

IPAフォントIPAモナーフォントを入手しディレクトリ「~/.fonts」を作って10個の*.ttfファイルをその中に入れる。
新たに以下の内容のファイルを作り、「~/.fonts.conf」に配置する。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<match target="font"> <!-- 名前にIPAを含み日本語を含むフォントに対して -->
		<test qual="all" name="family" compare="contains"><string>IPA</string></test>
		<test qual="all" name="lang" compare="contains"><string>ja</string></test>
		<!-- ヒンティングと埋め込みビットマップの使用を行わない。 -->
		<edit name="hinting" mode="assign">
			<bool>false</bool>
		</edit>
		<edit name="embeddedbitmap" mode="assign">
			<bool>false</bool>
		</edit>
	</match>
	<!-- IPAP明朝をserifに、IPAUIゴシックをsansに、VL Gothicを
	monospaceに(/etc/fonts/conf.d/59-VLGothic-monospace.confで設定済み)使う。 -->
	<alias>
		<family>serif</family>
		<prefer><family>IPAPMincho</family></prefer>
	</alias>
	<alias>
		<family>sans</family>
		<prefer><family>IPAUIGothic</family></prefer>
	</alias>
	<!-- MSフォントを IPAモナーフォントで置き換える。 -->
	<alias>
		<family>MS Gothic</family>
		<family>MS ゴシック</family>
		<prefer><family>IPAMonaGothic</family></prefer>
	</alias>
	<alias>
		<family>MS PGothic</family>
		<family>MS Pゴシック</family>
		<prefer><family>IPAMonaPGothic</family></prefer>
	</alias>
	<alias>
		<family>MS UI Gothic</family>
		<prefer><family>IPAMonaUIGothic</family></prefer>
	</alias>
	<alias>
		<family>MS Mincho</family>
		<family>MS 明朝</family>
		<prefer><family>IPAMonaMincho</family></prefer>
	</alias>
	<alias>
		<family>MS PMincho</family>
		<family>MS P明朝</family>
		<prefer><family>IPAMonaPMincho</family></prefer>
	</alias>
</fontconfig>

いくつか補足

  • <match target="pattern">にするとフォントに含まれるグリフのうち日本語のもののみに適用される。その結果英数字だけギザギザのビットマップフォントで表示される。
  • もし絶対にこれらのフォントに含まれるビットマップフォントを使わないなら、Linux上でIPAフォントからビットマップフォントを削除するで紹介した方法でビットマップフォントを除去すれば各フォントで1.2MBほどサイズが減少する。
  • <test>でIPAを名前に含みjaを言語に含むと言う条件でIPAIPAモナーフォントを選択しているがもっと賢い方法があるかもしれない。

ちなみにフォント名を直接指定するなら

	<match target="font">
		<test qual="any" name="family" compare="eq"><string>IPAPMincho</string></test>
		<test qual="any" name="family" compare="eq"><string>IPAMincho</string></test>
		<!-- ...以下続く... -->

と10個並べることになる。


完成したらfc-cacheコマンドでフォントキャッシュを作る。


$ []sudo fc-cache -f ~/.fonts[]
フォントを指定したとき実際にどのフォントが使用されるかはfc-matchコマンドで調べられる。また「-s」オプションで優先順位を表示することができる。

$ []fc-match -s 'MS PMincho'[]
[]ipamp-mona.ttf: "IPAMonaPMincho" "Regular"[]
[]ipagui.ttf: "IPAUIGothic" "Regular"[]
[]DejaVuSans.ttf: "DejaVu Sans" "Book"[]
[]...省略...[]
フォントの書式についてはhttp://www.fontconfig.org/fontconfig-user.htmlを参照すること。


参考にさせていただいたサイト:
simetrix on linux
Fedora 10 インストール個人的ノート