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

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


2011年8月28日日曜日

お題3に燃料投下されて

8月18日、#dtpstudySP2にNAOIさんが燃料投下
8月20日、続けてkmutoさんが燃料投下

ひと通り課題を終えて安心しきっていたアチキは自分の大きな勘違いに気づく。
お題3って人様の作ったスクリプトを使ってはダメなんだ~。コメント欄を読むと
「ドキュメントの文字すべてを対象にして、指定した文字にルビをつける」というテーマでしょうか? ものすごく難易度が高いっすね! 宿題の想定レベルをはるかに超えてます!
kmutoさんは
「楽しく」の「楽」だけを正規表現で取り出すのはちょっとコツがある。それが後方肯定「(?=STRING)」。これで、文字列としては「楽しく」に一致するけれども「マッチした文字列」として返されるのが「楽」だけ、という挙動を実現できる。
ということは「楽チンな楽曲を選んで楽しく演奏♪」の楽しく部分にだけルビを振るというお題だったのかぁ~~~(絶叫 しかも「ドキュメントの文字すべてを対象にして、指定した文字にルビをつける」というテーマなら、もう無理、無理。古旗サイトや本を参考にしたけど全滅。
実際、選択された文字が特定の文字の場合のみルビを振るを正規表現を使って書き換えてみたけど動作しない。↓
sel = app.activeDocument.selection;
chr = sel[0].characters[0];
if (chr.contents == "楽(?=しく)" )
{
chr.rubyFlag = true;
chr.rubyString = "たの";
}

以下は失敗例のひとつ
var txtObj=app.activeDocument.selection[0];
str = "楽しく";
chr = str.charAt(0);
txtObj.contents = "楽";
txtObj.characters[0].rubyFlag = true;
txtObj.characters[0].rubyString = "たの";
//↑これだとテキストフレーム内の文字が楽(たの)に替わってしまい、他部分が削除されてしまう。裏づけ理論無しに適当に探して弄ったからどうしてそうなるのか分からない。


んで、困っていた。
NAOIさんのコメント欄を見るとカル様のライブラリのアイテムを自動で配置する(InDesign CS3~)が紹介されていた。正規表現を使ってテキストをライブラリアイテムに検索・置換するものだから、応用できそう(^^

ふむ、正規表現を使う場合は

app.findGrepPreferences = NothingEnum.nothing;

と宣言する必要があるようだ。Adobe InDesign CS4 Scripting Guideのp90にも載っている。でもどう書き換えたらいいか分からない。。。orz

そこでapp.findGrepPreferences = NothingEnum.nothing;でググる。

インライングラフィックをファイル名に置き換える

に辿り着く。

こっ、これはカル様の逆パターンなのでは。で、構文が短い^^ これは試す価値はある。
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = "~a";
var inObj = app.activeDocument.findGrep();
for (var i = inObj.length - 1; i > -1; i--) {
try {
inObj[i].contents = inObj[i].allGraphics[0].itemLink.name;
} catch(inObj) {}
}
赤字部分に検索文字、青字部分をルビ付きに置き換えた。
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
//9/11追記:以下は正規表現が違ってました。
app.findGrepPreferences.findWhat = "楽(=?しく)";

//9/11追記:こちらが正解(^^;
app.findGrepPreferences.findWhat = "楽(?=しく)";
var inObj = app.activeDocument.findGrep();
for (var i = inObj.length - 1; i > -1; i--) {
try {
inObj[i].characters[0].rubyFlag = true;
inObj[i].characters[0].rubyString = "たの"
;
} catch(inObj) {}
}
で動いた。ヾ(〃^∇^)ノわぁい♪

でもどうしてそうなるのか分からない。分からないがこの構文は暗記するに値するものだということは分かる。かなり応用の利きそうな素敵なスクリプトです^^

ps. 余談です。楽(=?しく)をエディタの正規表現で検索すると楽しくにマッチするのはどうしてでしょう? 正規表現を正確に反映してくれるエディタを探してます。

9/11自分で気付く:正規表現が間違っていたから。。。orz 楽(=?しく)は間違い楽(?=しく)が正解。それでもJavaScriptでマッチするのはど~ゆ~理由???

8/31追記:フレーム選択で置換したい時は4行目を
var inObj = app.activeDocument.selection[0].findGrep();
にする。

さらに追記:ドキュメント全体、1つのテキストフレームの処理は上記でOKだが、複数選択された場合は[InDesign][JavaScript]【改変】テキストを正体に戻すを参考に冒頭に以下を加え
var selObj = app.activeDocument.selection;
var textFrameCount = 0 ;
for (s = 0 ; s < selObj.length ; s++) {
if (selObj[s].constructor.name =="TextFrame") {
textFrameCount ++ ;
var inObj = app.activeDocument.findGrep(); を
var inObj = selObj[s].findGrep(); に書き換える。

2011年8月27日土曜日

JavaScriptが分からなくともお題は解ける

麻雀に先付け、後付けがあるように、勉強法にも演繹的勉強法、帰納法的勉強法があります。愛だって、とりあえずやってから愛が生まれることもあります。まずはやっちゃいましょう^^

アチキの場合、Scriptに関しては「ど素人状態」。それでも何とか終えました。
やり方はただひとつ。ひたすらググる。ググりさえすれば答えが見つかるいい時代^^
スクリプトの緑部分はアチキの弄ったとこです。

お題1 ・テキストフレームの中のテキストを上下センターにする
古旗さんのテキストフレーム内の文字を天地中央に配置する段落の位置揃えを指定するを合体してみる。
pageObj = app.documents.add();
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["2cm","1cm","4cm","10cm"];
txtObj.contents = "天地中央に自動的にレイアウトします。";
txtObj.textFramePreferences.verticalJustification = VerticalJustification.centerAlign;
txtObj.paragraphs[0].justification = Justification.centerAlign;
これだと新規にドキュメントが作成され、左上2cm、1cmに高さ4cm、幅10cm(x=10, y=20)、右下(x=100, y=40)のテキストフレームが作られ「天地中央に自動的にレイアウトします。」の文字が天地左右のセンターになる。

ちと余計だな。。。意図は選択されたテキストフレーム内の文字を天地左右センターにしたいのだから、、、
txtObj = app.activeDocument.selection;
txtObj.textFramePreferences.verticalJustification = VerticalJustification.centerAlign;
txtObj.paragraphs[0].justification = Justification.centerAlign;
としてみる。こんなに簡単ではないはず。案の定、エラー発生。

ならばとテキストフレームのみ選択するに書き足してもエラー。

どうする?? しばらく考える。



とりあえず選択されたフレーム内のテキストを左右センターするに絞ってやってみる。

txtObj = app.activeDocument.selection;
txtObj.paragraphs[0].justification = Justification.centerAlign;

だとエラーになるので「Justification.centerAlign」でググる

はいさい!の画像フレームのフィットオプションがhit! で、弄った!
var frame = app.activeDocument.selection[0];
frame.parentStory.justification = Justification.centerAlign ;
で動作します^^
なんでparagraphsはダメでparentStoryならOKなのか分かりませんです。
続行、最後に天地センターを加えて
var frame = app.activeDocument.selection[0];
frame.parentStory.justification = Justification.centerAlign ;
frame.textFramePreferences.verticalJustification = VerticalJustification.centerAlign;
で完成^^

8/28追記:合体したスクリプトが動かなかった原因はtxtObj = app.activeDocument.selection;がだったから。
txtObj = app.activeDocument.selection[0]; で動きます。で、txtObj.paragraphs[0].justification = Justification.centerAlign;は単数行ならOKなのですが、複数行ですとparentStoryでないとダメみたいです。

8/31追記:上級編は公式を使った。
var frame = app.activeDocument. textFrames;
for (var i = frame. length - 1; i > -1; i--) {
try {

frame[i].parentStory.justification = Justification.centerAlign ;
frame[i].textFramePreferences.verticalJustification = VerticalJustification.centerAlign;
} catch(frame) {}
}


お題2の1 ・1つのテキストフレームを右へ10mm移動
はいさい! フレームサイズの取得に辿り着けばお題は終わり。
var frame = app.activeDocument.selection[0];
var y = frame.visibleBounds[0];
//左上
var x = frame.visibleBounds[1];
//左上
var y1 = frame.visibleBounds[2];
//左下
var x1 = frame.visibleBounds[3];
//左下 x1
frame.visibleBounds = [ frame.visibleBounds[0], frame.visibleBounds[1]+10, frame.visibleBounds[2], frame.visibleBounds[3]+10];
ちと弄って出来ました^^ ただ単位がmmになってるので出来たわけでして、単位がptだと10ptになってしまいます。アチコチ弄りましたが結局ダメ。
Adobe InDesign スクリプティングチュートリアルを読むと、最初に
app.activeDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.millimeters;
app.activeDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.millimeters;
と宣言するみたいです。で、このたった2行で動作するのは感動ものです。

8/31追記:varで宣言しているのだから、frame.visibleBounds=[y, x+10, y1, x1+10];とするべきだな。

再追記(重要):InDesignでJavaScript その7を参考に
var frame = app.activeDocument.selection[0];
frame.move("by",["10mm","0mm"]);
の2行だけで移動できた^^ 


お題2の2 ・2つのテキストフレームの間隔を3mmにする
ここまでくるとお題ははいさい!から出されているんだなとアチキでも気付きます^^ で、こいつは選択しているアイテムを整列させる(等間隔に分布編)
app. activeDocument. distribute (app. activeDocument. selection, DistributeOptions. HORIZONTAL_SPACE, AlignDistributeBounds. MARGIN_BOUNDS, false) ;
を弄ってみます。
app. activeDocument. distribute (app. activeDocument. selection, DistributeOptions. VERTICAL_SPACE, AlignDistributeBounds. ITEM_BOUNDS, false) ;
にすると垂直方向に等間隔に分布されます。
app. activeDocument. distribute (app. activeDocument. selection, DistributeOptions. VERTICAL_SPACE, AlignDistributeBounds. ITEM_BOUNDS, true, absoluteDistributeMeasurement=3) ;
にして垂直方向間隔3mmが完成。
ここは=3) ;を="3mm") ;にすると数値がpt表示でも問題なく動作。


お題3 ・テキストフレーム内の文字「楽しく」にルビをふる
     ・「作成方法」にルビをふる(グループルビ)
こいつは設問の意図を読み間違え、たけうちとおるさんのruby.zipでワ~イ、動いた^^ と喜んでいた。そんなに簡単なわけがない。結構、探すのに難儀したので、後日、書きます。


お題4 ・テキストの中の値段をすべて10円アップする
このお題を見てパッと浮かんだのが消費税。消費税込みの価格は価格*1.05だから*1.05を+10にすればいいだけなのでは? 
「InDesign javaScript 消費税」でググれば古旗さんの

文章中の価格に消費税を加算する (Adobe InDesign & Illustrator CS3/CS4編)がヒットします。
var selObj = app.activeDocument.selection[0]; // 最初に選択した数値のみ処理
var txt = selObj.contents;
selObj.contents = txt.replace(/\d+円/g, repFunc);

function repFunc(n){
n = parseInt(n);
n = n * 1.05; // 消費税5%を乗算する
n = Math.round(n);
return n+"円";
}
n = n * 1.05; をn = n + 10; に書き換えて完成~^^

追記:実際に動かしてみると「1,000円」は「1,10円」になってしまう。

で、先頭に円マークのある価格は
var selObj = app.activeDocument.selection[0]; // 最初に選択した数値のみ処理
var txt = selObj.contents;
selObj.contents = txt.replace(/\\d+/g, repFunc);

function repFunc(n){
n = parseInt(n.substring(1,9999));
n = n * 1.05; // 消費税5%を乗算する
n = Math.round(n);
return "\"+n;
}
なのでひとつにまとめてみようと思ったが、return "\"+n;で

エラー番号:4、終了していない文字列型の定数です

のアラートが出る。まぁバックスラッシュと円マーク絡みだし、こちとらWinXP環境だし。。。そんなわけで終了。

あとは、どうしてこうなるのかの理解なのだが、とりあえずやってしまうと気が抜けていまいち勉強する気にならんのがアチキの欠点。体目当てでやるのが目的ではないのだが(オイ

2011年8月21日日曜日

ルビ振りwebサービスのメモ

お題の3をやってる時に辿り着いたルビ振りwebサービス。

ふりふり

win版InDesignを前提にしてるためヘッダ部分が
<UNICODE-WIN>
<Version:5><FeatureSet:InDesign-Japanese><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>
<pstyle:>
になってますがMac用に書き換えれば使えると思います。
ルビはグループルビになります。こんな感じ↓


ZERO MEGA
http://www.0mega.jp/demo/sample001.php

ルビタグが付けられるものの、そのまま取り込んでも反映されません。
ヘッダを付けるだけでなく、エンコードも指定しなければなりません。こんな感じ↓


で、この特徴はモノルビで取り込まれます。
ただし、区切り位置を判断できないため、最初の一文字の漢字にルビが付きます。
個人的にはこれがお薦めです。
一般向け。常用漢字にはふりがなをつけません。の設定がありますから。
何よりもモノルビで取り込まれますから、スペースを入れるべき不自然な箇所が一目瞭然。校正しつつスペース入力、グループルビに変更したりするのがベターなのでは?

2011年8月17日水曜日

日本語として通じないダミーテキストの重要性

以前、ダミーテキストとして使用するには和欧混の 組見本用創作文『問わずがたりの洋酒外史』 がいいんじゃないかと思っていたんです。

しかし、第10回 カンプ用のダミーテキストを用意する を読みまして考え方が変わりました。
デザインカンプ用として作ったInDesignデータが,そのまま印刷用のデザインデータとして使われることも多いはずです。パンフレットのデザインなどでは,テキストフレームの数も多く,ダミーテキストを実際のテキストへと差し替えないまま,ダミーテキストの状態で出校するような手違いも起こりがちです。
[サンプルテキストの割り付け]で流し込むダミーテキストを,通常は,使うことのないような文章にしておけば,ダミーテキストのセンテンスを使って検索し,点検ができ,ダミーテキストの「置き忘れ」のようなトラブルを防止することができます。
実際、「ダミーテキスト」と入力されたまま、印刷された例をtwitterで見かけたこともあります。原因はダミーテキストが日本語として意味が通ってしまい、スルーしてしまうことにあったのではないでしょうか? 逆に意味不明の言葉であったならスルーすることなく、的確な赤字が入ったと思います。

で、思い出したのが
たけうちさんの10)文字を適当に置き換え(危)

最初、これを見た時、暗号ゴッコの遊びにしか使えず実用性ゼロと思っていたのですが、ダミーテキスト作成に使えます。というか、それ目的だったのでは?

他にもmilligramme 3ccさんが [InDesign]文字コードをずらすScriptUIパレット を出されてます。こちらは
ダミーテキストをつくったりくらいには使えるかもしれません。
と発言されてますので、ダミーテキストは意味不明でなければならないと知ってのことだと思います。

人間心理に基づいたデータ作成の重要性を知らされました。


追記:たけうちさんのとこにも「ダミー文字作成にどうぞ。」って書いてありました(^^;

2011年8月16日火曜日

竹とんぼを改変

勉強会に向けて良質な勉強用のサンプルスクリプトが見つからなかった。
そういえば、せうぞーさんが最初に作ったスクリプトは「糸トンボ」だった(本人談)話を思い出し、たけうちさんの30)InDesignトンボ(別名:竹とんぼ)を見て改変(改竄?)した記録。読み解けなかったところが多々あったけど、とりあえず動いたからOKか?

読んでて思ったのはもの凄い高度なことをしてトンボを作成してるなってこと。ほとんどガクブルの世界です。それでも、塗り足しを含んだ絵柄にトンボを付ける時はどうするの? 当然、縮小して貼るわけだからトンボの数値は3ミリじゃないよね。なんてことを思いまして、ドブを含んだ絵柄にトンボを付けて見ました。

緑部分は変えたとこ。最初にミリ設定をしてるのは、ポイント設定の画面だとポイント数値で作成されてしまうから。またセンタートンボのサークルは塗りが反映されるため削除しました。


//########################
//塗り足しを含んだ選択ボックスにトンボをつける
//塗りたし数値は可変のため入力
//たけうちとおるさんのスクリプトの改変
//########################

//環境設定の単位をミリにする
app.activeDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.millimeters;
app.activeDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.millimeters;

//ドブの数値
var dobu = prompt("塗り足しの数値を入力するのだ","");


lineW=0.05;
var myAry=new Array();
selObj = app.activeDocument.selection;
//var myspread = app.activeWindow.activeSpread;
if(selObj.length < 1){
alert("オブジェクトを選択してください。");
}else{
var myRegistrationColor = app.activeDocument.colors.item("Registration");

X1 = selObj[0].geometricBounds[1];
Y1 = selObj[0].geometricBounds[0];
X2 = selObj[0].geometricBounds[3];
Y2 = selObj[0].geometricBounds[2];
W=X2-X1;
H=Y2-Y1;

//左上横トンボ
myAry[0]=drowLine(X1,X1-10,Y1,Y1,lineW,myRegistrationColor);

//線の複製
myAry[1]=myAry[0].duplicate(undefined,[0,(dobu) ]);

//左上縦トンボ
myAry[2]=drowLine(X1,X1,Y1-10,Y1,lineW,myRegistrationColor);
myAry[3]=myAry[2].duplicate(undefined,[(dobu),0 ]);

//上センター
myAry[4]=drowLine(X1+W/2,X1+W/2,Y1-10,Y1,lineW,myRegistrationColor);
myAry[5]=drowLine(X1+W/2-5,X1+W/2+5,Y1-4,Y1-4,lineW,myRegistrationColor);

//右上
myAry[6]=drowLine(X2,X2+10,Y1,Y1,lineW,myRegistrationColor);
myAry[7]=myAry[6].duplicate(undefined,[0,(dobu) ]);
myAry[8]=drowLine(X2,X2,Y1-10,Y1,lineW,myRegistrationColor);
myAry[9]=myAry[8].duplicate(undefined,[-(dobu),0 ]);
//左センター
myAry[10]=drowLine(X1-10,X1,Y1+H/2,Y1+H/2,lineW,myRegistrationColor);
myAry[11]=drowLine(X1-4,X1-4,Y1+H/2-5,Y1+H/2+5,lineW,myRegistrationColor);
//右センター
myAry[12]=drowLine(X2,X2+10,Y1+H/2,Y1+H/2,lineW,myRegistrationColor);
myAry[13]=drowLine(X2+4,X2+4,Y1+H/2-5,Y1+H/2+5,lineW,myRegistrationColor);
//左下
myAry[14]=drowLine(X1-10,X1,Y2,Y2,lineW,myRegistrationColor);
myAry[15]=myAry[14].duplicate(undefined,[0,-(dobu) ]);
myAry[16]=drowLine(X1,X1,Y2+10,Y2,lineW,myRegistrationColor);
myAry[17]=myAry[16].duplicate(undefined,[(dobu),0 ]);

//下センター
myAry[18]=drowLine(X1+W/2,X1+W/2,Y2+10,Y2,lineW,myRegistrationColor);
myAry[19]=drowLine(X1+W/2-5,X1+W/2+5,Y2+4,Y2+4,lineW,myRegistrationColor);
//右下
myAry[20]=drowLine(X2,X2+10,Y2,Y2,lineW,myRegistrationColor);
myAry[21]=myAry[20].duplicate(undefined,[0,-(dobu) ]);
myAry[22]=drowLine(X2,X2,Y2+10,Y2,lineW,myRegistrationColor);
myAry[23]=myAry[22].duplicate(undefined,[-(dobu),0 ]);

app.activeWindow.activeSpread.groups.add(myAry);
}
function drowLine(X1,X2,Y1,Y2,lineW,myRegistrationColor){
myLine=app.activeWindow.activeSpread.rectangles.add();
myLine.paths.item(0).entirePath=[[X1,Y1],[X2,Y2]];
//myLine.filled=false;//CS2未サポート
//myLine.stroked=true;//CS2未サポート
myLine.strokeWeight=lineW;
myLine.strokeColor=myRegistrationColor;
return myLine;
}

2011年8月7日日曜日

サンプルスクリプトの整理

ガイドを引くAdobeのスクリプトはCS1からあるよー。たしか別のCD-ROMの中にサンプルとして入ってたような。
なんて発言を目にしまして、確認しました(^^;
今までネットに上がっているスクリプトは知っていたのですが、アプリに添付されてるスクリプトには目もくれてませんでした。そんなわけで一覧作成。

AddGuides.jsx選択したフレームにガイドライン作成
AddPoints.jsxパスのほぼ中間点にポイントを追加


AdjustLayout.jsx偶数ページ、奇数ページ内の全アイテムを指定数値分、移動
Even Pagesは偶数ページ、Odd Pagesは奇数ページ




AlignToPage.jsxアイテムをページの指定場所に揃える
BreakFrame.jsxストーリー内のテキストフレームの全てを分割とあるが
CornerEffects.jsx四角形の2点を角丸にできる
CreateCharacterStyle.jsx選択文字を文字スタイル登録
CropMarks.jsxアイテムにトンボ作成
ExportAllStories.jsx全てのテキストフレーム内のテキストを書き出す
FindChangeByList.jsx空白タブ削除、--を―に置換
ImageCatalog.jsx選択フォルダにある画像全てをファイル名と一緒に配置
LabelGraphicMenu.jsx右クリックメニューにLabelGraphicが追加される
LabelGraphics.jsx画像下にファイル名などが作成される
MakeGrid.jsxフレームを分割
Neon.jsxグラデションのフレーム枠作成
PathEffects.jsxパスの変形
PlaceMultipagePDF.jsxエラーのため試せず
SavePDF_PS_Package.jsxPS、PDF、パッケージ保存(遅い)


SelectObjects.jsxチェックされた項目を選択


Rectangles(長方形)、Ellipses(楕円)、Polygons(多角形及びベジェ曲線)、Graphic Lines(直線)他は省略。



SortParagraphs.jsx段落を逆順に
SplitStory.jsxバラ行にしてくれるのかと思ったが動作せず
TabUtilities.jsxタブの位置をどうにかしてくれるらしい


読み解けばカスタマイズできそうな気にもなるが、いかんせんコードが長すぎて読む気になれない。
 
 

過去ログ8月分のまとめ

2007年8月分(25投稿)
2008年8月分(5投稿)
2009年8月分(7投稿)
2010年8月分(2投稿)

2010年8月のはてなブックマークよりいくつか

[AppleScript]フォルダのアクセス権を変更する
【まとめ】MacOSXのデフォルト・アクセス権を変更する。

Mac OSX用の正規表現確認ツール「Reginald RegEx explorer」

校正用のプリント、PDF作成をする際に、仕上がり線と「初校」等のスタンプを付加するPlug-in

Photoshop:EPS ファイルを開くと発生するエラー「書類を開くことができません...」

美女応援 -美女があなたを応援
しばらくやってなかったけどこれは最高!

間違えて消してしまったので再掲載。