[フォント作成] FontForge [PfaEdit]

このエントリーをはてなブックマークに追加
883名無しさん@お腹いっぱい。
「Linux上のフォント」スレから引っこしてきました。

縦書きで、約物(カギカッコや句読点など)が縦書きになってくれないフォントがあります。
IPAフォントなどは正しく表示されるのに、ダイナフォント(ttc)ではうまく行かない。
GSUB テーブルが無いと言われる。

もちろん縦書き用のグリフは入っているハズなので、FontForge でGSUBテーブルを
作成すればよいと思うのですが、グリフの番号の対応がわからない。全字形を見ながら
1つ1つ手作業で入力するのは大変です。何かうまい方法はありませんか。
884883:2010/02/18(木) 23:53:28 ID:YOmJl+rZ0
morx によるグリフ置換のテーブルは、fontforge が把握しているようです。
これから一気に GSUB の vert か vrt2 のテーブルを作成できないものでしょうか。
885名無しさん@お腹いっぱい。:2010/02/19(金) 00:47:39 ID:muNpZauQ0
fontforgeで作成したttfは、mac版のWordでは日本語として認識されないのでしょうか?
886883:2010/02/19(金) 00:49:10 ID:e+lxvPXo0
グリフ1つ1つについて情報を表示させ、morx を GSUB/vrt2 に変更する方法はわかりました。
しかしこれでもまだ面倒です。

sfdファイルを吐き出させて、テキストエディタで文字列置換をしてみたらうまく行きました。
しかしこれもまだ迂遠な感じがします。fontforge上で一気にできませんか???
887883:2010/02/19(金) 07:52:44 ID:e+lxvPXo0
結局

(1) まずは ttc を ttf にバラす。
(2) fontforge を -script で用い、sfd を生成する。
(3) sed を用いて sfd の morx によるテーブルを GSUB/vrt2 のテーブルに変換。
(4) fontforge を -script で用い、ttf を生成する。
(5) ttf を ttc に合体させる。

って感じで、全部自動化できました。 私としては(3)の部分も fontforge にやって
欲しかったのですけどね。 やり方をご存知の方がいらっしゃれば、教えてください。
888883:2010/02/19(金) 13:32:55 ID:e+lxvPXo0
あと >>887 の(5)で ttc が元のttcの2倍近いサイズになってしまいます。
入っている face は3個なので ttf 3つ分のサイズに比べれば 2/3 、
ttcにすることが無駄というわけではないのですが、ちょっと残念です。