fstobdfw.tar.gzにした。標準のものを上書きしないように fstobdfw と名前が 変えてある。
使い方は、まず、TrueType 対応の xfs を入れてなければ入れる。
# tar -zxvf <somewhere>/XFree86-xfs-3.3.3.1+xtt1.2-49a.tar.gz -C /もちろん、TrueType フォントも入れて置かねばならない。xfs が動いていなければ
# (cd /usr/X11R6/bin; mv xfs xfs.ORIG; ln -s xfs-TT xfs)
# vi /etc/X11/fs/config
....
catalogue = .......,
...........,
/usr/X11R6/lib/X11/fonts/TrueType
.....
deferglyphs = all
# /etc/rc.d/init.d/xfs startで起動する。フォントパスにフォントサーバーが入っていなければ
$ xset fp+ unix/:-1で、パスに加える。これで、fstobdfw を使う準備は完了。後は
# tar -zxvf <somewhere>/fstobdfw.tar.gz -C /などとして、bdf フォント(上の例では min12.bdf)を生成する。これはアスキーファイルなので後は手で編集できる。
$ fstobdfw -s unix/:-1 \
-fn -watanabe-mincho-medium-r-normal--12-120-75-75-c-120-jisx0208.1983-0 \
> min12.bdf
$ vi min08.bdfのようになっている。BITMAP の部分は16進数であらわされており、これを2進数に変換すれば文字が見えてくる。上の例では、
STARTFONT 2.1
COMMENT
COMMENT copyright
COMMENT
COMMENT WARNING: This bdf file was generated from a font server using
COMMENT fstobdf. The resulting font is subject to the same copyright,
COMMENT license, and trademark restrictions as the original font. The
COMMENT authors and distributors of fstobdf disclaim all liability for
COMMENT misuse of the program or its output.
COMMENT
FONT -watanabe-mincho-medium-r-normal--13-120-75-75-c-125-jisx0208.1983-0
SIZE 12 75 75
FONTBOUNDINGBOX 13 12 0 -2
STARTPROPERTIES 24
FOUNDRY "watanabe"
FAMILY_NAME "mincho"
WEIGHT_NAME "medium"
SLANT "r"
SETWIDTH_NAME "normal"
ADD_STYLE_NAME ""
PIXEL_SIZE 13
POINT_SIZE 120
RESOLUTION_X 75
RESOLUTION_Y 75
SPACING "c"
AVERAGE_WIDTH 125
CHARSET_REGISTRY "jisx0208.1983"
CHARSET_ENCODING "0"
FONT "-watanabe-mincho-medium-r-normal--13-120-75-75-c-125-jisx0208.1983-0"
COPYRIGHT "copyright"
RAW_PIXEL_SIZE 1000
RAW_POINT_SIZE 964
RAW_ASCENT 800
RAW_DESCENT 199
RAW_AVERAGE_WIDTH 1000
DEFAULT_CHAR 8481
FONT_ASCENT 10
FONT_DESCENT 2
ENDPROPERTIES
CHARS 7896
STARTCHAR 2121
ENCODING 8481
SWIDTH 1040 0
DWIDTH 13 0
BBX 13 12 0 -2
ATTRIBUTES 0x03e8
BITMAP
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
ENDCHAR
.....
STARTCHAR 2129
ENCODING 8489
SWIDTH 1040 0
DWIDTH 13 0
BBX 13 12 0 -2
ATTRIBUTES 0x03e8
BITMAP
0000
0e00
1100
1100
0100
0200
0400
0400
0000
0400
0000
0000
ENDCHAR
......
0000 1110 0000 0000 0e00で、問題の文字が?であることがわかる。たしか、BDF 編集用のアプリケーションがあったような気がしたが忘れてしまった。簡単に作れそうなので作ってみるのもいいかも知れない。
0001 0001 0000 0000 1100
0001 0001 0000 0000 1100
0000 0001 0000 0000 0100
0000 0010 0000 0000 0200
0000 0100 0000 0000 0400
0000 0100 0000 0000 0400
0000 0000 0000 0000 0000
0000 0100 0000 0000 0400
BDF の編集が終わったら、PCF に変換する。
$ sed -e 's;ATTRIBUTES 0x;ATTRIBUTES ;' min12.bdf | bdftopcf | gzip -c > min12.pcf.gzてな具合である。ほんとは、sed しなくていいように fstobdfw にパッチをあてるべきだったが面倒。