2011年6月28日火曜日

気分的にJavaScriptバージョンの違い

古旗さんのJavaScriptで遊んでいた時、やはりというかCS3のものは上位バージョンで動作しないものがいくつかありやした。まぁそこで深く突っ込んで調べることの出来ないのがアチキの弱さ、というより英語苦手なんだよねぇ~。だから未だにモノにならない。

誰かがCS3用のJavaScriptを4や5用に改変してくれるのを待ってました。
やはりせうぞーさんですよ^^

数字を丸数字などに変換「round_num 0.2」(CS3)
丸数字などを簡単に変換できる「round_num 0.3」(CS4)
丸数字などを簡単に変換できる「round_num 0.4」(CS5)

これらをDiffで差分を比較すれば、各バージョンごとの記述の違いが具体的に分かるわけでして、英語が苦手な人はこんな方法しか取れんのだろうなぁ~。

で、早速ダウンロード。拡張子をtxtに替えて開くと文字化け。
RTFコンバータで文字コードをUTF-8からシフトJISに変更。

で、フリーウエアのDFで比較してみる。

0.2と0.3
CS4から正規表現が使えることになったため、0.3にその記述がある。
選択文字列の変換と字形検索置換の記述は全く違う。

0.3と0.4
if (i == 0) {
if (i === 0) {
同様に
if (my_dialog.show() == true) {
if (my_dialog.show() === {
全て == は === に替わっている。

var my_doc = app.activeDocument;
var my_doc = app.documents[0];
   ここは書き方が違うだけのような希ガス。。。後で確認

というのも窓の外でごにょごにょ
activeDocument よりは documents[0] の方が確実?
なんて記事がある。

my_class = "Text, TextColumn, Story, Paragraph, Line, Word, Character, TextStyleRange".match(my_class);
my_class = "Text, TextColumn, Story, Paragraph, Line, Word, Character, TextStyleRange, Table, Cell".match(my_class);
   こいつは表組みも検索・置換に含めるということだよな(多分)

0.4(CS5)には合成フォントへの対応記述がある。

その関係からか字形検索置換の } catch(e) の前後に
//if ( f_atc ) {target_obj[i].appliedFont = my_font_org; }//合成フォントのフラグが立っていたら、フォントを元の合成フォントに戻す。★overwriteしないとエラーになる(保留)
} catch(e) {
$.writeln(e);

で、資料を探しました。
Adobe スクリプティング入門.pdf(日本語)
InDesignCS3_ScriptingGuide_JS.pdf(英語)
InDesignCS4_ScriptingGuide_JS.pdf(英語)
InDesignCS5_ScriptingGuide_JS.pdf(英語)

InDesignCS5_ScriptingTutorial_JP.pdfで日本語版は見つかったけど、CS3&4はweb上で見つからなんだ。DVDの中にあるんだろうね。
で、pdfをテキストにしてからDiffで比較しようかな^^と思った初日。
というか何やってんだろ、自分。。。

0 件のコメント:

コメントを投稿