NetWalkerのフォントの設定

フォントの設定は、以下の3項目に関して行いました。

  • IPAモナーフォントを使ってAAがずれないようにする
  • PDFを表示する時に明朝体がゴシック体に化けないようにする
  • Emacs23のフォントをちゃんと設定する

IPAモナーフォントのインストール

プリインストールされているLCフォントではAAがずれてしまうので、以下の方法でIPAモナーフォントをインストールしました。

Ubuntu Japanese Teamのリポジトリを利用します。ここにはARM用バイナリパッケージは置いてありませんが、フォントのdebパッケージはアーキテクチャ非依存なので、NetWalkerでも通常の方法でインストールする事ができます。

まず、ソフトウェア・ソースにリポジトリを追加します。

deb http://archive.ubuntulinux.jp/ubuntu-ja jaunty-non-free/

端末から以下のように入力して、リポジトリの鍵を登録します。

$ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
$ wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -

パッケージの情報を更新して、IPAモナーフォントをインストールします。

$ sudo apt-get update
$ sudo apt-get install ttf-ipamonafont

これでインストール完了です。ただし、このままではLCフォントよりもIPAモナーフォントが優先的に使われるようになってしまうので、次節のfontconfigの設定を行います。

fontconfig

NetWalkerでPDFを見るためには、標準ではEvince(ドキュメント・ビューア)というアプリケーションが使われます。このEvinceでほとんどのPDFを問題なく表示することができますが、フォントがファイルに埋め込まれていない日本語の文書では、明朝体となるはずの文字がゴシック体で表示されてしまいます。LaTeXで作成した文書にはそのような物がよくあります。この問題と、前節のIPAモナーフォントがLCフォントよりも優先されてしまう問題を解決するために、fontconfigの設定を行います。
私の ~/.fonts.conf ファイルの内容は以下のようになっています。テキストエディタにこれをコピペして、ホームディレクトリに「.fonts.conf」というファイル名で保存すればOKです。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="pattern">
   <test qual="any" name="family">
     <string>Ryumin</string>
   </test>
   <edit name="family" mode="prepend" binding="strong">
     <string>serif</string>
   </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>sans-serif</string>
  </test>
  <edit name="family" mode="prepend" binding="strong">
   <string>LC Gothic</string>
   <string>IPAMonaPGothic</string>
   <string>IPAPGothic</string>
   <string>VL PGothic</string>
   <string>Sazanami Gothic</string>
   <string>Kochi Gothic</string>
  </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>serif</string>
  </test>
  <edit name="family" mode="prepend" binding="strong">
   <string>LC Mincho</string>
   <string>IPAMonaPMincho</string>
   <string>IPAPMincho</string>
   <string>Sazanami Mincho</string>
   <string>Kochi Mincho</string>
  </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>monospace</string>
  </test>
  <edit name="family" mode="prepend" binding="strong">
   <string>LC Gothic</string>
   <string>IPAMonaGothic</string>
   <string>IPAGothic</string>
   <string>VL Gothic</string>
   <string>Sazanami Gothic</string>
   <string>Kochi Gothic</string>
  </edit>
 </match>
</fontconfig>

最初のがEvinceで使われる明朝体フォントの指定で、残りの部分がLCフォントの優先順位を高くする設定です。
この設定により、Evinceでは明朝体フォントはserifとして扱われ、最終的にはserifの中で最も優先順位の高いLC明朝で表示されます。LC明朝は読みやすい反面、かなり太い書体なので埋め込みフォントとのバランスがあまり良くありません。それが気に入らない場合は、最初のの中の「serif」と書いてある部分にフォント名を直接書けば、好みのフォントで表示できます。

emacs23のフォント

私の場合、~/.emacs ファイルの中で以下のように記述しています。

(when window-system
  ;; 基本となるフォント
  (set-frame-font "VL Gothic-10.5")
  ;; tooltip等のフォント
  (set-face-font 'variable-pitch "VL PGothic-9")
  ;; 日本語のフォント
  (set-fontset-font (frame-parameter nil 'font)
                    'japanese-jisx0208
                    '("LC Gothic" . "unicode-bmp"))
  ;; 新規フレームにも適用されるようにする
  (modify-all-frames-parameters (list (assq 'font (frame-parameters))))
  )

フォントの大きさが10.5という非整数で指定してあるのは、全角文字の横幅のピクセル数を偶数にするためです。さもないと、半角文字と全角文字の横幅が正確に1:2とならないので、uim.elの変換候補やカレンダー等の表示がずれて見苦しくなってしまいます。