▼Unicode対応 k14 フォントのRPM (国際化xtermなど用)▼

$Id: index.html,v 1.3 2018-07-06 23:21:33+09 kabe Exp $

X11用に、 河野さんが 作った、Unicode (iso10646-1) エンコード対応の k14 フォントのRPMです。

CentOS 5/Red Hat EL 5の xterm はUTF-8対応ですが、 まともに日本語が出るのはデフォルトの小さい fixedフォントか、 Ctrl→右クリックで Large 18ドットフォントを 選んだときだけだったりします。 本 RPM をインストールすれば Small の14ドットフォントでも 日本語が出ます。

なお、xtermはボールド体の表示に -misc-fixed-bold-*- なフォントを 必要としているみたいなので、 横に重ね打ちしただけのボールド体フォントも同梱しました。 ないと、漢字のボールドが点線の□になってしまう。 (xtermのマニュアルではボールドフォントがない際は overstrikeで出すとあるんだが…)

追加されるフォント:
14x14ja.pcf.gz   -misc-fixed-medium-r-normal-ja-14-130-75-75-c-140-iso10646-1
14x14jabold.pcf.gz -misc-fixed-bold-r-normal-ja-14-130-75-75-c-140-iso10646-1

UTF-8 XTerm であれば、LANG=ja_JP.utf-8 で普通に起動して Ctrl+Button3 のフォントメニューで Small を選ぶと日本語が出るようになります。

デフォルトフォントとして起動する時は [env LANG=ja_JP.utf8] xterm -fn '-misc-fixed-medium-*-14-*-iso10646-*' としてください。


サンプル画面:
[k14utfフォントでのxterm表示サンプル]


特殊文字が表示されない?

ただ、これでも◇とか◎はうまく表示されません。 これらは半角フォントで表示されますが、 -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1 (7x14)にこれらの グリフが含まれていないため。 (なんでだろ? 13ドットの7x13にはある) 半角ボールドの7x14Bはさらにグリフが少ないので、以下のように非表示文字が増えます。
[xtermで記号が半角で非表示のサンプル]

(patch #282以降のxtermならボールドの問題は回避できる?)

xterm -cjk_widthを指定すれば全角フォントで表示されますが、 アプリケーションによっては半角で表示されてるはずだと思って誤動作したりします。 -cjk_width 上で動かすアプリケーションは個別に対応せよ、ということらしい。
[xterm -cjk_widthで記号を表示]

vim:
xterm -cjk_width したうえで、vim上で set ambiwidth=double とする。

半角 7x14 フォントを強化する

xterm -cjk_width で使うのも悪くないのですが、 どうもあまり美しくないので、7x14フォントに欠けているグリフを なんとかして埋めて、半角特殊文字のままで使ってみる方法はないかと 考えてみます。 (ギリシア文字なんかは半角のほうがキレイですよね?)

というのをやってみました。
[7x14フォントを強化して文字欠けを無くしたサンプル]

やっかいなのは、xtermの自動フォント選択をさせようとすると、既存の

7x14.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
7x14B.pcf.gz-misc-fixed-bold-r-normal--14-130-75-75-c-70-iso10646-1
のXLFD名と同じにしないといけない(別のXLFDでインストールしても使いにくい) ということです。 これは、fonts-7x14utf パッケージのほうで 既存フォントを別ディレクトリに隔離する、という方法で逃げました。 ので、rpm --verify xorg-x11-fonts-baseでインストール検査すると ファイルが足らない、と言われます。 fonts-7x14utf パッケージをアンインストールすれば戻ります。


Ctrl右クリックでのフォント選択すると化けるんですけど?

[env LANG=ja_JP.utf8] xterm -fn '-misc-fixed-medium-*-*-*-14-*-*-*-*-*-iso10646-*' で起動するとデフォルト状態では日本語などが出ますが、 Ctrl右クリックの VT Fonts メニューから他のフォントサイズを選ぶと 化けるというか8bit文字しか出ない状況になったりします。

原因等は長くなるので、詳しくは、 xtermはどうやってフォントを選択しているのか を参照してください。

解決法1

UXtermのリソースでは

*VT100.font3:   -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
などと定義されているので、 uxterm もしくは xterm -class UXTerm で起動するようにする。


かべ@sra-tohoku.co.jp