HOME / コンピュータTips / Windows / ASTEC-X経由のXアプリ(KTerm,EMACS)のフォントサイズを変更する

Date: 2001/07/21 |  このエントリーをはてなブックマークに追加  |  Tags: astecx, kterm, emacs, pcf, kaname

解像度によっては14ドットフォントでは大きすぎるので、12ドットフォントで文字を表示したいと思う。実は結構複雑なので全てをひとつのドキュメントとして扱って恐縮ではあるが、フォントのインストールというフェーズは下記のような順序で行う。

  1. Xサーバにフォントをインストールする。
  2. Xアプリのデフォルトフォントをかえる方法。
  3. Xアプリから選択可能にする方法。

例によってXサーバはWindows上でastec-Xを使っている。理由を説明すると、

  1. GUIソフトではなくUNIXのシステムそのものが便利で使っている。
  2. 結局UNIXのGUIアプリは、EMACSとKTermぐらいしか使っていない。
  3. GUIアプリは大体のソフトでWindowsの方がよくできていることが多い。
  4. (特に新しいディスプレイカードを)XFree86をセットアップするよりも、Windowsでセットアップするほうが楽なことが多い。

100BaseでつなげばXサーバも遅くはない。結局UNIXはターミナルとエディタしかほとんど使っていないし自作ソフトは大抵CUIである。そして別にGUIソフトがWindows上のX Serverに跳ばないわけではない。

以上の理由から、良いとこ取りということでUNIXはWindowsの上からastecXを経由して利用している事が多い。特にastecX付属のXlaunchを利用すれば、ターゲットのUNIXのrexecさえ生かしておけば、EMACSもKTermもWindowsのショートカットから起動できる。

問題はastecXが高価(法人7万個人3万)なことであるが、Version 1.3で購入して今は3.0系だ。ここまでのバージョンアップでお金を取られたことがない。しかもすでに6年利用している。6年前といったらWindowsNT3.51を使ってた時期だ。この当時から使っているアプリで(バージョンアップコストを払うことなく)今も使えているアプリなんて他にはほとんどない(Beckyが次点)。そう考えると個人3万なら悪く無い……が、絶対的には高いよな。

Xサーバにフォントをインストールする。

ここではXサーバにAstecXを利用している。他のXサーバ(XFree86、Acceralated X、Exceed Xなど)を使っている人は、それぞれの環境に合わせてインストールが必要になるだろう。

まずは、www.jp.freebsd.orgのports検索で「kaname」を検索しよう。

kanameとは懐かしき満開製作所、懐かしきSX-WINDOW on X68kで重宝した要町フォントをXにポートしたものだ。Packageをgzなのでそれをダウンし展開する。

展開した中にpcfフォントが入っているがgzで圧縮されているので全て伸長。

lib/X11/fonts/local/kaname-latin1.pcf
lib/X11/fonts/local/knm12p.pcf
lib/X11/fonts/local/knm12pb.pcf
lib/X11/fonts/local/knmhn12x.pcf
lib/X11/fonts/local/knmzn12x.pcf
lib/X11/fonts/local/knmzn12xb.pcf

この6つをastecXのMISCディレクトリにコピーする。

MISCには他のフォントも入っているので、font.aliとfont.dirを記述する。

fonts.dirは下記の6つを一番下にでも追加する。ついでに1行目の数字に6を足す(私の環境では74だったので80にした)。

knm12pb.pcf -mnkaname-gothic-bold-r-normal--12-110-75-75-p-120-jisx0208.1983-0
knm12p.pcf -mnkaname-gothic-medium-r-normal--12-110-75-75-p-120-jisx0208.1983-0
knmhn12x.pcf -mnkaname-fixed-medium-r-normal--12-110-75-75-c-60-jisx0201.1976-0
knmzn12xb.pcf -mnkaname-fixed-bold-r-normal--12-110-75-75-c-120-jisx0208.1983-0
knmzn12x.pcf -mnkaname-fixed-medium-r-normal--12-110-75-75-c-120-jisx0208.1983-0
kaname-latin1.pcf -mnkaname-fixed-medium-r-normal--12-110-75-75-c-60-iso8859-1

次にfonts.aliに書き足す。単なるaliasである。

k12          -mnkaname-fixed-medium-r-normal--12-110-75-75-c-120-jisx0208.1983-0
k12b         -mnkaname-fixed-bold-r-normal--12-110-75-75-c-120-jisx0208.1983-0
r12          -mnkaname-fixed-medium-r-normal--12-110-75-75-c-60-jisx0201.1976-0
a12          -mnkaname-fixed-medium-r-normal--12-110-75-75-c-60-iso8859-1

以上を変更したらastecXを一度落として再び起動。

ktermのプロンプトあたりから、xlsfonts | grep kanameとでもやると、フォントが出てくるはずである。

Xアプリのデフォルトフォントをかえる方法。

これらは~/.Xdefaultに記述されているので、

Ktermの場合は、

*VT100*fontList:        -*-fixed-medium-r-normal--12-*,\
                        -*-gothic-medium-r-normal--12-*

に追加、EMACSの場合は、

Emacs.font: -*-fixed-medium-r-normal--12-*-*-*-*-*-fontset-12

と記述。

これで起動時に要町フォントが使われるはず。

Xアプリから選択可能にする方法。

実は私は12ドットフォントがデフォルトでは使ってなく、普段は14ドットフォントしか使っていない。しかし時折画面の都合などで12ドットが欲しくなるだけだ。

FreeBSDのXFree86の設定ファイルはここにある。

/usr/X11R6/lib/X11/app-defaults/

ということでここにEmacsとかKTermとかがあれば最初にこれらの二つをホームにコピーしてからエディットしてもよいし、該当の部分を.Xdefaultに追加してもよい。

現状、どのようなフォントがastecX経由で使えるかというと、

xlsfonts | grep fixed-medium-r-normal--

と入力するといくつかが出てくる。この中で日本語で使えそうなのはいくつかあるのだが、いまインストールした12を加えてだいたい、

12、14、16、24ドットが日本語で表示できる。16→24の差が多いので英語だけしかないが20も追加し、12、14、16、20、24が切りかえられて14ドットモードで表示できる環境を作ってみよう。

まずはEmacs。どうってことはないだろう。

Emacs.font: -*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14
Emacs.Fontset-0: -*-fixed-medium-r-normal--12-*-*-*-*-*-fontset-12,\
  ascii:-*-fixed-medium-r-normal--12-*-iso8859-1,\
  japanese-jisx0201.1976: -*-fixed-medium-r-normal--12-*-jisx0201.1976-0,\
  japanese-jisx0208.1983: -*-fixed-medium-r-normal--12-*-jisx0208.1983-0
Emacs.Fontset-1: -*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14,\
  ascii:-*-fixed-medium-r-normal--14-*-iso8859-1,\
  japanese-jisx0201.1976: -*-fixed-medium-r-normal--14-*-jisx0201.1976-0,\
  japanese-jisx0208.1983: -*-fixed-medium-r-normal--14-*-jisx0208.1983-0
Emacs.Fontset-2: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-16,\
  ascii:-*-fixed-medium-r-normal--16-*-iso8859-1,\
  japanese-jisx0201.1976: -*-fixed-medium-r-normal--16-*-jisx0201.1976-0,\
  japanese-jisx0208.1983: -*-fixed-medium-r-normal--16-*-jisx0208.1983-0
Emacs.Fontset-3: -*-fixed-medium-r-normal--20-*-*-*-*-*-fontset-20,\
  ascii:-*-fixed-medium-r-normal--20-*-iso8859-1,\
  japanese-jisx0201.1976: -*-fixed-medium-r-normal--20-*-jisx0201.1976-0,\
  japanese-jisx0208.1983: -*-fixed-medium-r-normal--20-*-jisx0208.1983-0
Emacs.Fontset-4: -*-fixed-medium-r-normal--24-*-*-*-*-*-fontset-24,\
  ascii:-*-fixed-medium-r-normal--24-*-iso8859-1,\
  japanese-jisx0201.1976: -*-fixed-medium-r-normal--24-*-jisx0201.1976-0,\
  japanese-jisx0208.1983: -*-fixed-medium-r-normal--24-*-jisx0208.1983-0

これてSHIFT+右クリックでフォントサイズの指定が出来る

次にKTerm

*VT100*fontList:        -*-fixed-medium-r-normal--14-*,\
                        -*-gothic-medium-r-normal--14-*

これはデフォルトの設定。メニューの為には先程のKTermというファイル.Xdefaultというファイルにマージする。

この中で次のような場所を見つけて、下記のように書き直そう。

*fontMenu*font1*Label:	Unreadable
*VT100*fontList1:	-*-fixed-medium-r-normal--2-*,\
			-*-gothic-medium-r-normal--2-*,\
			-*-mincho-medium-r-normal--2-*
*VT100*font1:		-misc-nil-medium-r-normal--2-*-misc-fontspecific
*fontMenu*font2*Label:	Tiny
*VT100*fontList2:	-*-fixed-medium-r-normal--12-*,\
			-*-gothic-medium-r-normal--12-*,\
			-*-mincho-medium-r-normal--12-*
*fontMenu*font3*Label:	Small
*VT100*fontList3:	-*-fixed-medium-r-normal--14-*,\
			-*-gothic-medium-r-normal--14-*,\
			-*-mincho-medium-r-normal--14-*
*fontMenu*font4*Label:	Medium
*VT100*fontList4:	-*-fixed-medium-r-normal--16-*,\
			-*-gothic-medium-r-normal--16-*,\
			-*-mincho-medium-r-normal--16-*
*fontMenu*font5*Label:	Large
*VT100*fontList5:	-*-fixed-medium-r-normal--20-*,\
			-*-gothic-medium-r-normal--20-*,\
			-*-mincho-medium-r-normal--20-*
*fontMenu*font6*Label:	Huge
*VT100*fontList6:	-*-fixed-medium-r-normal--24-*,\
			-*-gothic-medium-r-normal--24-*,\
			-*-mincho-medium-r-normal--24-*

要するにフォントサイズのメニューを変更。デフォルトでは選択しても見えない物があった。今ではLargeだけ日本語が見れないがTinyが要町フォントになり快適だ。言うまでもなくCTRL+右クリックでフォントを選べるようになるだろう。