日本語フォントの 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 の導入方法について書きます.

  1. 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
         
  2. 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 体を表しています.

  3. /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"
         
  4. 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
Total Access Count