レイヤー内のテキストのフォントを一括指定する

今回のスクリプトもPhotoshop CS2だと複数のレイヤーを選択できるため不要です。CSのみ有効なスクリプトです。前回はフォントサイズとカラーを設定しましたが、フォントも一括して設定できると便利です。前回とほとんど同じですが、textItem.fontに設定したいフォント名を設定します。以下のスクリプトはMacOS Xでヒラギノ角ゴPro W6に設定するものです。

// レイヤーセット内にテキストレイヤーが含まれる限り処理する(再帰)
function setLayerTextSize(layObj)
{
var i,n = layObj.artLayers.length;
for (i=0; i<n; i++)
{
layType = layObj.artLayers[i].kind;
if (layType == LayerKind.TEXT)
{
layObj.artLayers[i].textItem.font = textFont;
}
}
var ns = layObj.layerSets.length;
for (i=0; i<ns; i++)
{
setLayerTextSize(layObj.layerSets[i])
}
}

textFont = "HiraKakuPro-W6";
//textFont = "Optima-Bold";
setLayerTextSize(activeDocument);

日本語フォントも欧文フォント同様に英語名で指定します。フォントスタイル名を-で区切って記述します。英語名が分からない場合には環境設定でフォントを英語名で表示するようにします。
また、ファイルに使用可能なフォント名を一括してファイルに書き出したいのであれば以下のスクリプトを利用してください。Photoshop CSで指定可能なフォント名をテキストファイルとして保存できます。

fObj = app.fonts;
filename = File.saveDialog("保存ファイル名を入れて下さい");
if (filename)
{
fileObj = new File(filename);
flag = fileObj.open("w");
if (flag == true)
{
for(i=0; i<fObj.length; i++)
{
text = fObj[i];
fileObj.writeln(text);
}
fileObj.close();
}else{
alert("ファイルが開けませんでした");
}
}



[サンプルをダウンロード]