スクリプト

使用フォント一覧をテキストファイル出力するスクリプト「exportFontName.jsx」

実行すると、開いているaepファイルと同じフォルダに、使用フォント一覧テキストファイルを出力します。

[解説]

var fileObj = new File(decodeURI(app.project.file.parent)+"/dev["+decodeURI(app.project.file.name)+"]使用フォント一覧.txt");
    fileObj.encoding = "UTF-8";
var flag = fileObj.open("w");

var compName="";

if (flag == true){//ファイルが開けなければ終了

    // プログレス準備
    var greWin = new Window('window','実行中',[500,500,800,580]);
    var st=greWin.add('statictext',[20,10,130,30],"全体の進行状況");
        greWin.Dilog = greWin.add("progressbar",[20,30,280,40],0,100);
        greWin.center();
        greWin.show();
    var allFontsAr = [];

    var tx=
        "["+decodeURI(app.project.file.name)+"]\r"+
        "aep使用フォント名一覧\r\r";
        
        tx+=
            "*---------------------------------\r"+
            "*[コンポジション名]\r"+
            "*---------------------------------\r"+
            "*     (レイヤー番号):[テキストレイヤー名]\r"+
            "*          : フォント名\r\r";

        //プロジェクトウィンドウ全検索
        for (i=1; i<=app.project.items.length; i++){
            var itm = app.project.item(i);
            if(itm instanceof CompItem){// - [compなら]中身も全検索
                for(var j=1;j<=itm.numLayers;j++){//コンポジション内全検索
                    var lyr = itm.layer(j);//ファイル置換はitm.nameに、テキスト変換はlyr.nameに適用
                    var isTxt=lyr.property("Source Text");
                    if(isTxt!=null){
                        if (compName!=itm.name){
                            compName=itm.name;
                            tx+="\r---------------------------------\r";
                            tx+="["+compName+"]コンポ\r";
                        }
                            tx+="\r"+"    #" + lyr.index + " [" + lyr.name+"]レイヤー\r";
                            tx+="     " + " : " + isTxt.value.font+"\r";
                            allFontsAr.push(isTxt.value.font);
                    }
                }
            }
        }

    f_arrayUnique(allFontsAr);//重複削除

    allFontsAr.sort(//番号順にソート
        function(a,b){
            if(a<b)return -1;
            if(a>b)return 1;
            return 0;
        }
    );

    tx+="\r\r全フォント一覧\r"+allFontsAr.join("\r");

    fileObj.write(tx);
    greWin.close();
    fileObj.close();

    alert("aep使用フォント名一覧 - 書き出し完了");

}else{
    alert("ファイル保存取り消し");
}



//配列重複削除
function f_arrayUnique(ary){
    var i, j, len;
    i = 0;
    len = ary.length;
    while(i < len){
        j = i + 1;
        while(j < len){
            if(ary[j] === ary[i]){
                ary.splice(j, 2);
                len--;
            }else{
                j++;
            }
        }
        i++;
    }
}

出力されるファイル例

[sample.aep]
aep使用フォント名一覧
*---------------------------------
*[コンポジション名]
*---------------------------------
 (レイヤー番号):[テキストレイヤー名]
   : フォント名

[コンポ1]コンポ
#1 [テキストレイヤー 2]レイヤー   : 03SmartFontUI
#2 [テキストレイヤー]レイヤー   : 03SmartFontUI

[コンポ2]コンポ
#2 [テキストレイヤー 3]レイヤー   : 03SmartFontUI
#3 [テキストレイヤー 2]レイヤー   : 03SmartFontUI
#8 [テキストレイヤー]レイヤー   : 03SmartFontUI

全フォント一覧
03SmartFontUI

このようにコンポジションの構造もわかるように残していきます。

コンポジション名、レイヤー番号、テキストレイヤー名、フォント名と個別表示に加え、最後に全フォント一覧を列挙します。

使用しているフォントをフォルダに集める際に活躍します。

ダウンロード

After Effectsスクリプトでのフォント関連設定は2段階の手間が必要前のページ

使用エフェクト一覧をテキストファイル出力するスクリプト「exportFxName.jsx」次のページ

ピックアップ記事

  1. なぜ?After Effectsの操作を「スクリプト」で効率化
  2. なぜ?After Effectsのレイヤーをエクスプレッションで効率化
  3. フリーランスの開業届提出は開業freeeでとにかく簡単に

関連記事

  1. スクリプト

    選択レイヤーサイズのマスクをシェイプで描くスクリプト「addShapeMask@rect.jsx」

    テキストに合わせたサイズの、さらにサイズ追従するエクスプレッションを仕…

  2. スクリプト

    選択順にレーザー線を追加するスクリプト「fakePlexus.jsx」

    記事「レーザーの線で繋ぐエクスプレッション」をスクリプト化。…

  3. スクリプト

    After Effectsのスクリプトの書き方

    After Effectsのスクリプトを作るのに必要なものを紹介します…

  4. スクリプト

    リンク切れフッテージのファイルパス一覧をテキストファイル出力するスクリプト「exportDeadLi…

    実行すると、開いているaepファイルと同じフォルダに、ソースが「不明」…

  5. スクリプト

    AEでも前方選択するスクリプト「selectForword.jsx」

    PremiereにはあるのにAfter Effectsにない標準ツー…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA