別々にうったテキストをルビに

[5116]別々にうったテキストをルビに | 投稿者:鷲 | 投稿日:2010/10/08(Fri) 08:26:33
画像のような状態のExcelのデータを、Indesign上でルビ付きテキストに変換する方法があれば、御教授願えませんか。
8000項目もあり、途方にくれています。
attached image
» 1
[5117]Re: 別々にうったテキストをルビに | 投稿者:まる | 投稿日:2010/10/08(Fri) 10:25:04
もし私がこの仕事をするのなら、
基本的に総ルビ+単純なルビのようなので、
RubyManagerみたいなプラグインを使用して総ルビで組み、
それをエクセルのデータに基づいてきちんと校正するというのが、
正確かつ速いかなあ、という気がします。
(熟慮の上ではないですが)

古典文学の総ルビとかでしたら、こうはいかないと思います。
» 2
[5118]Re: 別々にうったテキストをルビに | 投稿者:いき | 投稿日:2010/10/08(Fri) 11:51:19
書き込みの最下行の情報および貼付画像の画面を見る限り、Windowsで作業なさっているのであろうことは想像がつきます。
環境とバージョンは質問のたびに書き込んでくださいね。

私が作業するとしても、Excel上のルビは校正チェック用として利用するだけですね。
PICTRIXさんのスクリプトを利用なさることを提案しておきます。
*http://www.pictrix.jp/?p=3369

詳細はリンク先に預けますが、最初のうちは手作業でルビを入力し、だんだん辞書が鍛えられていくので、8000項目ともなれば作業効率がずいぶん違ってくるのではないかと。
» 3
[5119]Re: 別々にうったテキストをルビに | 投稿者:dot | 投稿日:2010/10/08(Fri) 14:43:33
スクリプトを作ってみました。(WinXP、CS3)
テキストをタブ区切り状態でInDesignに流し込んで、
カーソルを立てた状態でスクリプトを実行してみてください。
期待されておられるような結果になるか分かりませんが...

app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.changeTo = "";
var sel = app.activeDocument.selection[0];
sel = sel.parentStory;
var para = sel.paragraphs;
for (i = 0; i < para.length; i++) {
   var baraPara = para[i].contents.split("");
   var rubStr = baraPara[1].split("*");
   app.findGrepPreferences.findWhat = "~K+";
   var fnStr = para[i].findGrep();
   if (fnStr.length > 0) {
       for (j = 0; j < rubStr.length; j++) {
           fnStr[j].rubyFlag = true;
           fnStr[j].rubyString = rubStr[j];
           }
       app.findGrepPreferences.findWhat = ".+";
       para[i].changeGrep();
       }
   }
attached image
» 4
[5120]Re: 別々にうったテキストをルビに | 投稿者:鷲 | 投稿日:2010/10/12(Tue) 14:25:30
まる様、プラグインの購入も検討してみます。
いき様、ご指摘ありがとうございました。バージョン等明記するのは基本でした。PICTRIXさんのスクリプト、これから運用していきたいと思います。
dot様、スクリプトを作っていただき本当にありがとうございました。テキスト側に不備が無ければ、まったく問題なく動きました。テキスト側にルビが用意されていない箇所があるので、そこだけ何とかすれば大丈夫そうです。

皆様、有用な情報をありがとうございました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)