最適なフォントサイズをどう選べばいいのか、迷っていませんか?
このような悩みは、デザインの現場でよく耳にするものです。
そこで今回は、フォントサイズをバランス良く設定するためのIllustratorスクリプト【TypeScale】をご紹介します。
【TypeScale】を使うと、見出しや本文の各フォントサイズを比率に基づいて簡単に確認でき、デザインの一貫性を保ちながら作業時間も短縮できます。
本記事では、【TypeScale】スクリプトの使い方からソースコードまで詳しく解説。
フォントサイズの調整を効率化したい方におすすめのツールです。
それではどうぞ
Profile
この記事を書いている私は、DTPデザイナーとしてIllustratorの操作経験が15年以上あり、スクリプトも自ら作成し、デザイン作業の効率化を図っています。
本ブログでもスクリプトに関する記事を定期的に公開していますので、ぜひご参考にしてください。
関連記事:「完全無料」で作業の効率化!Illustratorスクリプト特集!
【TypeScale】スクリプトの概要
まずは、【TypeScale】とはどのようなスクリプトかをご説明します。
スクリプトのダウンロード
【TypeScale】は、こちらからサンプルとしてダウンロードできます。
使用前に、必ず「注意事項と免責事項」をご確認ください。安全に利用していただくための重要な情報が記載されています。
ダウンロード:TypeScale.jsx
スクリプトの機能
【TypeScale】は、私が自作したオリジナルスクリプトで、一貫した比率でフォントサイズを変更する必要がある場合に便利です。
以下に主な機能をご紹介します。
選択可能 デザイン内容に応じて、以下の4種類の比率から最適なものを選べます。これによりデザインの幅が広がります。
・乗算比率
・加算比率
・黄金比率
・白銀比率
任意のフォントサイズから生成開始
基準になるフォントサイズを自由に指定できるため、安心して作業を進められます。
フォントサイズの個数を指定
必要なフォントサイズの個数を指定できるため、一度の操作で完結させることが可能です。
スクリプトの使い方
【TypeScale】は、以下の手順で利用できます。
STEP1.ファイルメニューからスクリプトを選択
STEP2.【TypeScale】を選択
STEP3.基準の【フォントサイズ】を入力
STEP4.使用したい【比率】を選択
STEP5.フォントを作成する【個数】を入力
STEP6.【OK】ボタンをクリック
なお、次の記事では、Illustratorスクリプトの基本的な使い方や、具体的な活用事例について詳しく解説しています。
ぜひこちらの記事も参考にしてください。
動作チェック
このスクリプトは、以下の環境で動作確認済みです。
Illustrator CS6【Windows】
Illustrator 2024【Mac】
それぞれの環境で問題なく動作することを確認しました。
【TypeScale】スクリプトのソースコード
ここでは、【TypeScale】の動作フローと各処理条件が一目でわかるソースコードを紹介します。
理解しやすいよう、説明用のコメントアウトも含まれていますので、参考にしながらコードの動きを確認してください。
//ウィンドウ ここから
var win = new Window ('dialog', 'TYPE SCALE',[100,100,250,410]);
win.add ("statictext", [15,15,80,35], "フォントサイズ:");
var te00 = win.add('edittext',[85,15,110,35],"6");
win.add ("statictext", [115,15,130,35], "pt");
win.textTitel = win.add('panel',[10,40,130,160],'スケール');//中枠
var radio01 = win.add("radiobutton",[25,60,100,75]," 乗 算:");//ラジオボタン
var radio02 = win.add("radiobutton",[25,85,100,100]," 加 算:");//ラジオボタン
var radio03 = win.add("radiobutton",[25,110,180,125]," 黄金比");//ラジオボタン
var radio04 = win.add("radiobutton",[25,135,180,150]," 白銀比");//ラジオボタン
var te01 = win.add('edittext',[90,55,120,80],"1.25", );
var te02 = win.add('edittext',[90,80,120,105],"2");
win.add("statictext", [15,170,80,190], "個 数:");
var te03 = win.add('edittext',[60,170,85,190],"5", );
var btnOK = win.add("button",[15,205,130,240],"OK",{name:'ok'});//OK枠
var btnCancel = win.add("button",[15,250,130,285],"cancel",{name:'cancel'});//CANCEL枠
//ウィンドウ ここまで
//初期設定 ここから
te00.justify = 'right'; //文字右揃え
te01.justify = 'right'; //文字右揃え
te02.justify = 'right'; //文字右揃え
te03.justify = 'right'; //文字右揃え
te00.active = true;//アクティブにする
//te01.enabled = false; //テキストを非表示
//te02.enabled = false; //テキストを非表示
//初期設定 ここまで
radio01.onClick = function(){
te01.active = true;
}
radio02.onClick = function(){
te02.active = true;
}
//キャンセルボタンの処理ここから
btnCancel.onClick = function(){ win.close(); } //パネル外枠閉じる
//キャンセルボタンの処理ここまで
//OKボタンの処理ここから
btnOK.onClick = function(){
if(!radio01.value && !radio02.value && !radio03.value && !radio04.value){
alert("ラジオボタンを選択してください。");
return; // 何も選択されていない場合は処理を中断
}
win.close(); //パネル外枠閉じる
main();
};//btnOK
//OKボタンの処理ここまで
win.show(); //ウインドウパネルの表示
//メイン処理 ここから
function main(){
var doc = app.activeDocument;
app.coordinateSystem = CoordinateSystem.ARTBOARDCOORDINATESYSTEM; //アートボードの座標を基準にするように設定
var base = change(te00);
var high = change(te03);
var top = 0; //Y軸 原点
var height = 0; //テキストの縦幅
var selLay = doc.activeLayer;
if(!selLay.locked){
for(var i =0 ; i < high; i++){
var text = doc.textFrames.add();
text.contents = "TYPOGRAPHY";
text.paragraphs[0].size = base;
text.paragraphs[0].fillColor = cmykColor(0,0,0,80);
text.left = 0; //右側からの距離
text.top = top - height; //上側からの距離
text.selected = true; //テキストを選択
var sel = doc.selection; //選択中のテキスト
top = sel[0].top; //Y軸を取得
height = sel[0].height; //高さを取得
if(radio01.value === true) {
base *= change(te01);
} else if(radio02.value === true) {
base += change(te02);
} else if(radio03.value === true) {
base *= 1.618;
} else if(radio04.value === true) {
base *= 1.414;
}
}
} else {
alert ('指定レイヤーのロックを解除してください。');
}
}
//メイン処理 ここまで
//パネルの文字列を変換 ここから
function change(str){
var cText = eval (str.text); //eval():文字列をJavaScriptのコードとして解析して実行
return cText;
}
//パネルの文字列を変換 ここまで
//CMYKを設定 ここから
function cmykColor(c,m,y,k){
var CMYK = new CMYKColor();
CMYK.cyan = c;
CMYK.magenta = m;
CMYK.yellow = y;
CMYK.black = k;
return CMYK
}
//CMYKを設定 ここまで
注意事項と免責事項
【TypeScale】は、商用利用可能です。ただし使用につきましては、下記の注意事項と免責事項を必ずお守りください。
注意事項
・予期せぬエラーやデータ損失を防ぐために、スクリプト実行前には必ずデータを保存してください。
・事前にスクリプトの動作確認を行い、環境に適しているか確認してください。
・Illustratorのアップデートによりスクリプトの動作が変わる可能性があります。アップデート後の不具合についてはサポートできませんので、あらかじめご了承ください。
免責事項
・ご利用はすべて自己責任でお願いいたします。
・スクリプトの使用によるトラブルや損失について、当方は一切の責任を負いません。
・商用利用における成果物の品質や結果に関しては、一切の責任を負いません。
・本スクリプトの著作権は制作者に帰属します。無断で転送・販売・配布することは禁止いたします
まとめ:フォントサイズの悩みを解決する【TypeScale】スクリプト
今回は、見出しや本文の各フォントサイズを比率に基づいて自動生成してくれるIllustratorスクリプト「TypeScale」をご紹介しました。
「TypeScale」の特徴を振り返ると、以下のポイントが挙げられます。
・4つの比率から選択することができる
・任意のフォントサイズから生成を開始できる
・作成するフォントサイズの個数を指定できる
今までフォントサイズの決定にかかっていた時間を、このスクリプトで大幅に短縮できます。効率的で論理的なタイプデザインを実現し、作業時間を大きく節約しましょう。ぜひお試しください!
ダウンロードはこちら:TypeScale.jsx
Illustratorスクリプトについては、次の書籍が役に立ちます。
というわけで、今回は以上です。
『フォントサイズの悩みをIllustratorスクリプトで即解決!』を最後までお読みいただきありがとうございました。
この記事へのコメントはありません。