クリエイター手抜きプロジェクト[98]InDesign CS/CS2編 数学曲線を描く/古籏一浩

投稿:  著者:  読了時間:4分(本文:約1,500文字)


Adobe InDesign CS2.0 日本語版 Macintosh版
同じネタがやや連続気味ですが、今度はInDesignです。各ソフトでの違いが分かっていいかもしれません。

まあ、InDesignにも標準では数学曲線を描く機能はないので、何かの時に役立かもしれません。

InDesignの場合は、マルチページIllustratorといった感じなので、スクリプトもIllustrator CSに近いものになっています。いまいち不明な点もありますが、パスの元になる図形を作成しておいて、後から座標値を設定する、という方法で描いています。


InDesignは後発のソフトだけあって、構造が結構すっきりしています。スクリプトを実行するにはスクリプトを.jsの拡張子で保存します。CS2の場合は.jsxが良いでしょう。保存先は、InDesign CS(CS2)/Presets/Scriptsフォルダ内です。

後から、このフォルダにスクリプトファイルを移動させても構いません。また、InDesign実行中に移動させても問題ありません。InDesignは自動的に認識してくれます。

w = 0.1; // 横の拡大率
h = 10; // 縦の拡大率
step = 5; // 計算上の間隔
startP = 0; // 開始角度
endP = 360; // 終了角度
passData = [];
count = 0;
for (i=startP; i< =endP; i+=step)
{
r = i * Math.PI / 180;
y = Math.sin(r) * h;
x = i * w; passData[count++]= [x, y];}docObj = app.activeDocument;
pObj = docObj.rectangles.add();
pObj.geometricBounds = [0,0,0,0];pObj.paths[0].entirePath = passData;
pObj.paths[0].pathType = PathType.openPath;

InDesign CS2の場合はESTK(Extend Script ToolKit)から実行させて数学曲線を描かせることができます。以下のファイルの一番最初の行で、実行するファイルのパス名を指定します。ESTKから実行ボタンをクリックするとアクティブになっているInDesignのドキュメントに数学曲線が描かれます。

fileObj = new File("/sample1.js");
flag = fileObj.open("r");
if (flag == true)
{
scrt = fileObj.read();
indesign4.executeScript(scrt);
}

indesign4がInDesign CS2を示しています。4の数字はInDesign CS2はバージョン4なので、この値になります。InDesign CS3が出ればindesign5になります。このように、特定のバージョンのInDesignを指定して処理することができます。

【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >
Bridge、ESTKから実行すれば、複数のAdobeアプリケーション間でやりとりができたり、スクリプトを実行することができるはずなんですが、実際には駄目なアプリケーションや未対応命令があって、なかなかうまくいかないようです。AfterEffectsはエクスプレッションがあるので、このようなスクリプトは不要でしょう。
ゲド戦記・・・作者にとっては外道戦記。ジブリにとっては、駄目だった「けど戦記」

photo
Ajax実践テクニック
高橋 登史朗 古籏 一浩
秀和システム 2006-07

Ajaxイン・アクション 超・極める! PHP Ajaxハッカーズ・プログラミング―基礎からprototype.js、Yahoo!UIライブラリ、HTML_AJAXの活用までWebアプリケーション制作のプログラミング・テクニック 入門 Ajax 実践Web2.0 Ajaxプログラミング入門

by G-Tools , 2006/08/21