クリエイター手抜きプロジェクト[287]Adobe Illustrator CS3/CS4/CS5編 文字のサイズやフォントをランダムに設定する/古籏一浩

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


今回のスクリプトは、選択されたテキストフレーム内の文字のサイズやフォントを、ランダムに設定するものです。雑誌や新聞の文字を切り取って貼り付け、並べたような感じになります。

最初のスクリプトは、選択されたテキストフレーム内の文字を上下左右にずらします。



var dx = 20; // 左右のずれ
var dy = 10; // 上下のずれ
var selObj = app.activeDocument.selection;
for(var i=0; i< selObj.length; i++){
for(var j=0; j< selObj[i].characters.length; j++){
var x = Math.random() * dx - dx/2;
var y = Math.random() * dy - dy/2;
selObj[i].characters[j].baselineShift = y;
selObj[i].characters[j].tracking = x;
}
}


次はさらに文字を回転、文字サイズも変更するものです。


var dx = 20; // 左右のずれ
var dy = 10; // 上下のずれ
var rot = 30; // 最大30度
var size = 6; // 最大6pt差
var selObj = app.activeDocument.selection;
for(var i=0; i< selObj.length; i++){
for(var j=0; j< selObj[i].characters.length; j++){
var x = Math.random() * dx - dx/2;
var y = Math.random() * dy - dy/2;
var r = Math.random() * rot - rot/2;
var s = Math.random() * size - size/2;
selObj[i].characters[j].baselineShift = y;
selObj[i].characters[j].tracking = x;
selObj[i].characters[j].rotation = r;
var csize = selObj[i].characters[j].size;
selObj[i].characters[j].size = csize + s;
}
}


最後のスクリプトは、さらにフォントも変更するものです。
fontList=[]の[]内に文字に適用したいフォント名を指定します。
他のフォントにしたい場合は、フォント名を変更してください。追加することもできます。


var fontList = [
"KozGoPro-Regular", // 小塚ゴシックPro
"KozMinPro-Regular", // 小塚明朝Pro
"HiraKakuPro-W6" // ヒラギノ角ゴシックW6
];
var dx = 20; // 左右のずれ
var dy = 10; // 上下のずれ
var rot = 30; // 最大30度
var size = 6; // 最大6pt差
var selObj = app.activeDocument.selection;
for(var i=0; i< selObj.length; i++){
for(var j=0; j< selObj[i].characters.length; j++){
var x = Math.random() * dx - dx/2;
var y = Math.random() * dy - dy/2;
var r = Math.random() * rot - rot/2;
var s = Math.random() * size - size/2;
var n = Math.floor(Math.random() * fontList.length);
selObj[i].characters[j].baselineShift = y;
selObj[i].characters[j].tracking = x;
selObj[i].characters[j].rotation = r;
var csize = selObj[i].characters[j].size;
selObj[i].characters[j].size = csize + s;
selObj[i].characters[j].textFont = app.textFonts[fontList[n]];
}
}


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

9月14日に「10日で覚えるHTML5入門教室」が発売されます。この本のダウンロードデータには、おまけとして補習講義を入れてあります。Z80 CPUエミュレータ(一部だけ)を作るとか、HTML5 Canvasでゲームを作るとか、いろいろ入れてあります。是非、ダウンロードしてみてください。

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

・10日で覚えるHTML5入門教室【9/14発売】
< http://www.amazon.co.jp/dp/4798124184 >

・Retro Programmer【漫画】
< http://www.openspc2.org/reibun/comipo/RetroProgrammer/story01/0001/ >

・毎度おなじみASCII.jpの連載
「第5回 HTML5+CSS3でiPhone用動画アプリを作ろう」
< http://ascii.jp/elem/000/000/630/630725/ >

・Google API Expertが解説する HTML5逆引きリファレンス
< http://www.amazon.co.jp/dp/4844330349 >

・iPhone/iPad × HTML5アプリ制作
< http://www.amazon.co.jp/dp/4797362618 >

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

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >