CEPリファレンスリリースしました

UXP(Unified eXtensibility Platform)がアナウンスされてからこの方、CEP(Common Extensibility Platform)は死んでしまったかのような扱いになっていますが、そんなことはありません。機能拡張プラットフォームとしては現在も主要なものです。UXPはこれから開発が加速していくプラットフォームであり、全てのアプリケーションが安定した状態でサポートする状況になるには、まだまだ時間を要するものです。

こういった状況でにあり、CEPも開発部門は小さくなってきていますが、まだまだ改良が進められています。

このあたりのAdobe社の機能拡張プラットフォームの悪いところはリファレンスをきっちりと整備しない所です。日本語となると有用なリファレンス類はほとんど見当たりません。この問題についてはわたしが細々と情報を発信し続けてきたことは皆様ご存知のことと思います。しかし、情報を効率よく得るためには系統立てて参照できる仕組みが必須です。

今回リリースしたリファレンスはCEPに特徴的なJavaScripライブラリ類を網羅したもので、全てにサンプルスクリプトを用意しました。

是非、手に取って開発にお役立ていただきたいと思います。(^-^)/

https://ten-artai.booth.pm/items/2409637


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と同じ結果になります。
これでいいかな? おもちくん???


Bridgeとかにショートカットを仕込む(macOS)

Adobe社のアプリケーションにおいてもいくつかのものにはデフォルト以外のショートカットを割り当てられない物が存在します。
ショートカットぐらい自分で調整したいですよね? わたしも手が小さい目なのでcmmand, option, controlはフルに使い分けて左手の稼働率を上げたいわけですがBridge君には調整する機能がありませんでした。
で、先日OSでやれやボケェ〜って言われたのでやってみた次第です。

まず、システム環境設定を開きます。

そしてキーボードの項目をクリックします。ショートカットのアプリケーションを選択。して+アイコンをクリックします。

全アプリケーションと表示されているドロップダウンからお目当てのアプリケーションを選択します。

今回はBridge2020を選んで…

メニュータイトルはBridgeのショートカットを割り当てたいメニュー名称を正確に入力し、ショートカットを割り当てます。

この様にスクリプトを利用して追加したメニューに対してもショートカットを割り当てることが可能です。

この手法はDTP系以外で使えます。なんでPsやAi、Idは使えないのか???


Illustratorで立体的にループになったテキストの作成方法

えーと…あっちを向いてもNDAこっちを向いてもNDA…いったいわたしにどうしろとw
ということで絶賛停滞中なのですが、Covid-19なんかに負けてられませんから何か書こうと思ったのですが[NDA]なのでAiも認識しちゃって[NDA]なので[NDA]をどうしたものかってなります。ということで、先日Communityでだだ被りで笑うしかなかったやつの供養です。
とりあえず…

こんな感じのをちゃちゃっと作りたいときのチュートリアルです。

1.まず、クルッとしたいテキストをシンボルに登録します。

2.おもむろに四角形を線なし白ベタで描きましょう。

3.それを選択した状態で「効果>3D>回転体」を適用します。

4.陰影を無しに設定した上で、マッピングで側面を選択して先程登録したシンボル(テキスト)を選択して良い具合にクルってなるように調整しましょう。

5.出来上がったら「アピアランスを分割」していらない部分を削除します。

出来上がりました。このクルッとしたやつをクルクルっとした(螺旋)にするにはシンボルを斜めにして登録します。

あとは適宜増やすとオッケーです。


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に対して処理を行います。


パスオブジェクトを水平にしよう

みなさまにおかれましてはご清祥のこととお慶び申し上げます。

ということで、すでに本年も10%程経過してしましました。なにそれ、こわい! で、結構多忙で何もかも進まない状態のどん詰まりなのですが、ここんとこ結構冷え込んでオフトゥンから脱出するのが一苦労な状況です。みなさまにおかれましてはぱげでそれどころではないものと存じます。ということで、こっそりスクリプトを置いておきます。

続きを読む……