GSUB による縦書フォント

Nobuyuki Tsuchimura tutim****@nn*****
2005年 9月 30日 (金) 14:53:27 JST


  土村です。

  ft2vert.{c,h} を commit しました。
freetype-2.1.10 を前提として、
GSUB の vrt2/vert feature を読み取り、
縦書フォントの gid を得ることができます。
xdvi とは独立に書いたので、他のアプリでも使えると思います。

  現在はわざと大量のデバッグコードをいれてあります。
バグがないとわかれば、シェイプアップします。
また freetype-2.1.9 以前でもエラーにはならないようにしてあります。

------------

  xdvi からもテストで使えるようにしました。
freetype-2.1.10 でビルドして(Makefile は適宜修正して下さい)、
TrueType フォントをご用意下さい。
vfontmap には
-----
/usr/X11R6/lib/X11/fonts/TrueType/sazanami-mincho.ttf
  tmin cidv
  jisv cidv
-----
などと、書いていただいて、縦書の文章を見ます。
OpenType フォントなら正常になるところですが、
TrueType フォントを使っているので、役物や拗音が化けます。

  次に vf2ft.c の 1373行からの3行のコメントをはずして
有効にします。代わりに、直前の2行をコメントにします。
(switch 文中の defalt: ラベルの直後です。)
この状態で make すると、役物や拗音が正常になるはずです。
   CoverageFormat = 1
   GlyphCount = 1ea
  GlyphCount   = 1ea
などというデバッグ情報も stdout に大量に表示されるはずです。

  OpenType フォントで試していただいてもよいですが、
見掛け上の変化はないので、テストとしては面白くありません。

  もし文字化けが起こるようだと、
freetype-2.1.10 をちゃんと使えてるかどうか、
確認してください。ヘッダの include とライブラリ
freetype-2.1.10/objs/.libs/libfreetype.a
をリンクできているかの2点がポイントになります。

  手元では、以下のフォントで試しました。

sazanami-gothic.ttf  sazanami-mincho.ttf
lxgothic.ttc lxgothub.ttc lxmgoth.ttc  lxmincho.ttc lxpop.ttc
dfbrr7.ttc  dffry2.ttc  dfkai7.ttc  dfminc.ttc  dfpost7.ttc

さざなみ2書体とリコーの LX 5書体でうまく動いています。
Dyna フォントの DF 5書体には、GSUB テーブルがないようで、
dvipdfmx でも変になります。これはしょうがないでしょう。

---------

  ある程度動作確認していただけたら、
→vfontmap の書式変更
→内部処理の簡略化(不要ルーチンの削除)
という順序で作業していくのがよいと思います。
-----
土村 展之     Nobuyuki Tsuchimura



Xdvi-users メーリングリストの案内
Back to archive index