スポンサーサイト

Tags :
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Illustratorでグラデーションの塗りを適用されたテキストを検索するJavaScript

ちょっと古いネタですけど、以前笹川%DTPオペさんのエントリ経由で見た、
イラレで、グラデーションの塗りを適用してしまったテキストを検索する方法?』from DTP駆け込み寺の掲示板
の投稿より。

Illustratorでテキストの塗りにグラデーションが適用されていても、一見するとただのスミ文字に見えていますが、


アウトライン化するとグラデーションがかかっています。


で、この一見スミ文字に見えているのに実はグラデーションが適用されている箇所を検索出来ないかと言う事なので、それ用のJavaScriptを書いてみました。
検索の処理自体はさほど難しくないんですが、テキストツールが入力状態(入力カーソルが出ている状態)だと、思った通りの動きをしてくれないのでその点でちょっと手間取りました。

このスクリプトを実行すると、テキストの塗りにグラデーションが適用されているテキストフレームを選択された状態にして、それが何カ所あったのかをダイアログで表示します。(バウンディングボックスの表示が有効になっているとちょっと見辛いかも知れません)


選択箇所の数を表示するダイアログ。


■注意点
使用の際はテキストツール以外のツールを選択しておく必要があります。
ブラウザの環境等でスクリプト中に『円マーク』が見えている場合は『バックスラッシュ』に置換してから使用してください。

■動作確認
MacOSX 10.5.6
Illustrator CS4
#target illustrator 

function selectGradientText() {
	var doc = activeDocument;
	var TF = doc.textFrames;
	var mes = 'テキストにグラデーションが適用されている箇所はありません。';
	doc.selection = null;
	for (var i=0; i<TF.length; i++) {
		L1: for (var j=0; j<TF[i].characters.length; j++) {
			if (TF[i].characters[j].fillColor == "[GradientColor]") {
				TF[i].selected = true;
				break L1;
			}
		}
	}
	try { 
		//テキストツールが入力状態の場合、選択されたオブジェクトがundefinedになる
		var cnt = doc.selection.length;
		if (cnt > 0) mes = 'グラデーションが適用された文字が含まれるテキストフレームを ' + cnt + '箇所 選択します。';
		alert(mes);
	} catch(e) {
		alert('テキストツールが選択されていると正しく動作しません。');
	}
}

if (app.documents.length == 0) {
	alert('ドキュメントが開かれていません。');
} else {
	selectGradientText();
}
関連記事
スポンサーサイト

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

DTP駆け込み寺BBSの過去ログの追加掲載をしました(2月分)

DTP駆け込み寺BBS過去ログ保管庫に、DTP駆け込み寺BBS(掲示板)の過去ログを追加掲載いたしました。 DTP駆け込み寺の和尚様に感謝いたします。 最新のエントリーは以下の通りです。 フォトショップの選択範囲について InDesignパス抜けについて モチベーション維持する方...

コメント

非公開コメント

Profile
choco
Author : choco

印刷・製版の現場を経て、広告制作会社でPhotoshopを使ったビジュアル制作を担当。

→現在は車載機器開発ベンダにて、組み込み3Dデータ作成やUIデザインなどを行っています。

Categories
Favorites


Search
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。