日本語フォントの bold 体, italic 体 (2004/03/10)
Tgif で日本語の bold 体や italic 体を表示させたいとふと思い立ち,調べてみました.検索して関係ありそうなページを見ていると,TrueType フォントをおいている fonts.dir ファイルに ds=y と書けば bold 体,ai=0.2 と書けば文字の傾きが指定できて italic 体になる,などという情報を得ました.ところが,fonts.dir に書いてみて xset fp rehash で フォントの再読み込みしてみて xfontsel で確認してみましたが変化はありません.
原因を考えていくと,前提に問題がありました.TrueType フォントを描くのにバックエンドとして,FreeType と X-TT の2つがあって,ds=y や ai=0.2 は X-TT ではなければ,機能しません.
そこで,Debian/GNU Linux での X-TT の導入方法について書きます.
-
apt-get で defoma, x-ttcidfont-conf, vflib2, ttf-kochi-mincho-naga10, ttf-kochi-gothic-naga10 をインストールします.たいていの場合はインストールされているものと思いますが,念のため apt-get install してみましょう.
% sudo apt-get install defoma x-ttcidfont-conf vflib2 \ ttf-kochi-mincho-naga10 ttf-kochi-gothic-naga10
-
1. で x-ttcidfont-conf をいままでインストールしていなかった場合は,"xtt" か "freetype" か聞かれます.そのときは "xtt" と答えましょう.その次の質問はどちらでも構いませんが,フォントを綺麗に描かせたいならば,"No" と答えましょう.x-ttcidfont-conf をインストールしていたならば,質問してもらうために次のコマンドを実行しましょう.
% sudo dpkg --reconfigure x-ttcidfont-conf
/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/fonts.dir を確認して
ds=y:ai=0.4:kochi-mincho-subst.ttf \ -kochi-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1983-0
というような行ができていればオーケーです.なお,この例は東風明朝フォントの bold italic 体を表しています. -
/etc/X11/XF86Config-4 の Section "Files" に次の2行を書き加えます.
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
さらに,Section "Module" に xtt の行を加え,freetype の行をコメントアウトします.
#Load "freetype" Load "xtt"
-
X 再起動か xset fp rehash をして,xfontsel を確認してみましょう.例えば,"-kochi-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1983-0" が指定できて表示されるフォントが日本語の bold italic 体になっていればオーケーです.
さて,ここまでできれば,Tgif で描かせることは簡単です.X リソースを書き込むファイル (.Xresources とか .Xdefault など) に次を書き加えましょう.
Tgif.DefaultSingleByteFont: Times Tgif.SquareDoubleByteFonts: \n\ -kochi-mincho-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\ -kochi-mincho-bold-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\ -kochi-mincho-medium-i-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\ -kochi-mincho-bold-i-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\ \n\ -kochi-gothic-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\ -kochi-gothic-bold-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\ -kochi-gothic-medium-i-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\ -kochi-gothic-bold-i-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\ \n\ -kochi-mincho-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\ -kochi-mincho-bold-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\ -kochi-mincho-medium-i-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\ -kochi-mincho-bold-i-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\ \n\ -kochi-gothic-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\ -kochi-gothic-bold-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\ -kochi-gothic-medium-i-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\ -kochi-gothic-bold-i-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V Tgif.DoubleByteInputMethod: kinput2 Tgif.RyuminShowFontChar: 明 Tgif.GothicBBBShowFontChar: ゴ
これで,Tgif で日本語の bold 体や italic 体が表示できるになっていると思います.他の X アプリケーションでも日本語の bold 体や italic 体が使えるようになっています.
Tgif 上で日本語の bold 体や italic 体を使用しても印刷すると roman 体になっています.ps に変換する際の問題と思いますので解決したら更新します.
梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp Last modified: 2020/05/02 13:04