DTP駆け込み寺
  1. [17037] InDesign Javascript 検索置換 まる 2014/07/08 13:27
    1. [17040] Re: InDesign Javascript 検索置換 works014 2014/07/09 11:03
    2. [17042] Re: InDesign Javascript 検索置換 we 2014/07/09 14:30
      1. [17054] Re^2: InDesign Javascript 検索置換 works014 2014/07/11 09:04
        1. [17055] Re^3: InDesign Javascript 検索置換 works014 2014/07/11 09:07
        2. [17057] Re^3: InDesign Javascript 検索置換 we 2014/07/11 10:50
          1. [17058] Re^4: InDesign Javascript 検索置換 works014 2014/07/11 12:04 *
            1. [17059] Re^5: InDesign Javascript 検索置換 we 2014/07/11 16:28
              1. [17061] Re^6: InDesign Javascript 検索置換 we 2014/07/11 16:44
    3. [17045] Re: InDesign Javascript 検索置換 dot 2014/07/09 16:01

[ 返信 ]

InDesign Javascript 検索置換

現在、字形の検索置換のスクリプトを作成しています。
(JIS90 CID→JIS2004 CIDに変換)
一括置換するならスクリプトはネット上で発見することができました。

”逢”の場合
app.findGlyphPreferences.glyphID = 1133;
app.changeGlyphPreferences.glyphID = 8266;
app.documents[0].changeGlyph();

この場合、対象のコードが全て一括で置き換わってしまうようで
下記の内容を追加したく・・・・
1.検索しヒットした字形を選択状態にする
 →イメージは標準機能の「検索と置換」パレットで「検索」を押した動き
2.ヒットした文字列に対し、置換するかどうかのダイアログ表示
3.2で置換するとした場合、置換後次の対象文字を検索し、2〜3を繰り返す

まとめると、一括置換ではなく、ひとつづつチェックしながら置換をしたいです。
ご教授よろしくお願い致します。

[17037] まる (2014/07/08 Tue 13:27)

[ 返信 ]


Re: InDesign Javascript 検索置換

スクリプトを使わずとも、正規表現で検索置換できるでしょうね。
あらかじめ文字スタイルで「詳細文字形式/異体字/JIS04字形」のモノを作成しておき、検索窓に文字集合として [90JIS→04JISで例示字形に変更のあった文字群] を列挙し、「置換形式」で件の「文字スタイル」を選択としておき、ヒットする毎に判断されてはいかがでしょうか?
※検索窓にどれくらい入力できるのかは検証しておりませんが…

[17040] works014 (2014/07/09 Wed 11:03) mail web

[ 返信 ]


Re: InDesign Javascript 検索置換

Indesignのバージョンやお使いの書体は何なんでしょうか。
モリサワでしたら単純に検索置換パレットでproからpro6Nへ置き換え異字体を04にすれば良いのでは。

[17042] we (2014/07/09 Wed 14:30)

[ 返信 ]


Re^2: InDesign Javascript 検索置換

> Indesignのバージョンやお使いの書体は何なんでしょうか。
> モリサワでしたら単純に検索置換パレットでproからpro6Nへ置き換え異字体を04にすれば良いのでは。

Pr6Nにした時点で字体は変わってしまいますよ…

[17054] works014 (2014/07/11 Fri 09:04) mail web

[ 返信 ]


Re^3: InDesign Javascript 検索置換

> > Indesignのバージョンやお使いの書体は何なんでしょうか。
> > モリサワでしたら単純に検索置換パレットでproからpro6Nへ置き換え異字体を04にすれば良いのでは。
>
> Pr6Nにした時点で字体は変わってしまいますよ…

やや勘違いかも…
その時点で判断すればいいという意味ならそれでいいですね…異体字の指定は不要です…

[17055] works014 (2014/07/11 Fri 09:07) mail web

[ 返信 ]


Re^3: InDesign Javascript 検索置換

> > Indesignのバージョンやお使いの書体は何なんでしょうか。
> > モリサワでしたら単純に検索置換パレットでproからpro6Nへ置き換え異字体を04にすれば良いのでは。
>
> Pr6Nにした時点で字体は変わってしまいますよ…

inDesignのバージョンによって挙動が違うのでしょうか。
現在CC2014ですが書体をpro6Nに変更しただけでは字形は変わらず併せて異字体を04に指定しなければ変わりません。
うろ覚えですが、確かに以前(cs6以前だったと思います)特定字形を使いたいばかりに、ドキュメント全体の書体をproからpro6Nに変更した事があり、その際「葛」や「芦」など意図しない文字までもがが変わってしまった記憶があります。
2014から敢えて異字体への指定が無い限り標準字形の侭で勝手に変わらない仕様になったのでしょうか。(その挙動が正解だと確かに感じますが)

[17057] we (2014/07/11 Fri 10:50)

[ 返信 ]


Re^4: InDesign Javascript 検索置換

Re^4: InDesign Javascript 検索置換

気になりますので、当方でもCC2014で確認してみました。
ともに標準字形ですが、ご覧のように字体が変更されます。
ユニコードは同じでCIDは異なります。ユニコードへの紐付けを2004JISの例示字形変更に合わせたのが「N」付きフォントという理解です。
(一部ポリシーからか変わっていない字種もありますが…)

[17058] works014 (2014/07/11 Fri 12:04) mail web

[ 返信 ]


Re^5: InDesign Javascript 検索置換

お騒がせして申し訳ありませんでした。
pro6Nだと思っていた書体が実はpro6でテストしていたようです。
改めてpro6Nで行ったところおっしゃるとおりの結果です。
つまりは検索置換でpro6Nのみで異字体への追加指定は不要のようです。

[17059] we (2014/07/11 Fri 16:28)

[ 返信 ]


Re^6: InDesign Javascript 検索置換

90ベースと2004ベースでどちらの字形を基本にするかで選択が変わるという事でしょうか。
pro6Nで基本2004ベースで一部90に異字体で戻すのか、pro6で基本90ベースで一部異字体で04変更するのか、と言う選択肢なのかな?

[17061] we (2014/07/11 Fri 16:44)

[ 返信 ]


Re: InDesign Javascript 検索置換

var findChara = app.documents[0].findGlyph();
for (i = 0; i < findChara.length; i++) {
findChara[i].select();
app.activeWindow.zoomPercentage = 400;
var yesNo = confirm("置換しますか?");
if (yesNo == true) {
findChara[i].changeGlyph();
} else {
exit();
}
}

3行目以降をこうしてみてはいかがでしょうか…?

[17045] dot (2014/07/09 Wed 16:01)