▼国際化 xterm 用に Unicode (iso10646) にエンコードし直した jiskan16 16ドットフォント▼

X11に長らく標準でついてくる、jiskan16 フォント (-jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0) を、i18n xterm で使える iso10646 エンコードに変換したものです。

i18n xterm であれば

xterm -fn 8x16 -fw 16x16utf
で16ドットで漢字が使えるようになります。

[16x16utfフォントを使ったxterm]

単に jiskan16 を再エンコードしただけでは今風ではないので、 jiskan16 に無いグリフは

から輸入して、中国語/韓国語の全角文字も出るようにしてみました。 gb16fsのグリフは明朝体風でちょっとだけ小さいので、中国語を使うと ちょっと不自然ですが、出ないよりましということで。

▽コマンドラインで指定する

xterm -fn 8x16 -fw 16x16utf

古い xterm (おそらく Patch#235以前; RHEL 5が該当) では この方法が効かないので、 -sony-...で牽けるようにごまかしてください。

▽リソースで指定する

xterm -xrm 'xterm*vt100.font: 8x16' -xrm 'xterm*vt100.wideFont: 16x16utf'
…というのは効きません。 UTF-8モードで使っていると、 *VT100.utf8Fonts.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 (fixed) が優先されてしまうため。 正しくは
xterm -xrm 'xterm*vt100.utf8Fonts.font: 8x16' -xrm 'xterm*vt100.utf8Fonts.wideFont: 16x16utf'

▼Ctrl-Button3のフォント切り替えで選びたい!

[Ctrl+Button3のMedium]

一緒に使いたい8x16フォントのXLFD名が

8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
16x16utf-misc-fixed-medium-r-normal--16-150-75-75-c-160-iso10646-1
と、対応がとれていないので、xterm の *VT100.utf8Fonts.font4 (Ctrl-Button3 のMedium)としては そのままでは使えません。

アクションとして set-vt-font(e,8x16,8x16,16x16utf)てのが 起動できればいいんですが、Ctrl-Button3 のメニューは set-vt-font(4) 相当のことしかできなくて、カスタマイズ不可。

xterm -xrm 'xterm*vt100.translations: #override\n Meta<Key>M: set-vt-font(e,8x16,8x16,16x16utf)'
で、Alt-M で16x16utfへ切替できますが、こんな設定欲しがる人いないと思います。

16x16utfフォントを -sony-fixed-... で牽けるようにする

元jiskan16のフォントに -sony-... を割り当てるのは 気持ち悪いですが、 半角側のフォントは fonts.alias でごまかせないようなので、苦肉の策で 全角側の XLFD をごまかします。

なお、RHEL 5 のxtermでは -fn -fw での直接指定でも この細工が必要ですので、上のRPMではRHEL5では自動で行うようにしています。

/usr/share/X11/fonts/misc/fonts.alias に、以下を追加します:

-sony-fixed-medium-r-normal--16-120-100-100-c-160-iso10646-1	-misc-fixed-medium-r-normal--16-150-75-75-c-160-iso10646-1
fc-cache /usr/share/X11/fonts/misc; xset fp rehashで適用します。 これで
8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
16x16utf -sony-fixed-medium-r-normal--16-120-100-100-c-160-iso10646-1
と、「avgWdthが倍の160,encdngがiso10646」の条件を満たします。 その後で
xterm -xrm 'xterm*vt100.utf8Fonts.font4: 8x16'
Ctrl-Button3 で Medium を選ぶと16ドット漢字が使えます。 うまくいったら xrdb や ~/.Xresources などに埋めます。
kabe.sra-tohoku.co.jp