Skip navigation
Home/Support/

Forums

1440 Views 4 Replies Latest reply: Dec 3, 2007 3:30 PM by (by鴨) RSS
User 9 posts since
Oct 16, 2007
Currently Being Moderated

Nov 30, 2007 5:42 PM

半角数字を等幅半角字形に変換

ドキュメント内の半角数字を等幅半角字形に変換するASを作ったのですが、

tell application "Adobe InDesign CS2_J"
activate
tell document 1
set CNT to count of every text frame
repeat with i from 1 to CNT
tell text frame i
tell every character
set glyph form to monospaced half width form
end tell
end tell
end repeat
end tell
end tell

これをJSやVBSに書き換えるとどのように記述するのでしょうか?
“every”のところが良くわかりません。
よろしくお願い致します。

ちなみにVBSで“monospaced half width form”に該当するIDは
“1247897453”のようです。JSはわかりません。

(このスクリプトだと表組内は拾ってこないのでまだまだ改良が必要ですが)
  • User 17 posts since
    Apr 17, 2006
    Currently Being Moderated
    2. Dec 1, 2007 9:40 AM (in response to (cobra1))
    Re: 半角数字を等幅半角字形に変換
    >これをJSやVBSに書き換えるとどのように記述するのでしょうか?
    >“every”のところが良くわかりません。

    JSの場合だと、everyItem()を使うことになるかと思います。
    こんな感じ。
    app.activeDocument.textFrames.everyItem().characters.everyItem().glyph Form = AlternateGlyphForms.monospacedHalfWidthForm;

    ただ、これだと等幅半角字形をもつ全ての文字(仮名なども含む)を等幅半角字形にしていしまうので、自分ならば
    1.検索search()を使って「数字("^9")」を選び出し
    2.「半角数字」の範囲の文字コードならば、「等幅半角字形」にする
    という形にします。

    あと、表組内もそうですが、Document.textFramesだと、Document直下のテキストフレームだけで、インラインやアンカー付き オブジェクト化されていたり、グループ化されているテキストフレームは含まれないので、なおのこと検索を使うべきかと思います。
  • User 17 posts since
    Apr 17, 2006
    Currently Being Moderated
    4. Dec 3, 2007 3:30 PM (in response to (cobra1))
    Re: 半角数字を等幅半角字形に変換
    期待通りに動けば問題ないと思います。<br />(CS2用の)JSだとこんな感じですか。<br /><br />app.findPreferences = NothingEnum.nothing;//検索設定のクリア<br />app.changePreferences = NothingEnum.nothing;//置換設定のクリア<br />var HitList = app.activeDocument.search("^9");//数字を検索<br />for (var i=0;i<HitList.length;i++){<br />     if ("0"<=HitList[i].contents && HitList[i].contents<="9"){<br />          HitList[i].glyphForm = AlternateGlyphForms.monospacedHalfWidthForm; <br />     }<br />}

More Like This

  • Retrieving data ...

Bookmarked By (0)