最初は、Illustratorで文字ごとに異なる書体をランダムに適用するスクリプトです。実行する前に、処理するテキストブロックを選択しておきます。
fontList = [
app.textFonts.getByName("HiraKakuStd-W8"),
app.textFonts.getByName("KozMinPro-Medium"),
app.textFonts.getByName("KozGoStd-Medium")
]
sel = activeDocument.selection;
for (j=0; j< sel.length; j++)
{
selObj = sel[j];
for (i=0; i< selObj.textSelection[0].characters.length; i++)
{
n = Math.floor(Math.random() * fontList.length);
selObj.textSelection[0].characters[i].textFont = fontList[n];
}
}
fontList = [
app.textFonts.getByName("HiraKakuStd-W8"),
app.textFonts.getByName("KozMinPro-Medium"),
app.textFonts.getByName("KozGoStd-Medium")
]
sel = activeDocument.selection;
for (j=0; j< sel.length; j++)
{
selObj = sel[j];
for (i=0; i< selObj.textSelection[0].characters.length; i++)
{
n = Math.floor(Math.random() * fontList.length);
selObj.textSelection[0].characters[i].textFont = fontList[n];
}
}
書体を増やしたり減らしたりする場合には、fontList[〜] 内に書体名を書きます。app.textFonts.getByName() のカッコ内に書体名を書きますが、日本語書体の場合は、HiraKakuStd-W8のように英語表記にする必要があります。日本語書体名が分からない場合には、以下のページにあるスクリプトを利用してください。
< http://www.openspc2.org/projectX/Illustrator/0003/index.html
>
適用される書体は、fontList[] 内の数に合わせて調整されるので、気にせず追加削除して問題ありません。
ランダムに書体が決まるのではなく、順番に繰り返し適用したい場合には、以下のスクリプトになります。
fontList = [
app.textFonts.getByName("HiraKakuStd-W8"),
app.textFonts.getByName("KozMinPro-Medium"),
app.textFonts.getByName("KozGoStd-Medium")
]
sel = activeDocument.selection;
for (j=0; j< sel.length; j++)
{
selObj = sel[j];
n = 0;
for (i=0; i< selObj.textSelection[0].characters.length; i++)
{
selObj.textSelection[0].characters[i].textFont = fontList[n];
n++;
n = n % fontList.length;
}
}
書体だけでなく、色も指定する場合には以下のようになります。
colObj = new RGBColor();
colorList = [
[255,0,0], [127, 60,0], [0,255,20], [0,20,255]
]
fontList = [
app.textFonts.getByName("HiraKakuStd-W8"),
app.textFonts.getByName("KozMinPro-Medium"),
app.textFonts.getByName("KozGoStd-Medium")
]
sel = activeDocument.selection;
for (j=0; j< sel.length; j++)
{
selObj = sel[j];
n = 0;
n2 = 0;
for (i=0; i< selObj.textSelection[0].characters.length; i++)
{
selObj.textSelection[0].characters[i].textFont = fontList[n];
colObj.red = colorList[n2][0];
colObj.green = colorList[n2][1];
colObj.blue = colorList[n2][2];
selObj.textSelection[0].characters[i].fillColor = colObj;
n++;
n = n % fontList.length;
n2++;
n2 = n2 % colorList.length;
}
}
色は colorLits[] 内に [赤, 緑, 青] の輝度(0〜255)で指定します。
fontList[] 同様に追加したり削除した場合、自動的に調整されます。
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
仮面ライダーキバ、じゃあ次は仮面ライダー新木場?
仮面ライダーアキバってのもあり? 歳をとったら仮面ライダーキンバ(金歯)、仮面ライダーキバツ(奇抜)とか、類似名ってどこまで考えて登録するんだろう……
Prototype系ライブラリのサンプルコードを用意しました。参考までにどうぞ。
< http://www.openspc2.org/reibun/Prototype/
>
< http://www.openspc2.org/projectX/Illustrator/0003/index.html
>
適用される書体は、fontList[] 内の数に合わせて調整されるので、気にせず追加削除して問題ありません。
ランダムに書体が決まるのではなく、順番に繰り返し適用したい場合には、以下のスクリプトになります。
fontList = [
app.textFonts.getByName("HiraKakuStd-W8"),
app.textFonts.getByName("KozMinPro-Medium"),
app.textFonts.getByName("KozGoStd-Medium")
]
sel = activeDocument.selection;
for (j=0; j< sel.length; j++)
{
selObj = sel[j];
n = 0;
for (i=0; i< selObj.textSelection[0].characters.length; i++)
{
selObj.textSelection[0].characters[i].textFont = fontList[n];
n++;
n = n % fontList.length;
}
}
書体だけでなく、色も指定する場合には以下のようになります。
colObj = new RGBColor();
colorList = [
[255,0,0], [127, 60,0], [0,255,20], [0,20,255]
]
fontList = [
app.textFonts.getByName("HiraKakuStd-W8"),
app.textFonts.getByName("KozMinPro-Medium"),
app.textFonts.getByName("KozGoStd-Medium")
]
sel = activeDocument.selection;
for (j=0; j< sel.length; j++)
{
selObj = sel[j];
n = 0;
n2 = 0;
for (i=0; i< selObj.textSelection[0].characters.length; i++)
{
selObj.textSelection[0].characters[i].textFont = fontList[n];
colObj.red = colorList[n2][0];
colObj.green = colorList[n2][1];
colObj.blue = colorList[n2][2];
selObj.textSelection[0].characters[i].fillColor = colObj;
n++;
n = n % fontList.length;
n2++;
n2 = n2 % colorList.length;
}
}
色は colorLits[] 内に [赤, 緑, 青] の輝度(0〜255)で指定します。
fontList[] 同様に追加したり削除した場合、自動的に調整されます。
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
仮面ライダーキバ、じゃあ次は仮面ライダー新木場?
仮面ライダーアキバってのもあり? 歳をとったら仮面ライダーキンバ(金歯)、仮面ライダーキバツ(奇抜)とか、類似名ってどこまで考えて登録するんだろう……
Prototype系ライブラリのサンプルコードを用意しました。参考までにどうぞ。
< http://www.openspc2.org/reibun/Prototype/
>
- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
- JavaScriptを使ったプロジェクトのお供に是非
- バランスの良いバイブル
- JavaScript仮免者以上の方へ
- 中級者向けです。
- ActionScript逆引きクイックリファレンス―5&MX&MX2004&8対応 for Windows & Macintosh
- 田中 康博 古籏 一浩 林 拓也
- 毎日コミュニケーションズ 2005-12
- おすすめ平均
- Flash(ActionScript)の開発前の調査にも役立ちます
- 良書です。