KANOU Hiroki
kanou****@khdd*****
2005年 1月 25日 (火) 01:18:49 JST
データをわかりやすくする以前に、FontForge のスクリプトをもっと簡略化・ 汎用化すれば、ジェネレータにスクリプトを出力させる必要はなくなるの ではないかと思います。 例えば、mplus-medium.pe だったら、これでいいはずです。 ---------------------------------------------------------------- #!/usr/local/bin/pfaedit -script New() Reencode("unicode") # Set panose (workaround) panose = Array(10) panose[0] = 2; panose[1] = 0; panose[2] = 6; panose[3] = 9; panose[4] = 6 panose[5] = 0; panose[6] = 0; panose[7] = 0; panose[8] = 0; panose[9] = 0 i = 0; while (i < 10); SetPanose(i, panose[i]); ++i; endloop # For scratch build SetFontNames("mplus", "mplus-medium", "mplus-medium", "medium", "Copyright (C) 2005 M+ Font Project") ScaleToEm(850, 150) Import("./work.d/medium/u00/u*.eps") Import("./work.d/medium/u30/u*.eps") Import("./work.d/medium/uff/u*.eps") Select(0x0021,0x007e); Move(0, -400) i = 0x7e; while (++i <= 0xffff) if (DrawsSomething(i)) Select(i); SetWidth(1000); Move(0, -150) endif endloop MergeFonts("mplus_skeleton.sfd") # Save SFD and quit Save("mplus-medium.sfd") Quit() ---------------------------------------------------------------- 勘違いしていたのですが、EPS にした時点で同縮尺になっているので、 単に取り込めばいいだけですよね。ベースラインは違いますが。 New() の部分を、フォント名や panose などがあらかじめ設定された、グリフを 含まないフォントの Open() に置き換えれば、もっと簡潔になりますし、分割 した EPS を全部同じディレクトリに入れてやれば、Import() は 1 回で済みます。 簡便化ついでに一つ村岡さんにお尋ねしたいのですが、codemap で JIS エンコーディングをサポートする必要ってありますか? Unicode 限定にして しまえばコード変換の手間も省けますし、UTF-8 か UCS-2 で Unicode テキスト そのものを書いてしまうようにすれば、見たまんまという意味でこれ以上 直感的なデータ形式はないと思うのですが。 狩野 宏樹 <kanou****@khdd*****>