選択されたテキストフレーム内の文字を1文字づつあたっていき連続数字なら等幅半角字形に1ケタ数字なら等幅半角字形で前後に4分アキを入れる。
本当に1文字づつあたっていく超ベタなスクリプト。ほんとはずかしい。serchを使った方が早いですね。興味ある方はチャレンジしてみてください。
CS3なら正規表現
CS4なら正規表現スタイルを使った方が良いです。
set findList to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"} set findListCount to count findList tell application "Adobe InDesign CS2_J" tell document 1 set selectedItems to selection if selectedItems is {} then display dialog "テキストフレームを選択ツール(黒矢印)で¬ 選択してください。" return end if repeat with selItem in selectedItems if class of selItem is not text frame then display dialog "テキストフレームを選択ツール(黒矢印)で¬ 選択してください。" return else set Pnum to count paragraphs of selItem repeat with P from 1 to Pnum set myPara to paragraph P of selItem set FLG to false repeat with FL from 1 to findListCount if item FL of findList is in myPara then set FLG to true exit repeat end if end repeat if FLG is true then set Cnum to count characters of paragraph P of selItem repeat with N from 1 to Cnum if N = 1 then set TXTpre to "★" else set TXTpre to contents of character (N - 1) of ¬ paragraph P of selItem end if set TXT to contents of character N of paragraph P of selItem if N = Cnum then set TXTaf to "★" else set TXTaf to contents of character (N + 1) of ¬ paragraph P of selItem end if if TXTpre is in "01234567890123456789,." and ¬ TXT is in "01234567890123456789,." then set glyph form of character (N - 1) of paragraph P of ¬ selItem to monospaced half width form --等幅半角字形 set glyph form of character N of paragraph P of ¬ selItem to monospaced half width form --等幅半角字形 else if TXTpre is not in "01234567890123456789"¬ and TXT is in "01234567890123456789" ¬ and TXTaf is not in "01234567890123456789" then set properties of character N of paragraph P ¬ of selItem to {glyph form:monospaced half width form,¬ trailing aki:0.25, leading aki:0.25} end if end repeat end if end repeat end if end repeat end tell end tell display dialog "終了しました"
コメントする