2011年8月30日火曜日

見えてきた自分の課題

せめてグループルビだけは自分で何とかなるだろうと、お~まちさんのInDesign Object Model CS-CS5.5を参考にやってみました。


app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = "作成方法";
var inObj = app.activeDocument.findGrep();
for (var i = inObj.length - 1; i > -1; i--) {
try {
inObj[i].rubyFlag = true;
inObj[i].characters[0].rubyFlag = true;
inObj[i].characters[0].rubyType=GROUP_RUBY;
inObj[i].characters[0].rubyString = "さくせいほうほう";
;
} catch(inObj) {}
}
はい、当然のごとく動きません。
rubyType = RubyTypes.GROUP_RUBY;でなければならんみたいです。で、
inObj[i].characters[0].rubyFlag = true;
inObj[i].characters[0].rubyType=RubyTypes.GROUP_RUBY;
inObj[i].characters[0].rubyString = "さくせいほうほう";
だと「作」にグループルビが付いてしまいます。またググる。寺の「ルビについて」に辿り着きました。characters[0]が余計だったんですね。お~まちさん、ありがとうございます。でも、どうしてそうなるのか分かるような分からんような。。。
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = "作成方法";
var inObj = app.activeDocument.findGrep();
for (var i = inObj.length - 1; i > -1; i--) {
try {
inObj[i].rubyFlag = true;

//↓GROUP_RUBYにしても動く。
inObj[i].rubyType = RubyTypes.groupRuby;
inObj[i].rubyString = "さくせいほうほう";
inObj[i].rubyAlignment = RubyAlignments.rubyFullJustify;

} catch(inObj) {}
}

と、まぁ他人の褌で相撲を取る以前のレベルで課題を終えたのだが、一からやるとなるとひとつの課題さえ終わらなかったことは間違いない。数学に公式、英語に単語、基本文法。これが叩き込まれて「打つべし、打つべし!」の段階に入るのだが、それすら入っていない。Object Model図の読み方、使い方さえ分からないまま。

今まで自分がやっていたことはwebにある人様のスクリプトを眺めていただけ。しかし、それは応用問題の解であって、公式が頭の中に入っていれば、整理でき、どの公式を使っているのか分かる。入っていないと分からない。なにが公式、文法なのかさえ分かっていない、それが今の自分。自分自身の至らなさを知るにいい機会となった。と、同時に先駆者の凄さが改めて分かる。

今回の大きな収穫は公式となるサイトに出会えたことだろう。
さて、頭の中を空にしてもう一度、一からやるか、終わらないだろうけど。。。


0 件のコメント:

コメントを投稿