クリエイター手抜きプロジェクト[226]Adobe Illustrator CS3/CS4編 条件付きでテキストフレームを選択(1)
── 古籏一浩 ──

投稿:  著者:


今回は条件付きでテキストフレームを選択するスクリプトです。

Illustratorには同じ塗り色のパスを選択する、線幅が同じパスを選択するといった条件付き選択機能が用意されています。条件付き選択は結構便利ですが、メニューから選択できる項目は少なく、こういう条件のものを選択したいけど手作業でやるしかない(探すしかない)こともあります。そういう時こそスクリプトの出番です。

今回のスクリプトは、テキストフレーム内の一文字でもマゼンタが50%以上使われている場合、その文字を含むテキストフレーム全体を選択します。



function colorChecker(srcObj){
srcObj.selected = false;
for(var j=0; j<srcObj.characters.length; j++){
colObj = srcObj.characters[j].fillColor;
if (colObj.magenta >= 50){
srcObj.selected = true;
return;
}
}
}
function mainProc(){
if (app.documents.length < 1){
alert("ドキュメントを開いてから実行してください");
return;
}
if (app.activeDocument.documentColorSpace != DocumentColorSpace.CMYK){
alert("ドキュメントのカラーモードをCMYKにしてから実行してください");
return;
}
var textObj = app.activeDocument.textFrames;
if (textObj.length < 1){
alert("選択すべきテキストフレームがありません");
return;
}
for(var i=0; i<textObj.length; i++){
colorChecker(textObj[i]);
}
}
mainProc();

このスクリプトでは、すでに選択してあるテキストフレームがあった場合、選択を解除します。もし、すでに選択してあるテキストフレームの選択を解除したくない場合(選択を追加する形)には以下の一行を削除してください。

srcObj.selected = false;

マゼンタが50%以上ではなく25%未満の場合に選択させたい場合には

if (colObj.magenta >= 50)



if (colObj.magenta < 25)

に変更してください。マゼンタではなく他の色の場合は以下のようになります。

if (colObj.cyan >= 50)  ←シアンが50%以上なら選択
if (colObj.yellow >= 50) ←黄色が50%以上なら選択
if (colObj.black >= 50)  ←黒が50%以上なら選択

少し複雑な選択であれば以下のように&&を使って書きます。
&&は両方の条件を満たした時という意味です。例えばシアンが50%以上で黄色が0%なら選択という条件式は以下のようになります。

if ((colObj.cyan >= 50) && (colObj.yellow == 0))

CMYKまとめて&&を使って書くこともできます。以下の場合はシアンが50%以上、マゼンタが40%以下、黄色が0%で黒が10%ならテキストフレームが選択されます。

if ((colObj.cyan >= 50) && (colObj.magenta <= 40) &&
(colObj.yellow == 0) && (colObj.black == 10))


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>

年賀状はパソコンとか使うより芋版でいいと思うんだけど......。後で食べることもできるし。ここ2ヶ月ほどIllustrator三昧(?)......知らなかった事が多かった。SONYのマメカムが来たけど、忙しくて未開封......。

地道に追加してます。簡単にカテゴリにジャンプできるようにしました。
・新JavaScript例文辞典
< http://www.openspc2.org/reibun/javascript2/index.html
>
photo
改訂第4版 JavaScript ポケットリファレンス
技術評論社 2006-10-18
おすすめ平均 star
star実用的で分かり易い
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

改訂第6版 HTML&スタイルシート ポケットリファレンス (POCKET REFERENCE) [改訂版] PHP ポケットリファレンス (Pocket reference) JavaScriptワークブック―ステップ30 (情報演習 (5)) JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス JavaScriptプログラミング入門 第2版

>

photo
組版時間を半減する! InDesign自動処理実例集
技術評論社 2008-11-25
おすすめ平均 star
starプログラミング経験のない方も気軽に挑戦してほしいです

1ランク上の技を身につけるInDesignの強化書 (MYCOMムック +DESIGNING Professional Bible) InCopyとInDesignによるワークフロー革命 CS4 & CS3 対応 for Macintosh & Windows Adobe InDesign「文字組み」徹底攻略ガイド InDesignレイアウト手帖 InDesign CS3の仕事術


photo
Ext JS入門―リッチUIなWebサイトをつくるAjaxフレームワーク
秀和システム 2009-07
おすすめ平均 star
star唯一のExt JS本

Practical Ext JS Projects with Gears (Practical Projects) JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス jQuery+JavaScript実践リファレンス―Webデザインを強化するための WEB+DB PRESS Vol.52 4Gbpsを超えるWebサービス構築術

by G-Tools , 2009/12/07