クリエイター手抜きプロジェクト[429]Adobe Illustrator CS6〜CC 2014編 フォント見本帳を自動生成する/古籏一浩

投稿:  著者:  読了時間:7分(本文:約3,300文字)



今回は、Illustratorでフォント見本帳を自動生成するスクリプトです。最初のスクリプトは、固定された文字をドキュメント上に表示します。また、フォント名は左上に表示されます。

フォントごとドキュメントが作成され保存されますが、埋め込めないフォントの場合は、ダイアログが表示され一時停止します。完全に自動でフォン見本帳が生成されるわけではないので注意してください。なお、保存するファイルはAI形式になります。




// フォント見本帳(文字固定型)
function drawTextFont(){
// 保存先フォルダを指定する
var savefolder = Folder.selectDialog("保存先フォルダを指定してください");
if (!savefolder){ return; } // キャンセルされたら何もしない
// 表示するテキスト
var defText = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
defText += "abcdefghijklmnopqrstuvwxyzあいうえおかきくけこ";
defText += "さしすせそたちつてとなにぬねのはひふへほまみむめも";
defText += "やゆよわゐゑをん";
defText += "アイウエオカキクケコサシスセソタチツテトナニヌネノ";
defText += "ハヒフヘホマミムメモヤユヨワヰヱヲン";
for(var i=0; i<app.textFonts.length; i++){
// 対象フォント
var fnt = app.textFonts[i];
// A4サイズ
var docObj = documents.add(DocumentColorSpace.CMYK, 595.28, 841.89);
var rect = activeDocument.pathItems.rectangle(780, 15, 570, 730); // Y,X,横幅,縦幅
var txtObj = activeDocument.textFrames.areaText(rect);
txtObj.contents = defText;
txtObj.paragraphs[0].textFont = fnt;
txtObj.paragraphs[0].size = 24; // 24pt
txtObj.paragraphs[0].autoLeading = false; // 行間指定時はfalseにする
txtObj.paragraphs[0].leading = 32;
// フォント名を表示
var header = activeDocument.textFrames.add();
header.top = 820; // 縦の座標
header.left = 10; // 横の座標
header.contents = fnt.name + " / "+fnt.style;
// 保存ファイル名をフォント名で設定し保存する
var filename = new File(savefolder.fsName + "/" + fnt.name+"-"+fnt.style);
activeDocument.saveAs(filename);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
drawTextFont();


表示される文字を0〜、A〜Bなどの文字ではなく、任意の文字を使ったフォント見本帳を作成することもできます。この場合、以下のスクリプトになります。

あらかじめ、表示する文章を入力したテキストファイルを用意しておきます。スクリプト実行時に、最初にテキストファイルを選択します。その後、保存先のフォルダを指定すれば、自動的にフォント見本帳が生成されます。


// フォント見本帳(文章指定型)
function drawTextFont2(){
// 表示するテキストファイルを選択する
var textfile = File.openDialog("表示するテキストファイルを選択してください");
if (!textfile){ return; } // キャンセルされたら何もしない
var flag = textfile.open("r");
if (!flag){
alert("ファイルが読み込めません");
return;
}
var defText = textfile.read(); // 全部読み込む
// 保存先フォルダを指定する
var savefolder = Folder.selectDialog("保存先フォルダを指定してください");
if (!savefolder){ return; } // キャンセルされたら何もしない
for(var i=0; i<app.textFonts.length; i++){
// 対象フォント
var fnt = app.textFonts[i];
// A4サイズ
var docObj = documents.add(DocumentColorSpace.CMYK, 595.28, 841.89);
var rect = activeDocument.pathItems.rectangle(780, 15, 570, 730); // Y,X,横幅,縦幅
var txtObj = activeDocument.textFrames.areaText(rect);
txtObj.contents = defText;
txtObj.paragraphs[0].textFont = fnt;
txtObj.paragraphs[0].size = 24; // 24pt
txtObj.paragraphs[0].autoLeading = false; // 行間指定時はfalseにする
txtObj.paragraphs[0].leading = 32;
// フォント名を表示
var header = activeDocument.textFrames.add();
header.top = 820; // 縦の座標
header.left = 10; // 横の座標
header.contents = fnt.name + " / "+fnt.style;
// 保存ファイル名をフォント名で設定し保存する
var filename = new File(savefolder.fsName + "/" + fnt.name+"-"+fnt.style);
activeDocument.saveAs(filename);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
drawTextFont2();


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

ようやくサーバーの回線が切り替わって、安定してアクセスできるようになりました。回線も高速になったので、映像ファイルも以前の数倍速くダウンロードできます。やはり、土台がしっかりしていないと駄目です。

・Apple Watch(アップルウォッチ)使い方辞典
< http://www.openspc2.org/reibun/AppleWatch/2015/ >

・Photoshop自動化基本編
< http://www.amazon.co.jp/dp/B00W952JQW/ >

・Illustrator自動化基本編
< http://www.amazon.co.jp/dp/B00R5MZ1PA >

・Adobe JavaScriptリファレンス
< http://www.amazon.co.jp/dp/B00FZEK6J6/ >

・ExtendScript Toolkit(ESTK)基本編
< http://www.amazon.co.jp/dp/B00JUBQKKY/ >

・データビジュアライゼーションのためのD3.js徹底入門
< http://www.amazon.co.jp/dp/4797368861 >

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

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