2007/06/10(日) [n年前の日記]
#1 [prog] FontForgeの動作テスト中
スクリプトを指定して動かすことができるらしいので、
SourceForge: mplus-fonts/mplus_outline_fonts/scripts/build-ttf.pe
を参考にして、下のようなスクリプトを書いて動かしてみた。
testimport.pe
Windows版 fontforge 簡単 お手軽パッケージで動作確認。batファイル中で FontForge を起動してる行で、-script %FF%testimport.pe と指定してみた。…起動しない。フォントも作られてない。うーん。
VMware + Ubuntu 6.10 + FontForge で動かしてみようと試みる。Windows から持っていった testimport.pe は改行コードがおかしかったので、そのあたりを削除した上で、 -script testimport.pe として渡す。Can't find libxml2 とエラーが出てくる。そもそも svg を import できないみたいだ。libxml2 は既にインストール済みのはずなんだが…。Ubuntu の FontForge は、libxml2 を呼ぶような指定でコンパイルされてない、とかそういうことなんだろうか。よくわからんけど。
改行コードを Linux のソレにした tetimport.pe を Windows版 FontForge に渡して再度挑戦。…ん? 何かの拍子にエラーダイアログが出てくる。その際、svg が綺麗に読み込まれてるときもあるような。しかし確実に読み込ませる方法が判らない。そもそも、読み込んだ後で .sfd を保存してくれるように指定してるのではないかと思うのだけどな。うーん。
動くようになった。
SourceForge: mplus-fonts/mplus_outline_fonts/scripts/build-ttf.pe
を参考にして、下のようなスクリプトを書いて動かしてみた。
testimport.pe
#!/usr/bin/fontforge -script New() Reencode("unicode") _ttfname = "test.ttf" SelectAll() SetGlyphChanged(0) # $trace=1 Import("test_svg/u*.svg") # $trace=0 set_fontnames() set_bearings() set_kernings() Save(_ttfname:r + ".sfd") SelectAll() RemoveOverlap() RoundToInt() set_instructions() Generate(_ttfname, "", 0x94) # Close() # Open(_ttfname) # Generate(_ttfname, "", 0x84) Quit()
Windows版 fontforge 簡単 お手軽パッケージで動作確認。batファイル中で FontForge を起動してる行で、-script %FF%testimport.pe と指定してみた。…起動しない。フォントも作られてない。うーん。
VMware + Ubuntu 6.10 + FontForge で動かしてみようと試みる。Windows から持っていった testimport.pe は改行コードがおかしかったので、そのあたりを削除した上で、 -script testimport.pe として渡す。Can't find libxml2 とエラーが出てくる。そもそも svg を import できないみたいだ。libxml2 は既にインストール済みのはずなんだが…。Ubuntu の FontForge は、libxml2 を呼ぶような指定でコンパイルされてない、とかそういうことなんだろうか。よくわからんけど。
改行コードを Linux のソレにした tetimport.pe を Windows版 FontForge に渡して再度挑戦。…ん? 何かの拍子にエラーダイアログが出てくる。その際、svg が綺麗に読み込まれてるときもあるような。しかし確実に読み込ませる方法が判らない。そもそも、読み込んだ後で .sfd を保存してくれるように指定してるのではないかと思うのだけどな。うーん。
動くようになった。
#!/usr/bin/fontforge -script New() Reencode("unicode") _ttfname = "test.ttf" SelectAll() SetGlyphChanged(0) # $trace=1 Import("test_svg/u*.svg") # $trace=0 Save(_ttfname:r + ".sfd") SelectAll() RemoveOverlap() RoundToInt() Generate(_ttfname, "", 0x94) Quit()set_fontnames() とか set_instructions() とかでエラーが出てるみたい。FontForge の解説文書にもそれら関数?の記述はないのだけど、もしかすると別ファイルで関数定義等が出来る・それを呼び出してるのだろうか…。
◎ VMware + Ubuntu + FontForge でも動いた。 :
libxml2に関係ありそうなものを片っ端から入れたり、FontForge をアンインストール・再インストールしたら、動くようになった。
◎ Inkscape で文字を作成。 :
四角形(rect)で枠を作ってその中にパスを。rectの色を緑や青に、パスの色を黒にしておいて、黒の部分だけ切り出そうとかと。…切り出すスクリプトを書かないと。
[ ツッコむ ]
以上です。