mieki256's diary



2007/06/10() [n年前の日記]

#1 [prog] FontForgeの動作テスト中

スクリプトを指定して動かすことができるらしいので、
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の色を緑や青に、パスの色を黒にしておいて、黒の部分だけ切り出そうとかと。…切り出すスクリプトを書かないと。

以上です。

過去ログ表示

Prev - 2007/06 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project