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プロパティーを利用して変形を元に戻そうというものです。一つ注意が必要なのは変倍は長・平体へ適用されるためマトリクスには情報が含まれませんので戻しようがないところです。まあ、シアーとか微妙な回転をリセット出来るという点は便利ですが…

IdleTask万能論


さて、こちらは昨日の動画です。昨日も言いましたがショートカットは使っていません。
Javascriptだけで書かれたものです。純度100%です。
延々cellが複数選択されたのを監視して強制的に合体します。さて、どの様なコードで実現されているのでしょうか?jsxbinへのリンク置いておきますから実行して考えてみてください(^-^)/

goo.gl/8MMEAX

そうそう、停止だけ書いておきます。

app.idleTasks.itemByName("mergeCells").remove();

PropertyExplorereのもうひとつの使い方

PropertyExplorerと言うのは各アプリケーションのExtendscript DOMを調査するのに特化したバリバリの開発用エクステンションでございます。詳細は以下のリンクを見ていただくとして
https://creative.adobe.com/addons/products/1170
ちょっと試してみましょう。Illustratorのテキストを選択した状態で「Get Info」ボタンをクリックすると…
propexp001.png
こんな風にそのオブジェクトに関するプロパティと割り当てられている値をリストアップしてくれます。今回のアップデートではそのオブジェクトで使えるメソッドもリストアップ出来るという親切仕様となっています。もちろん、ボタンの上にあるテキストボックスに調べたいオブジェクトを書くのもOKです。
propexp002.png
こ〜んなかんじになります。わたし自身もESTKのデータブラウザ見るよりこちらでチェックしてコーディングする方が楽で、このエクステンションが無いとコーディングする気がおきません。またCodeEditorエクステンションっていうのを用意していてコーディングもアプリケーションから全く離れる必要がなくなりました。引きこもりです。
最新版ではPS/ID/AI等のグラフィック系のアプリケーションだけでなくAE・PR・AU他の動画系のアプリケーションにも対応ししています。
しかし、今回ご紹介する使い方はこ〜んなハードな使い方とは全く関係ないんですが、地味に便利です。

続きを読む

PDFファイルのページ数を調べよう

だ〜れも覚えていないでしょうが、5年ほど前にPDFのページを調べるファンクションを書いています。最終的にはリニア化されたPDFファイルにも対応したすぐれものです。ただ、使いドコロが限られるという…
そんなスクリプトでも時折カウント出来ないファイルというものに遭遇するのですが、どういった経緯でカウント不能になるのかが皆目わからずにほうったらかし状態でした。
まあ、そうそう引っかかることはありませんので問題にならなかったというものあるのですが、先日ちょいとファンクション走らせてnullが返ったブツに心当たりがあって調べてみた次第です。

続きを読む

ESTK CS6 ReadMe

みなさま、イラレの色校正設定を活用していますか?色覚の異常を抱える方というのは思いの外、沢山いらっしゃいます。特に男性では5%程度の方々が何らかの異常を持つと言う統計データもあるようです。そういった事も踏まえてか、近年カラーバリアブルなデータを要求される事が多くなってきています。そこで非常に強力なツールとなるのがイラストレータです。
イラストレータにはデフォルトでP型及びD型の色覚異常をシミュレートする校正設定が内蔵されています。通常の工程でデザインを行い校正設定を切替えてプレビューし、不味い所を検討するという手順でデザイン作業を行います。その他、書体の切替え(カレンダーの玉なんかで良く行われますね)やマークの工夫等を合せて視認性を上げるのですが、その詳細に関してはまたの機会に。
本題はこちら。「ESTK CS6 ReadMe」を読み解いて行きます。ただのツッコミだと言うのは無しの方向でw

続きを読む

OpenTypeとは-その1

意表をついての連日の投下です。
やるやると言ってなかなか前に進まないフォントの解説ですが、ぼちぼち進めたいと思います。しかしながらわたし自身も少々理解不足だったりしますので、おかしな部分等がございましたらお気軽にご指摘頂ければ幸いに存じます。
毎度の事なのですが、資料に目を通すと次から次へと不明な部分が現れて、目を通す必要のあるドキュメントが等比級数的に増加するのです。今年の夏はそのドキュメントの参照にほぼつぶれてしまったのです。娘を海に連れて行けなかった事とか、USJ連れて行かなかった事とかの原因がこいつにかまけて…っていうのがばれると家庭の危機に陥りそうなので内緒にしておきますね。

続きを読む

素敵な$オブジェクト

毎度まいどなのですが、秋口って目が回る程忙しいよね!それは置いておいて、最近とっても寝心地が良くて目覚まし時計が役に立っていなかったりします。まあ、大幅に寝坊する事はありませんが、あとちょっとの二度寝がとても素敵なのです。
仕事柄人様の製作したデータにふれる機会も多々あるのですが、一つ思う所があります。デザイナーの皆様、基本をおろそかにしていませんか?イラストレータのアートボードの使い方に始まって、テキストボックスの操作やレイヤの取り回し…と並べ立て具体的に挙げ連ねると一日中書きなぐれたりするので止めますが、rectangleに線付けたままトリム生成するは止めましょう。線巾分トリムサイズが大きくなります。
本題です。$オブジェクトですが、コンソールにエコー返したり出来るのは良く知られていますよね?でも、この$オブジェクトってさほど語られていない様な気がするのでぶつぶつ呟いてみようと思います。しかしながら、140文字では収まりそうも無いのでこちらでぶつぶつ言っちゃいますね。

続きを読む

Document fontsに関する問題

Indesignではパッケージ処理するとパッケージ内にDocument fonsというフォルダーが生成されます。このフォルダー内にあるフォントはパッケージのドキュメントを開いた時に自動的に認識され、当該ドキュメントのみに有効なフォントとして読込まれます。これがドキュメントフォントというものです。もちろんドキュメントを閉じる時に自動的にアンロードされます。
このドキュメントフォントですが、スクリプト上での扱いが他と違うといううわさを聞きつけて調べてみました。

続きを読む

Main routin

色々とやっているわけですが、フォントのマッピングテーブルってかなり大きいんです。そりゃそうです。Romanなフォントはともかく、CJKなんて普通にグリフが2万超えていたりしますから。容量も数MB程度となります。ここで問題になるのはテーブルを展開する為の処理にESTKがどの程度頑張れるかです。結果から言うとまったく頑張れません。これは以前BASE64をエンコード処理させた時と同じ要因です。まあ、インタプリタにこの処理は無謀だよねって事です。
しかし、お手軽なのでどうしてもESTKを使いたいわけです。ですから自ずと妥協点を探す事になります。それが、今回のメインルーチンの構成です。
基本的に全てのテーブルをバラバラにして処理自体はこのテーブルに対して行います。時間がかかるのはこのバラバラ処理。大きなテーブルを展開するのにはそこそこの処理時間を要するのですが、この重たい処理を一度だけ我慢します。
次回以降は保存されたばらばらのテーブルに対するアクセスだけで処理します。

続きを読む

バイナリ読み込みファンクション群

ず〜っと整理しないままに書きなぐっているといつの間にか数千行にまで及んでしまったので今更ながらにコードの整理を行っております。今回スプリットオフしたのはバイナリデータの読み込みに関するファンクションたちです。バイナリと言っても8ビット、16ビット、32ビットと長さによって扱いも変わります。おまけに符号の有無やFixedPointなんかもあったりと煩わしさ倍増なのです。この部分を整理して外に放り出してみたりしました。オマケとして文字コード関連の処理系も含めています。unicode→SJISテーブルは以前のQRコード用の外部テーブルを改変して利用しています。でも83kBもの変換テーブルを利用している時点で負けなのかもw

続きを読む