DTP駆け込み寺

[ 返信 ]

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

(z-)さん、ご回答ありがとうございます。
そして、ditahackさん、わざわざこちらまでお越しいただいた上に
アドバイスまでいただきまして誠にありがとうございます。

ご指摘の点をふまえまして、下記のように改変しました。
改変した箇所のみ記載します。

/*******************************************************************************
* [概要] メインルーチン
*******************************************************************************/
function main() {
if (app.documents.length == 0) {
myError("文書が開かれていません。\n文書を開いてから実行してください。");
}
readFontReplaceFile(); // 外部ファイルから、旧フォント名と新フォント名の対応を読み込む
replaceFont(); // 検索・置換機能を使ってフォントを指定のフォントに置き換える
}

/*******************************************************************************
* [概要] 外部ファイルから、旧フォント名と新フォント名の対応を読み込む
*******************************************************************************/
function readFontReplaceFile() {
//置換前と置換後のフォント名をカンマ区切りで配列に入れる
var motoFontList = [
"A-OTF じゅん Pro\t34,A-OTF 勘亭流 Std\tUltra",
"ウインクス-S7-JTCウインS7\tBold,A-OTF 勘亭流 Std\tUltra",
"A-OTF フォーク Pro\tM,A-OTF 勘亭流 Std\tUltra"
];
for ( i=0 ; i<motoFontList.length ; i++ ) {
var myObj = motoFontList[i]; //
var tmpArray = myObj.split(","); // カンマで文字列を分割して、配列に格納
oldFontList.push(tmpArray[0]); // 置換前のフォント名を配列にプッシュ
var tmpFontObj = app.fonts.item(tmpArray[1]); // フォントオブジェクトを取得
if (tmpFontObj != null) {
newFontList.push(tmpArray[1]); // 置換後のフォント名を配列にプッシュ
newFontObj.push(tmpFontObj); // 置換後のフォントオブジェクトを配列にプッシュ
} else {
aleart("システムにインストールされていないフォントです\nフォント名 = "+tmpArray[1]);
}
}
}

以上になります。
残念ながらまだ完全ではありません。
置換前のフォントとして「システムにないフォント」を指定した場合は正しく動作しません。
置換後のフォントへは変更されず、何も起きないのです。
ちなみ、こちらのテスト環境では「ウインクス-S7-JTCウインS7\tBold」がシステムにないフォントです。

[13920] しるしる (2012/04/20 Fri 13:35)


残り14件

  1. [13903] InDesign JavaScriptでフォント置換は? しるしる 2012/04/19 11:57 *
    1. [13904] Re: InDe JSでフォント置換は? (z-) 2012/04/19 12:25
      1. [13905] Re^2: InDe JSでフォント置換は? (z-) 2012/04/19 12:26
      2. [13906] Re^2: InDe JSでフォント置換は? しるしる 2012/04/19 13:10
        1. [13907] Re^3: InDe JSでフォント置換は? (-_-) 2012/04/19 13:29
          1. [13909] Re^4: InDe JSでフォント置換は? (z-) 2012/04/19 14:27
        2. [13908] Re^3: InDe JSでフォント置換は? (z-) 2012/04/19 14:24
          1. [13910] Re^4: InDe JSでフォント置換は? しるしる 2012/04/19 14:54
            1. [13911] Re^5: InDe JSでフォント置換は? (z-) 2012/04/19 15:48
              1. [13912] Re^6: InDe JSでフォント置換は? しるしる 2012/04/19 18:05
                1. [13913] Re^7: InDe JSでフォント置換は? (z-) 2012/04/19 18:51
                  1. [13914] Re^8: InDe JSでフォント置換は? ditahack 2012/04/19 22:25
                    1. [13916] Re^9: InDe JSでフォント置換は? (z-) 2012/04/20 10:18
                      1. [13920] Re^10: InDe JSでフォント置換は? しるしる 2012/04/20 13:35
                        1. [13921] Re^11: InDe JSでフォント置換は? しるしる 2012/04/20 13:36
                          1. [13922] Re^12: InDe JSでフォント置換は? (z-) 2012/04/20 14:02
                            1. [13923] Re^13: InDe JSでフォント置換は? しるしる 2012/04/20 15:45
                              1. [13924] Re^14: InDe JSでフォント置換は? (z-) 2012/04/20 18:08
                                1. [13925] Re^15: InDe JSでフォント置換は? しるしる 2012/04/20 20:57
                                  1. [13926] Re^16: InDe JSでフォント置換は? ditahack 2012/04/20 22:18
                                    1. [13927] Re^17: InDe JSでフォント置換は? ditahack 2012/04/20 22:24
                                      1. [13936] Re^18: InDe JSでフォント置換は? しるしる 2012/04/24 12:17
                                        1. [13942] Re^19: InDe JSでフォント置換は? (z-) 2012/04/24 17:05
                                          1. [13944] Re^20: InDe JSでフォント置換は? . 2012/04/25 09:21
                                            1. [20551] Re^21: InDe JSでフォント置換は? たなか 2021/06/03 14:34
                                              1. [20555] Re^22: InDe JSでフォント置換は? (z-) 2021/06/04 12:34
                                                1. [20556] Re^23: InDe JSでフォント置換は? たなか 2021/06/04 17:46
                                                  1. [20557] Re^24: InDe JSでフォント置換は? -e 2021/06/09 13:52