ExtendScript用のサロゲートペア パーサー

残念なことにまたもや月曜日が来てしまいました。しかも寒いじゃないですか(^-^;
皆様におかれましては、お風邪など召されませぬよう充分ご留意いただきまして、この慌ただしい時節を無事乗り越えて頂きたく存じます。はい。冷え込みが厳しくなってきておりますので体調管理は十全にという事でお願いします。
なにも書くことが無いのならさっさと本題に入れって思うでしょうが、これはお約束ですからあきらめてお読みください。
ところで、皆さん憶えていますか? わたし、スクリプトをちょっと書けるんですよ???
という事なので久しぶりに小物を投入しておきます。

続きを読む……


Illustrator ver.26のSoft Hyphenの取り扱いについて

ごぶさた……いえ、先ほども投稿しましたね。立て続けで恐縮なのですが、こちらもVer.26の問題点絡みの物です。先ずは以下のリンクを踏んでください。

異なるバージョンで、文字の間に「ー」が出現する – Adobe Illustrator (uservoice.com)

続きを読む……


さようならESTK

みなさまご無沙汰しております。実はわたくし、社内ノマドワーカー状態でしてそれというのもメインマシンであるいMacが瀕死状態となってしまった為なのですが、新しいまっくさんがいらっしゃるまでの期間は空きマシンを間借りしての生活となっておりますw

そんなこんなで、瀕死のHDDから色々とサルベージしながら別のところで手を動かしているのですが、ちょっとした問題がありまして……Catalinaさんが32bitアプリケーションなんか知らないって言うのが原因なのですが、殆どのツールは諦めますがESTKだけは捨てたくねぇ~って思ってもどうしようもございません。この時の為にVSCode用に型定義ファイル整備したりデバッガに手をいれていた訳です。

でもね、VSCodeでデバッグするのってちょっと煩わしいんですよw

出来ればもっと軽快なワークフローがあればなって思います。で、過去の物を引っ張り出してくるわけなんです。

続きを読む……

面倒なときに四角形に戻してしまうスクリプト(Ai)

えーと、相方さんが勢い良すぎて埋もれてしまいそうなので危機感を感じていますが、9月からこちら連日残業という感じでほとんど休めていないかんじのTenです。
まだまだ此処も工事が続いていて何やってんだろう……と思われる方も多いかと存じますが、生暖かく見守っていただけたらと思う次第です。
さて、先日CEPコマンドリファレンスをリリースしましたが、あちらの電書は制作に3年以上費やしている代物です。特にVulcanInterfaceの解説は殆ど書かれていないものですので色々とぶっ飛んだ処理を作る際には必須だと思いますのでうまくご利用いただけたらと思います。

続きを読む……

convertSampleColorメソッドについて

ほとんど参考になる資料がないということで書いておきます。
細かいことを説明すると内部的なカラーマッピングテーブルとかも説明しなくてはいけなくなるのでユースケースから見ていきます。
まずはRGB->CMYKへの変換です。この場合以下のように引数を与えます。

alert(app.convertSampleColor(ImageColorSpace.RGB, [255,0,0], 
       ImageColorSpace.CMYK, ColorConvertPurpose.defaultpurpose));

引数について1つ目が変換元のカラースペース、2つ目がカラー値で上のケースではRGBの数値を配列として与えます。3つ目が変換先のカラースペースです。4つ目が変換用途でこのオプションの影響については後述します。
実行すると指定のRGB値に応じたCMYK値が返されますが、この値はドキュメントに設定されたカラープロファイルの影響を受けます。
つづいてCMYKからRGBへの変換を見てみましょう。

alert(app.convertSampleColor(ImageColorSpace.CMYK,
     [0,0,0,100],ImageColorSpace.RGB,ColorConvertPurpose.exportpurpose))

先程とほぼ同じ構成です。ドキュメントのカラープロファイルが変換に影響するのは先程のRGB->CMYK変換と一緒です。ここではK=100をRGBに変換していますが、この場合ColorConvertPurposeの設定が大きく影響します。Illustrator初期設定ー>ブラックのアピアランススクリーンpreviewpurposeプリント/書き出しexportpurposeに対応して挙動が変わります。これらをリッチブラックに設定してあるとこの2つのパラメータではBlack Preservationが有効になり、内部のカラーマップを参照してRGB->[0,0,0]と最も暗い色に変換されます。defaultpurpose及びdummypurposeではBlack Preservationは効きませんからカラープロファイルからダイレクトに変換されます。また、環境設定で全てのブラックを正確に表示を設定してある場合でもBlack Preservationは働きませんのでdefaultpurposeと同じ結果になります。
これでいいかな? おもちくん???


Illustratorの「Diacritics Position」について

昨日目の前をdiacVPosっていうのがとおりすぎていったんですが、こいつって発音記号の縦位置関連のプロパティーだったよなぁ…と思っているうちに見失いました。
後で思い出そうと頑張ってみましたがはっきりとしたことはわからなかったのですが、通勤電車の中でちょっと思い出しました。こいつってあらびっくやへぶらいな方々の為に用意された機能なのです。で、先程大急ぎで調べました。

characterAttributeschilddiacVPosdiacXOffsetdiacYOffsetの3つのプロパティが存在します。では試してみましょう。


グレイで表示されているのがDiacVPosType.DEFAULT_POSITIONです。ピンクがDiacVPosType.LOOSE_POSITION、ブルーがDiacVPosType.TIGHT_POSITIONです。enumeratorにはあとひとつOPENTYPEがあるのですが、現在はOpenTypeフォントを利用しますのでおおよそのケースではDEFAULTと同じになります。

更に数値でダイレクトにdiacritical markを動かしてみます。

app.selection.characterAttributes.diacXOffset = 500;

結果は…

黄色いほうが500移動したものです。

同様に縦方向は

app.selection.characterAttributes.diacYOffset = 500;

として、結果は以下のようになります。

※スクリプト実行時はテキストツールで全体を選択した状態でtextRangeに対して処理を行います。