クリエイター手抜きプロジェクト[361]Illustrator CS3〜CS6/CC編 選択された文字に図形をフィットさせる/古籏一浩

投稿:  著者:  読了時間:4分(本文:約1,600文字)


今回のスクリプトは、選択された文字に図形をフィットさせるものです。テキストと図形の2つを選択してから実行します。ただし、四角形以外の図形ではスケーリングされてしまうため、図形がゆがんでしまいます。

片方がテキストフレームであれば動作するようになっています。また、2つのテキストフレームを選択してどちらかにフィットさせることもできます。





// 選択した2つのオブジェクトのうち図形を文字のサイズにフィットさせる
(function(){
var selObj = app.activeDocument.selection;
if (selObj.length != 2){
alert("文字と図形の2つを選択してください");
return;
}
var offsetLeft = 0;
var offsetTop = 0;
var offsetRight = 0;
var offsetBottom = 0;
var sel1 = 0;
var sel2 = 1;
if (sel2.typename == "TextFrame"){ // sel1が文字である事を前提にする
sel1 = 1;
sel2 = 0;
}
selObj[sel1].left = selObj[sel2].left - offsetLeft;
selObj[sel1].top = selObj[sel2].top + offsetTop;
selObj[sel1].width = selObj[sel2].width + offsetRight + offsetLeft;
selObj[sel1].height = selObj[sel2].height + offsetBottom + offsetTop;
})();


テキストに図形をフィットさせるようになっていますが、逆に図形にテキストをフィットさせる場合は、以下のように変更してください。

if (sel2.typename == "TextFrame")
 ↓
if (sel2.typename != "TextFrame")

テキストにフィットさせる際に、余白(オフセット)を指定する場合は、以下の行の数値を変更してください。

var offsetLeft = 0;
var offsetTop = 0;
var offsetRight = 0;
var offsetBottom = 0;


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

Go言語、地道に学習中。オブジェクト指向云々、関数型言語云々とか、オブジェクト指向言語にある継承とかもないので至ってシンプル。C言語知っている人なら、すぐに覚えられます。LL言語(JavaScript, Ruby, Python)のいいところを参考にして、C言語風にアレンジしたような言語といったところ。でも、流行らない雰囲気が漂う言語...

・Go言語例文辞典 (MacOS X)
< http://www.openspc2.org/reibun/Go/1.1.1/ >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/ >

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082 >

・改訂5版JavaScriptポケットリファレンス
< http://www.amazon.co.jp/dp/4774148199 >

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。