フォント(書体)を指定する

■プログラム説明(ソースコード説明)
 変数selにアクティブドキュメントで選択されたテキストブロックの配列を入れます。テキスト以外が選択されたかどうかはチェックしていません。配列の長さが選択されたテキストブロックの数になります。for命令を使って配列の長さだけ繰り返し処理を行います。テキストブロックからtextRangeを使ってテキストオブジェクトを作成します。このfontプロパティにフォント名を入れると文字の書体が変更されます。

■ソースコード
timesBold = app.textFonts.getByName("Times-Bold");
sel = activeDocument.selection;
for (i=0; i<sel.length; i++)
{
sel[i].textSelection[0].textFont = timesBold;
}

■ポイント
 1文字だけフォントを変更したい場合には以下のようにcharacter配列にあるfontプロパティで指定します。

timesBold = app.textFonts.getByName("Times-Bold");
sel = activeDocument.selection;
for (i=0; i<sel.length; i++)
{
sel[i].textSelection[0].characters[0].textFont = timesBold;
}

 日本語書体の場合には日本語でなくシステムで使用されている英文字を指定する必要があります。主なものを以下に示します。

Times-Roman
Times-Bold
Times-BoldItalic
Helvetica
Helvetica-Bold
Osaka Osaka
Osaka-Mono Osaka等幅
MS-Gothic MSゴシック
MS-Mincho MS明朝
HiraKakuPro-W6-83pv-RKSJ-H ヒラギノ角ゴPro W6
HiraMaruPro-W4-83pv-RKSJ-H ヒラギノ丸ゴPro
KozGoStd-Heavy-83pv-RKSJ-H 小塚ゴシックStd H
KozMinStd-Medium-83pv-RKSJ-H 小塚明朝Std
GothicBBB-Medium-83pv-RKSJ-H 中ゴシック体
HeiseiKakuGothic-W5 平成角ゴシック W5
Ryumin-Light-83pv-RKSJ-H 細明朝体

 書体を調べる場合には以下のスクリプトを利用すると便利です。選択されたテキストブロックの一番最初の文字のフォントを表示します。

sel = activeDocument.selection;
for (i=0; i<sel.length; i++)
{
sel[0].contents = sel[0].textSelection[0].textFont;
}

■実際のスクリプトをダウンロード(sample.js.zip)