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

システム部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:フレームグリッドは、そのフレームグリッドが持つ属性でペーストされるので、本文などのように決まったフォーマットがある場合は、フレームグリッドを使用した方が便利

 


まだ使っているの?

DS課のAです。

 少し懐かしい話ですが、私が入社した約20年前の三報社印刷の主力編集・組版機は『写研』でした。
 今のパソコンのようなキーボードではなく、『一寸ノ巾…(いっすんのはば…)』に従った特殊なキーボード(写真1AB)を搭載した『SAZANNAシリーズ』という専用機を使って、文字とファンクションの入力をしていました。

undefined

 

 文字の場所を覚えるのには大変苦労しましたが、漢字の読みを覚える必要がなく、打った文字がそのまま出力されるので、変換ミスなどは無く、慣れてくると今のキーボードよりも早く入力ができます。
 那須工場設立から働いている文字入力の猛者たちは、一日でなんと40,000字以上の文字を入力していたそうです。いやはや恐ろしいですね。
 今でも長い原稿を入力する際には『SAZANNA-SW』を使って作業している方もいます。

 「 undefined※1ってどんな意味だったかな?(パッと答えられたら凄い)」と考えてしまう今日この頃ですが、『大量生産できるわけ』の第2回目スタートです。

 那須工場の編集作業では、この懐かしい写研ファンクション(今使っている人ゴメンなさい)が現役で活かされています。
 とは言っても、実際に使っているのは、Windowsの外字エディター※2を使って写研ファンクションと似た文字を作り、写研組版と同じような入力方法をするという形で活かされています。
 下記の例のように入力したテキストを、各アプリケーション専用の『Perl(Script言語)※3』で置換をすると、それぞれのタグに書き出されます。

 

(例) undefined

 

 ①EDICOLORの場合
  <TS NAME="d1">(株)エヌ・アイ・シー</TS>
   あああ<TS NAME="d30">いいい</TS>ううう<TS NAME="d70">えええ</TS>おおお
 ②MC-B2の場合
  <"デ1">(株)エヌ・アイ・シー
   あああ<S デ30>いいい</S>ううう<M デ70 引数="えええ">おおお
 ③InDesignの場合
  <ParaStyle:d1>(株)エヌ・アイ・シー
   あああ<CharStyle:d30>いいい<CharStyle:>ううう<CharStyle:d70>えええ<CharStyle:>おおお

 上記の①②③のように変換されたテキストデータを、各アプリケーションで作成したデータに流し込むと、指定の体裁になります。

 今回お伝えしたいことは、何種類ものアプリケーションを使用していますが、基本的なテキスト編集の方法は同じだということです。
 那須工場では、テキスト変換・加工・修正に専従している社員が40名以上いますので、それぞれにやり方が大きく変わってしまうと、統一性やスピードに大きく影響してしまいます。
 また、組版オペレータが最小限の手数で、綺麗で高品質な組版を仕上げるためには、簡単で統一のとれたタグ付けの作業は、絶対に欠かせません。
 那須工場では一番大人数で、一番大変な工程をどのようにクリアーするかがネックでしたが、写研ファンクションの入力方法が単純で分かりやすく覚えやすいということで、この十数年間で試行錯誤を繰り返しながら、『外字エディター』、『Perl』、『Script※4』を応用して、見事にクリアーしています。
 もちろんMC-B2の『振り分け』や『こま』など特殊な編集もありますが、写研の入力方法を応用していますので、難なくクリアーすることができました。

 実際の写研システムだと、使いこなせる人は限られてしまいますが、専用の組版システムを使い、綺麗で安全な書体、高いクオリティが保証されます。
 DTPシステムが普及して、誰でも使えて何でもできる時代になりましたが、現場泣かせのよく分からないデータもたくさん増えてきました。

 「写研ファンクションなんてまだ使っているの?」と思われるかも知れませんが、那須工場で大量生産するためには、ベストチョイスだと考えます。


※1:ちなみに (undefined「ていさいせいぎょいちばーにーよんさん」と読みます)は写研組版では約物を制御するための指令です。 undefinedは約物制御の指示、最初のundefinedは行頭の約物を半角固定、二番目のundefinedは行中の約物を全角~半角不定、最後のundefinedは行末の約物を全角または半角にするという意味です。みんな覚えているかな?

※2:外字エディターとは、Windowsに標準で搭載されている、オリジナルの文字や記号を作成するアプリケーションです。

※3:Perlとは、文字の検索・置換・並び替えや高度なテキスト処理に強く、シンプルに記述することができるプログラムです。

※4:Scriptを簡単に説明すると、様々な作業の自動化をするためのプログラムのことです。

 


正規表現はとても重宝しています

テキスト編集課のGです。

初稿組をするまでの工程を書きます。

 (1)クライアントからいただいたデータはテキスト形式に変換します。
 (2)テキストデータの全角文字、半角文字、スペース等を統一します。
 (3)赤字修正、独自に作成した外字を用いて見出しのタグ等を入れる。
 (4)組版ソフト用の置換をかける。(3)で入れた見出しのタグはすべての組版ソフトで共通なので、それぞれ組版ソフト用のタグに置換します。
 (5)雑誌や書籍で細かいルールがあるのでルールに沿った専用置換をかける。

上記の工程後に組版をします。
 (1)~(5)すべての工程で置換が使われており、主にPerl、テキストエディタで置換をしていますが、置換テーブルを作る際に重宝しているのが正規表現です。
 正規表現とは文章を検索するときのオプションみたいなもので、“メタ文字”という特殊文字を使うことでかなり複雑な検索が可能となり、決まったパターンの文字列を少ない回数で検索や置換が出来るので作業の効率化になります。

 

少し正規表現の例を書いてみます。

1◆あいうえお
2◆アイウエオ
3◆12345

上に書いた文字列のパターンは、「半角数字◆○○○○○(規則性のない任意の文字列)」です。★半角数字●○○○○○★のように前後を★~★で挟み◆を●に置換します。
考え方としては、「行頭の半角数字の後ろは黒菱形でその次は規則性のない任意の文字列(行末まで)」となります。正規表現を使って書いてみます。

検索文字列 ^([0-9])◆(.*)$
置換文字列 ★\1●\2★

今回は^()[].*$のメタ文字を使いました。まるで暗号文ですがそれぞれ意味があるので説明します。
^は行頭、$は行末(改行の直前)になります。
[ ]は括弧内のどれか1文字。今回は[ ]のなかに0-9を入れたので0、1、2、3、4、5、6、7、8、9のうちどれか1文字。
.は改行以外の1文字。
*は直前のパターンが0個以上。今回は直前のパターンが.なので改行以外の文字が0個以上になるので◆の後ろすべての文字。
( )は括弧内のパターンを置換文字列\1、\2(\9まで)を使って呼び出すことが出来る。

 

 正規表現もかれこれ十数年使用しておりますが、始めた頃に作った置換テーブルを見るともっと正規表現を使えばすっきりするのにとか、何でこんな置換を書いたのかと思うことがしばしばあります。置換テーブルを作る際に注意をしなければいけないことは、意図しないパターンにマッチして気付かずに置換をしてしまい、思いもよらぬ結果になることがあるので、必ず1つずつ確認あり置換で試すことを心掛けています。

 正規表現が使える場面は多く、プログラミング言語、テキストエディタ、今ではInDesignでも使えるようになっています。アプリケーションによって少々書き方が違いますが基本は同じなので覚えていても損はないと思います。


大量生産できるわけ

DS課のAです。

那須工場の大きな特長を知ってもらいたいのです。それは、

 『大量生産が得意だ!』

ということです。

 那須工場は1990(平成2)年6月に設立されて26年目に入りますが、現在では組版専門のオペレータが13名、テキスト加工で40名の人材を擁しています。

 組版オペレータのほとんどは電算写植を経験しているベテランばかりで、テキスト加工のメンバーでもオペレータ経験者が多数います。

 わが社の主力アプリケーションは、AdobeのInDesignとモリサワのMC-B2です(一部EDICOLOR & QuarkXPress & 写研もあります)が、那須工場のほとんどのオペレータが複数のアプリケーションを使いこなし、仕事の状況でアプリケーションを使い分けています。これだけの人材をそろえている印刷会社はそうは無いと思います。

 僕自身は写研組版とPageCompは経験していませんが、写研ファンクション・文字入力を教わった後は、QuarkXPress、EDICOLORとMac畑で育ててもらい、その後MC-B2、今はInDesignをメインに仕事をしています。

 「テキストデータの変換・加工・修正」、「図表の作成」、「画像の加工」、「組版」までの全作業工程を一人で行っている印刷会社は多いのですが、那須工場ではすべての作業工程が分担され、各部署が効率のよい仕事を行い、スピーディーに組版オペレータに文字データや図表の素材が渡せるように、独自の仕組みを作っています。

 その日の仕事量や納期、また仕事の難易度や性質によって、どの工程にウェイトを置くかを考えながら、大量の原稿が入稿した場合でも、柔軟な対応が可能な状態になっています。

 部署や工程が多くなることで「情報の共有や意思の疎通が難しくなるのでは?」と思われるかもしれませんが、みんなとてもフランクで、職責の上下はもちろんありますが、相談や情報の伝達はスムーズにおこなえる環境です。そしてなによりみんな若い(平均年齢34.5歳)です。那須工場の中では、僕は年配組に属しています(僕38歳)。

 また、今後詳しく書きますが、InDesignではScriptを使った自動組版、MC-B2は大量ページの一括処理や数式に強いので、それぞれの特性を最大限に生かす工夫もしています。

 僕が年配組だというのはさておき、そういった理由で、那須工場では大量生産ができるのです。


新しい記事 →