KANOU Hiroki
kanou****@khdd*****
2003年 11月 7日 (金) 13:04:53 JST
狩野です。 [Mplus-fonts-dev 26] にて森下さん: > eps の文字データですが、作成時に何か気をつける事とか、 > 修正すべき点とかありませんでしょうか? 最初から仮想ボディの左端とベースラインの交点が (0,0) に なるようにしていただけると、Move() しないで済むのですが…。 > 例えば、狩野さんにご指摘いただいた、 > > パスが一部反転しているようです。「い」で言うと、左側のパスが逆向きです。 > の件は直しておかないと駄目ですか? CorrectDirection() を使えばパスの向きを自動調整してくれるのですが、 残念ながら「あ」のように自己交差を含んだパスがあると判定がうまく いかないようです。揃えていただけるとフォントも正しく自動作成できる ようになります。 > それと、現状では仮想ボディ内の文字位置を確定するために 1000 x 1000 の > 仮想ボディ枠を設置していますが、後で除去する手間が必要ですし・・・。 枠のパスの向きが今と逆向きで、文字のパスの向きが最初から正しければ OverlapIntersect() で取り除けます。もちろん、文字のパスの重なりも 結合処理されてしまうので、編集には向きませんが。 手動編集しながら、こんな方法を思いつきました。 ・枠の外側にもう一つ枠をかぶせて、枠を太さのある罫線に変更する。 ・罫線の内側ぎりぎりにまた枠をかぶせる ・OverlapIntersect() する これで動くようです。 とりあえず、スクリプトの改良版を。今度は文字数制限はありません。 「pfaedit -script mplus.pe mplus_medium_hiragana/*.eps」のように、 取り込む EPS ファイルをコマンドラインで指定してください。 #!/usr/local/bin/pfaedit -script New() SetFontNames("mplus-medium","mplus","mplus-medium","medium","Copyright (C) 2003 M+ Font Project") Reencode("jisx0208") i = 0; while (i < $argc) jis = Strtol($argv[i]:r:t, 16) Select(jis) Import($argv[i]) Move(75, 10) # 小数は構文エラーになる RoundToInt() SetWidth(1000) i++; endloop Reencode("iso10646-1") Save("mplus-medium.sfd") Generate("mplus-medium.ttf", "", 0) Quit()