ユーザーにフォントを選択させるダイアログを関数化したサンプルです(ドキュメントで使われているフォントに制限)。返り値はFontオブジェクトになっています。

//--------------------------------------
//	フォント選択ダイアログ
//--------------------------------------
function getFonts() {
    br= String.fromCharCode(13); //改行
    //ドキュメントが開かれているか
    if (app.documents.length === 0) {
        alert('ドキュメントが1つも開かれていません'+br
            +'このボタンで選べるのはドキュメントで使用されているフォントだけです');
        return undefined;
    }
    //menuコンテンツ作成
    var fontList = app.activeDocument.fonts;
    if (fontList.length === 0) {
        alert('このドキュメントには使用されているフォントがありません'+br
            +'このボタンで選べるのはドキュメントで使用されているフォントだけです');
        return undefined;
    }
    var nameList=[];
    //メニュー用フォント名取得
    for( var i=0; i<fontList.length; i++) {
        nameList.push ( fontList[ i ].name ); 
    }
    //フォント選択用ダイアログ表示
    var wObj = app.dialogs.add({ name : 'フォントの選択' });
    var tmp1 = wObj.dialogColumns.add(); //ダイアログコラムを追加
    var dList = tmp1.dropdowns.add( {minWidth:200, stringList : nameList, selectedIndex:0} ); //dropdownlist追加
    var flag= wObj.show(); //ダイアログ表示()flag=yes or no
    //ダイアログからの戻り
    if (flag== true) {
        res= fontList[ dList.selectedIndex ];
    } else {
        res= undefined;
    }
    wObj.destroy();
    return res;
}

//実行例 var selFont= getFonts(); //Fontオブジェクトとして返ってくる if (selFont !== undefined) { $.writeln (selFont.name); $.writeln ('ファミリー名:'+selFont.fontFamily); $.writeln ('スタイル名:'+selFont.fontStyleName); }

 

 

Joomla templates by a4joomla