IllustratorCC2017のNoUIでのスクリプティング

moluappleのサジェスチョンです。

https://forums.adobe.com/thread/2386561

なんだこりゃ?って事で調べてみるとver.21でaddDocumentNoUIsaveNoUIというメソッドが追加されてましたw

IDのvisibleフラグをfalseにした時と同じような挙動になるのですが…

var prst = new DocumentPreset();
var dc = app.documents.addDocumentNoUI(prst);
var tx = dc.textFrames.add();
for (var i=0;i<10;i++){
   tx.contents += i + "\n";
   }
$.writeln(tx.contents);
var fl = new File("~/Desktop/testNoUI.ai");
dc.saveNoUI(fl);
dc.close();

とりあえずテストコードですが、この例では「saveNoUI」でスクリプトエンジンがクラッシュします。また前述のmoluappleの書き込みでもredrawメソッドでクラッシュすると報告されています。しかしながら、上の例では以下の様に$.writelnで値を正常に取り出すことが出来ています。

nouiconsole

ちょっと、PRで報告してくる〜(^ー^)/

広告

Corner Widget Switch (up to Illustrator CC)

Hi Everyone, Are corner widgets used? I do not use it at all. However, this widget is very useful. It is a waste not to use. But, it is true that there are times when this is very disturbing.
In that case, it is only necessary to cut off the display, but it is bother to select by pulling down from the menu each time. Moreover, it is unworthy of assign a shortcut key (Illustrator dose not accept “Control” key to use shory cut, why???). After all, after disappearing the display, it will not display regardless of the situation where there is no problem even if it is displayed.

皆様、コーナーウィジェットは利用されていますか? わたしは全く利用していません。しかしながら、この機能はとても便利なものです。利用しないというのはもったいないです。しかし、これがとても邪魔に感じるときもあるのも事実です。
その場合、表示を切ってしまえば良いのですが、いちいちメニューからプルダウンして選択するのも煩わしい。しかも、ショートカットキーを割り当てるのも勿体無い。で、結局表示を消した後表示しても問題ない状況にも関わらず表示しないままとなるわけで、己のものぐささを噛みしめる次第です。

Of course, Its nosense this situation. So, I managed to manage it somehow.

もちろん、こんな状況自体が勿体無い話なのです。ですから、何とかして使いやすくしようと考えました。

As you see left side of previouse image, one of my extension named “Selection Maker”. In this time I added switching button that we can change corner widget state in it.

今回以前作ったSelectionMakerってエクステンションにコーナーウィジェットの切り替え用のボタンを増設しました。

cornerwidget0

When we click “Corner Widget” button in previouse image, Corner Widget state change like below.
上の写真で「Corner Widget」ボタンをクリックすると下の写真の様に状態を切り替えることが出来ます。

cornerwidget1

That butto works alternately change Corner Widget state. Let’s Download below zxp file and try it. Have a funn!!!
ボタンの動作はオルタネート動作で状態を表示/非表示を交互に切り替えます。ダウンロードは以下から。

https://drive.google.com/open?id=0B8WPQj-WNG_TQmZSUzVGTXZIaDQ

Please note that You can use ZXP Installer and install zxp. Here is a link of ZXP Installer. However, If you aleady setup Player Debug Mode, You can use below zip package.
インストールにはZXPInstallerをご利用下さい。もしPlayerDebugModeを設定済みでしたら以下のリンクからzipパッケージを導入可能です。

https://drive.google.com/open?id=0B8WPQj-WNG_TZnhHck42N1dZeUU

最後になりましたが、ここ数週間はコード書いてません。これは主にオレンジ色のバッジが悪さをしているのですが、自然言語で色々と書く必要があり四苦八苦しております。しかしながら、「とても気持ちわるいこと」は考えていますのでお餅、いやお待ちいただけたらと思います(^-^)/

Reset Textframes Transformation.

texttransform1

Here is a little working concept code you can reset your selected textFrames shear, rotate and reflection. TextFrames have transform matrix. Here is a snipet of get it from a selected textFrames.

alert(app.selection[0].matrix); //Select only target textFrame.

We can invert it using applications method like below

alert(app.invertMatrix(app.selection[0].matrix));

Previouse two snipets return same “[Matrix]”. However, 2nd matrix is inverted values as you see below that make the Property Explorer’s result.

texttransform2texttransform3

You can use below to test how it works.

var mtx = app.invertMatrix(app.selection[0].matrix);
 mtx.mValueTX = 0;
 mtx.mValueTY = 0;
 app.selection[0].transform(mtx)

*Both TX and TY values are global position. when you inverse it, object moves to outside of maximum canvas size range. Therefor, we need reset these values to 0.

 

For Japanese…

という事で、諸事情により当面こういった入り混じり系のCodeで話しましょうw状態になります。
今回のものはテキストフレームが持つMatrixプロパティーを利用して変形を元に戻そうというものです。一つ注意が必要なのは変倍は長・平体へ適用されるためマトリクスには情報が含まれませんので戻しようがないところです。まあ、シアーとか微妙な回転をリセット出来るという点は便利ですが…

IllustratorCC2017新機能―サンプルテキストの割付を手懐ける

Illustrator CC2017がリリースされましたね。色々と新しい機能を試す方も多い事と存じます。
わたしはと言えば、当初からβテスターをしていた事もあり、なんだかぴんと来ていない状態です。また、前回のリリースで散々上げた情報がことごとく「でも、だって…」だった事も関係しているのですが、それはまた別のお話でございます。
今回は、例のアレです。デフォルトにサンプルテキストを勝手に流し込むアレです。余計なお世話系実装でブツブツ文句言うのもなんですが、もうちょっと爽やか系を求めたいと思いました。

続きを読む

デフォルトにツメデータを組み込んだ…

皆様こんばんは、月曜日の夕べです。皆様いかがお過ごしでしょうか。わたしはお風呂上りで暑くって真っ裸でこれ書いていたりします。
まあ、特にネタがあるわけでもないのですが、今日は少しスクリプトを離れたものを置いておこうと思った次第です。
最近AIでも大石師謹製ツメデータを当てる事が多くなっています。まあ、これ使うと元に戻れないと思ってしまうのは当然だとして、いちいち読み込むのが面倒臭くなったのでデフォルトに組み込みました。皆様におかれましては既に処置済みだったりするでしょうが、バックアップ替りにココに書いとこうと思った次第です。

続きを読む

Illustrator, Contents Recovery Mode

Illustratorにはドキュメントのリカバリに関する機能が隠されています。Contents Recovery Modeって言うのですが、事はそう簡単ではありません。何と言ってもリカバリーするのは自分自身ですから。リカバリーの知識が無いと手も足も出ないという事になります。しかしながら、わたしにはあるんですねぇwですから、困った時は呼んでみると助かるかも知れませんね。
細かい事を説明しましょう。現在のAIファイルはネイティブであるPGFファイルフォーマットとPDFのハイブリットなデータとなっています。このハイブリットというのが曲者でして、旧来のテキストベースのファイルフォーマットであればテキストエディタで開いてごにょごにょする事が可能でしたが、現在ではバイナリな部分やカスタムエンコーディングが混ざったり、圧縮ストリームが殆どだったりの状態となってしまった為、PGFに該当する部分を取り出したとしても手を加えることが事実上不可能な場合が大半です。しかし、前述のリカバリモードを実行すればPGFファイルフォーマット部分だけを抽出した上で、圧縮ストリームを展開し別名保存してくれます。あとはテキストエディタで開き、トラブルを生じさせている部分を外科的な処置で対処すると良い状態となります。
実は、この機能が搭載されたのはCS2だったりします。きっとファイルフォーマットを変更した為に苦情が山ほど来たんだろうねw

続きを読む