[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:1568) Re: 文字詰めスクリプトを作成したら。。。
>1.選択したテキストのひらがな・カタカナのみを45%詰めるスクリプト
失礼します。三島梅花藻です。
Indesign CS2のJavaScriptで書いてみました。
検索する文字として「ひらがな・カタカナ」をだらだら書いてあるのがみっともないのですが、特定の文字を検索する用途に応用は利くのではないかと思います。
// 選択範囲のひらがな/カタカナを検索して文字ツメを45%にするスクリプト
var range = app.selection[0];
// 検索・置換機能を使用するので、それらを退避しておく
findPreferencesOld = app.findPreferences.properties;
changePreferencesOld = app.changePreferences.properties;
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
// 検索の実行
var HitList = new Array();
HitListSet(range,HitList);
// 文字ツメ45%
for (var i=0;i<HitList.length;i++){
HitList[i].tsume = 0.45;
}
// 退避しておいた検索・置換の設定を復帰する
app.findPreferences.properties = findPreferencesOld;
app.changePreferences.properties = changePreferencesOld;
if (app.findPreferences.kerningMethod=="None") app.findPreferences.kerningMethod = 1851876449;
if (app.changePreferences.kerningMethod=="None") app.changePreferences.kerningMethod = 1851876449;
// ひらがな/カタカナを検索する
function HitListSet(range,list){
var Hiragana = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉゃゅょっ";
var Katakana = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲンヴガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォャュョッ";
var findCharcter = Hiragana + Katakana;
for (var i=0;i<findCharcter.length;i++){
app.findPreferences.findText = findCharcter[i];
var hits = range.search();
for (var j=0;j<hits.length;j++){
list.push(hits[j]);
}
}
}