フレームグリッド上の設定そのままにテキスト連結を解除する

システム部MES課のSです。

今回の内容は、普段からInDesignで組版をしているオペレータで、Javascriptと言うプログラム注1を知っている方向けの話です。

組版オペレータからこんな相談を受けました。
「連結している本文データを分割したいです。」といった内容。

そのオペレータは、Adobe InDesignにデフォルトで連結している本文データを分割するスクリプトが2つ入っている事は知っていたようで、「BreakFrame.jsx」と「SplitStory.jsx」と言う2つのスクリプトはすでに試したが上手くいかず。

なぜかというと、作業しているデータがテキストフレーム注2ではなく、フレームグリッド注3を利用していたことが原因と判明。

undefined
求めているのはこんな感じ・・・。(矢印はテキスト連結を意味します)

 

さて、オペレータの要望を解決すべく色々と調べて行ったところ、AdobeのAdd-onsサイトで過去に「StorySplitter.jsx」というスクリプトが配信されていたことを発見。

今は配信されていないのですが、アメリカのAdobe Communityに記述があったので「これ使えるかも!?」ってことで早速それをもとにスクリプトを作成してみました。

が、しかし・・・それもフレームグリッドの設定が維持出来ず、全てテキストスタイルの設定が有効になってしまい、個別に指定しているスタイルが維持出来ないと言う結果になってしまった。

そこで、いっそうのことスクリプトを読み解き(拙いプログラム知識を駆使して)全てを自分が使用しやすい様に作り直すことに(さて、昔にプログラムの勉強をしたのが役立つか・・・。)

試行錯誤しながら作成。そして、作ったスクリプトの動作を確認しました。
あれ?CS5まではきちんと動くのになぜかCS6以降データはうまく動かないファイルも存在する。(CS6以降の一部のファイルがうまくいかないので、プログラム的には問題なく、特定の作りが原因だと推測。)
どうやら、原因はインラインオブジェクトでおいてあるモノにテキストの回り込み設定と行取り設定の両方を設定してあるとうまく動かない事が判明。
本文を作成したオペレータに問い合わせしたら「テキストの回り込みはいらないです。」とのことで問題解決?
とりあえず完成。(ご利用の際には上で記載した注意が必要ですって感じ)

今後、週刊(月刊)誌で連載した論文を一冊にまとめたい。なんて要望があった際に役立ちそう! 


注1:今回の場合は、手動で繰り返し行う作業を自動的に作業を行う様にするプログラム。
注2:級数や行送りが違う文字列を混在させたい場合はテキストフレームを使用した方が便利
注3:フレームグリッドは、そのフレームグリッドが持つ属性でペーストされるので、本文などのように決まったフォーマットがある場合は、フレームグリッドを使用した方が便利