フォント設定を頑張ってみる
CUI(character user interface) ベースで作業する場合、ターミナルソフト(gnome-terminal とかね)のフォント設定は視認性=生産性に直結する話なので、延々フォント設定であーでもないこーでもないと時間を潰すのは、決して現実逃避ではないのだ。多分、きっと。
サンセリフ(sans serif)系フォントを選択するのは、少ない解像度でも表示が綺麗になるようにするには、セリフ(serif: 文字飾り)の無いフォントの方が良いから、という 20 世紀的な貧乏性に由来するもの。
単純にフォントの好みで言うなら、Times New Roman とかの方が好きなんだけどねぇ。ターミナルソフト用フォントとしては、ちょっとクドいか?
色々試してみた限りでは、日本語交じりテキストの表示の場合、IPA Gothic 系のフォントが妥当そうなんだけど、コマンド行編集などの際に:
- 半角文字上なのにカーソル幅が全角相当(カーソル位置+後ろの文字)
- カーソル位置直後の文字が表示されない
といった感じになってしまって、ちょっと常用には耐えられそうに無い。
そんなこんなで、結局 "DejaVu Sans Mono Book" を選択(日本語表示には X Window 側のデフォルト設定が使われているのかな?)。数字のゼロの真ん中に線が引かれているあたりに、20 世紀時分の海外製パーソナルコンピュータを髣髴とさせるノスタルジーが感じられるところもポイント(笑)。
文字単体で見ると、他にも幾つか候補があったのだけど:
- バックスラッシュが
Wになったりとか、 - 文字前後の空白が詰まってしまって見辛いとか、
- チルダ(~)とハイフン(-)の区別が付かない
などといった、総合的な表示の点で脱落。
ついでに GUI ベース= X Window クライアントとして起動された際の Emacs のフォントの設定にも色気を出してみたものの、"Options" ⇒ "Set Font/Fontset..." で表示される選択候補が gnome-terminal のフォント設定と比較して滅茶苦茶少ない。一気にやる気が萎えた。
…………仕方ない、頑張るか。
create-fontset-from-fontset-spec を使って定義した fontset を選択することで、表示フォントを切り替えることが出来ることまではわかった。describe-function を使ってヘルプ情報を見てみると:
といった情報を、カンマ区切りで並べた文字列として指定するらしい。但し、ここで記述するフォント名は XLFD 形式、所謂 X Window のリソース等を記述する際のアレでないと駄目とのこと。
IPA Gothic 系フォントに対する XLFD 表記を調べるために xlsfont を実行してみると、肝心の IPA Gothic 系フォントが列挙されない!
あちこち検索の手を伸ばした限りでは:
- X Window のフォント管理は複数の流派に分かれる
- xfsinfo によると font server は起動されてない ⇒ モジュールベース
- モジュールベースの場合、新規フォントの導入時に X Window 再起動は必要無さそう
- フォント格納先情報の指定方式は、/etc/.../font.config への記述から、fontpath.d からのシンボリックリンクに流儀が変更された模様
- SUNWttf-ipafont は fontpath.d にシンボリックリンクを作らない
- fonts.scale 及び fonts.dir ファイルがあればモジュールはフォントを認識
ということで、fontpath.d 配下からフォント格納先へのシンボリックリンクを作成した上で xlsfont を実行したところ、無事 IPA Gothic 系フォントが列挙。
IPA Gothic 系フォントの XLFD 表記が判明したので、create-fontset-from-fontset-spec で fontset を作成させてみると:
Warning: no fonts matching `-misc-ipagothic-medium-r-normal--.........
うーむ、明らかにフォントが見つからないという警告だよな?
しかし、調べた限りではこの手順で大丈夫だということなので、一旦警告の件は置いておいて、fontset を切り替えてみる。
ぐは!全然駄目駄目な表示だ!orz
文字集合指定が不十分なのかと思い、指定する文字列を色々試してみたけど現象は相変わらず。
警告メッセージ等を軸に調べてみると:
- Emacs 23.x は TrueType フォントを使用可能
- Emacs 22.x は xft 連携向けにビルドすることで TrueType フォントを使用可能
- xft 連携する Emacs 22.x でも、表示がアレする可能性あり
- SUNWgnu-emacs-gtk で導入されるのは 22.x で、多分 xft 連携無し
ということで、Emacs では TrueType フォント利用は駄目な模様 orz
勿論ソースからビルドすれば大丈夫だろうけど、X Window や GNOME 関係のライブラリや設定ファイルと悪戦苦闘している姿が目に見える割には、あまり報われない予感がヒシヒシとするので断念。っつーか、他にやりたいこと/やるべきことが山積しているしね。
TrueType フォントを指定した create-fontset-from-fontset-spec に対して、「特に問題なく成功した」「(前述の)警告が出て上手く行かない」という報告が入り乱れていたりするけど、Emacs のバージョン(= TrueType フォントの使用可否の違い)について情報交換していないあたり、xft 連携の話は「常識」なのか「盲点」なのか…。
とりあえずアリモノを使うということで、以下の設定を採用:
(set-default-font "fontset-standard")
そうそう、自分の環境だと、固定幅日本語フォントが不十分だったらしく、FSWxorg-fonts-jiskan パッケージをインストールするまでは、全角文字を含むテキストベースの表とかの体裁がガタガタな状態に。以前のデフォルトフォントは serif 付きフォントだったので、ディスプレイ程度の解像度だと視認性もイマイチだったけど、これを入れたら随分視認性がマシになった気が@Emacs。