InDesignの勉強部屋BBSの過去ログを追加掲載(2009/08/10)~正規表現・JavaScriptのバージョン
InDesignの勉強部屋BBS 過去ログ保管庫に
InDesignの勉強部屋のInDesignの勉強部屋BBS(掲示板)の過去ログを追加掲載いたしました。
管理者のYUJI様に感謝いたします。
最新のエントリーは以下の通りです。
[3444]合成フォントが置き換わる
[3437]検索置き換えの条件
[3434]「テキストの最後にストーリーの脚注を配置」オプション
[3432]SINGでギブアップ……
[3423]javascriptで画像を拡大縮小する際の基準点について
「[3437]検索置き換えの条件」は特定のフォントの後にスペースを入れたい、という内容でした。
回答としては、以下の者が例として挙げられていました。
正規表現検索で、
検索文字列:(.+)
置換文字列:$1スペース
正規表現って難しそうに感じますよね?
今回の回答は簡単なので、ちょっと解説すると
- 「()」で検索されたものをグループ化すると宣言します
- 「.」で任意の1文字を表します
- 「+」で直前のものを1回以上繰り返しますと宣言します
- 「.+」なので、任意の文字を1回以上繰り返しますと宣言したことになります
- $1はグループ化されたものの最初にヒットしたものを指します
わかりやすい例としては「あああいいい」という文字列を「(あ+)」で正規表現にて検索すると、「あ」が1回以上繰り返したものをグループ化するので、$1には「あああ」が入ります。
今回の回答では「(.+)」の条件に「特定のフォント」の条件が付いているので、「特定のフォント」が終わる部分までが検索でヒットするので、その部分($1)の後にスペースを入れることで、質問の回答になっています。
正規表現はちょっと取っつきにくい部分がありますが、わかると非常に便利に使える機能です。
覚えておくと必ず役に立ちますよ。
「[3423]javascriptで画像を拡大縮小する際の基準点について」はCS2で使っていたJavaScript(ExtendScript)がCS3で使えなくなってしまって…という話でした。回答の最後にこのようなものがありました。
ややうしろむきな方法ですが、CS2のscriptオブジェクトを使いたい時だけ瞬間的にスクリプトエンジンのバージョンを指定してやるといいです
これはおもしろい解決策ですね。
JavaScriptには詳しくないのですが、バージョンを指定することで以前のスクリプトが使えて、互換性が確保されていて、前のバージョンで作成したスクリプトをそのまま使用できるようです。
そういうことをしなくても互換性が保たれる方が本当は良いのですが、新しい機能や改訂などでやむを得ない場合の方法として用意されていることは開発者としては助かるのではないでしょうか。
ウェブブラウザのJavaScriptも「<script language="JavaScript1.2">」「<script language="JavaScript1.5>」などと書くことでバージョンの指定ができます。こんなイメージなのでしょうか。
via ブラウザ、バージョン、プラットフォーム互換 JavaScript と Dynamic HTML
InDesignのBBS 過去ログ保管庫のページは以下のページからご覧ください。












