というわけで、フォント製作で使うための Illustrator CS6 用グリフ出力プラグインを作成してるわけなんだけど、どうにもうまく動作しなくて困っちゃってるわー。

 

プラグインの内容は、下記画像のようなガイドが引かれた .ai ファイル内のパスを文字ごとに .emf ファイルに出力するというモノ。

 

位置ずれ-01

指定したフォルダー内に “0x0030.emf” みたくキャラクターコードに拡張子付けて保存するだけといういたってシンプルなモノなんだけど…。

 

文字出力用に一時的に作成したドキュメント(AIDocument)に文字のパスをコピーすると位置がズレるという現象が。

位置ずれ-02

ちなみに TTEdit 内での位置合わせ用ガイドのパスも位置ズレがーヽ(;´Д`)ノ

 

文字のパスは AIArtSuite::DuplicateArt() を使用してただドキュメント間のコピーをしてるだけ。

ガイド用パスは AIPathSuite::SetPathSegments() でコピー元ファイルのガイドパスの位置情報を使用して、そのままの座標にパスを追加してるだけ。

 

…と、私は思ってるんだけど、API の仕様でよくわかってないトコロが多いからなんでズレるか原因がサッパリなのよねー。

 

 

ちなみに、.emf ファイルに出力したブツを TTEdit に読み込む際は TTEdit 側が自動的に位置とサイズを調整するから、文字とガイドの位置関係さえ合っていれば座標はどこでもいいんだけど、はてさて、どうしたものかしら。

 

あと、時々プラグイン内で使ってる AIDocumentListSuite::New() が例外を発生させる原因もわからないのよね。

同じパラメーターで何十回と呼び出していると、時々おこるんだけど、これまた。

 

ぐぬぬ。

 

 

 

 


↓ランキングに参加してます↓
ブログランキング・にほんブログ村へ
人気ブログランキングへ