DTP駆け込み寺

No.13913へ返信

記事投稿フォーム
補助
送信

[ 返信 ]

Re^7: InDe JSでフォント置換は?

> 改変したスクリプトをテストしていて気づいたのですが
> 環境にないフォントを環境にあるフォントに置換することが
> できないようです。

元のスクリプトでは正常に動作しました。
大事なところを改変時になくしてしまってます。
function readFontReplaceFile() の中に、

var tmpFontObj = app.fonts.item(tmpArray[1]); // フォントオブジェクトを取得
if (tmpFontObj != null) {
newFontList.push(tmpArray[1]); // 置換後のフォント名を配列にプッシュ
newFontObj.push(tmpFontObj); // 置換後のフォントオブジェクトを配列にプッシュ
} else {
aleart("システムにインストールされていないフォントです\nフォント名 = "+tmpArray[1]);
}

を復活させましょう。
app.fonts.item("hoge")は「アプリケーションが使えるフォント群のうち、hogeという名前のオブジェクト」という感じです。環境にない場合は当然オブジェクトが見つかりません。
見つからなかった時は置換設定にフォントオブジェクトの名前ではなくフォントの名前と同じ文字列を入れてやる(と動く)という仕組みっぽいです。すごいすごーい。

[13913] (z-) (2012/04/19 Thu 18:51) web