InDesign CS3自動化作戦 (InDesign CS3 Automation Operation)

全ページにある全角の英文字を半角の英文字にする

■プログラム説明(ソースコード説明)
 全ページにある全角の英大文字、英小文字を半角の英文字にします。replace()の第二パラメータには置換する文字だけでなく関数も指定することができます。関数からの戻り値が置換される文字になります。

■ソースコード
pageObj = app.activeDocument.pages;
for (i=0; i<pageObj.length; i++)
{
for (j=0; j<pageObj[i].textFrames.length; j++)
{
txt = pageObj[i].textFrames[j].contents;
result = txt.replace(/[A-Z]/gi, repFunc);
pageObj[i].textFrames[j].contents = result;
}
}

function repFunc(chr,ptr,allStr)
{
var hankaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var zenkaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var n = zenkaku.indexOf(chr);
return hankaku.charAt(n);
}


■使い方
1:あらかじめドキュメントを開いておきます。
2:スクリプトを実行します。
3:全角のアルファベットの英文字が半角の英文字になります。


■ポイント
 なし


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

写真素材 PIXTA