GSUB による縦書フォント

Nobuyuki Tsuchimura tutim****@nn*****
2005年 9月 29日 (木) 17:55:11 JST


  土村です。

From: Takanori Uchiyama <uchiy****@appi*****>
Subject: Re: GSUB による縦書フォント
Date: Wed, 28 Sep 2005 19:23:31 +0900 (JST)
Message-ID: <20050****@appi*****>

> > (a) freetype2.1.10 以降を必須にする
> 
> ソースからの make では必須にして, libfreetype.a を static link する.

  freetype-2.1.10 を手元の環境で make してみました。
結構簡単に make できますね。
Linux だけでなく Solaris 8/9 や FreeBSD 4.7-STABLE でも OK でした。
gcc 2.95.2 なんかの古いものでもコンパイルできてます。
標準の make ではなく、GNU make を要求しますが、
このぐらいは許容範囲でしょう。

  freetype-2.1.10 は、インストールはしなくてもよくて、
make しただけで置いておく、
xdvi からはそれを static link する、
ということにしましょうか。

> >   どちらにしても vfontmap の書式は、
> > もう一度考え直した方がよいでしょうね。
...
> GID→GID: Identity-H と Identity-V を連想するもの
> JIS→unicode: JIS を連想するもの + -H or -V のような感じ. 
> unicode→unicode: unicode を連想するもの + -H or -V のような感じ.

  賛成です。
結局のところ、dvipdfmx の cid-x.map から
かなりの表現を輸入するということですね。

  今までの vfontmap の表現との対応を考えると、
こんな感じでしょうか。

組み方向   今まで     これから
   H       (空白)     H
   V       (空白)     V
   H       unicode    Unicode-H
   V       unicode    Unicode-V
   H       adobejapan Identity-H
   V       adobejapan Identity-V
   V       cidv       V
   V       tate       H

  Unicode-{H,V} の判定は、先頭3文字の 'Uni' で行えば、
CMap 名の 'UniJIS-UCS2-{H,V}' なんかが来ても大丈夫ですので、
都合いいでしょうか。

  dvipdfmx の -s, -e による slant, extend の指定は、

FT_Matrix matrix = { (int)((1<<16)*extend), (int)((1<<16)*slant),  0, 1<<16 };
FT_Set_Transform( face, &matrix, 0 );

で表現できそうですので、このまま採用しましょうか。
もっとも xdvi では、一文字あたりの領域からグリフがはみだすと、
妙なことになってしまいますので、
気持ちだけのサポートということにしたいです。


> TTC の index 指定は, dvipdfmx と同様に
> msminp H :1:msmincho
> のように, コロンで挟む.
> FreeType の API を呼ぶときには,
> FT_New_Face(library, fontpath, 0, &fonts[fontsmax].face );
> の 0 の部分を当該 index に変えればよい.

  face_index もこれでいいですね。

> ただし, 1 を指定して, プロポーショナルなグリフを使うときには, TFM の場
> 合と JFM または OFM な場合があります. 現状では, vfontmap に記述されて
> いるものは, JFM であることが前提除件になっています. 
> この部分の修正, 少々手間かもしれません.

  やはりフルサポートは先送りですか。


  CMap のサポートについても、
実装自体は簡単そうなんですが、ひとまず先送りにします。
OpenType でも GSUB が使えるので、縦書には困らないのですね。
自分で試すまで気付きませんでした。
-----
土村 展之     Nobuyuki Tsuchimura



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