[M+ OUTLINE FONTS 370] FontForge スクリプトの簡略化

Zurück zum Archiv-Index

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*****>



mplus-fonts-dev メーリングリストの案内
Zurück zum Archiv-Index