■default ---■fontsize --70% --80% --100% --120% --140% --- --■scroll_switch

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

フォント一覧の作成_ver10.jsx 説明

イラストレーターを使ってない人には関係のない話です。


イラストレーターに外部から取った文字を貼り付けると、設定のした覚えのないデフォルトみたいなフォントに勝手になります。
私の場合は「小塚ゴシック pro」です。
いまだに、なんと読むのか分かりません。
たぶん「こづか」だと思います。
知り合いに小野塚って人はいるので小野塚ならわかるのですが、小塚って苗字ですかね。小野塚の間違いじゃないですかね。
たぶん、こづかさんが作ったゴシック調のフォントはプロ級である、という意味だと思います。
読みやすいので何の文句もありません。

でも、たまに、スクリプト処理する時にフォントを変えたいときがあるのですが、それがうまく行きません。
でも、やり方がわかったので、でも、忘れてしまいそうなので、メモっておきます。
スクリプト処理というのは「ファイル」「スクリプト」「なんとかかんとか.jsx」で動かすジャバスクリプトのスクリプトの事です。

var font_set = app.textFonts.getByName("Meiryo");//←フォントのプロパティ
var newText = activeDocument.textFrames.add();
newText.textRange.characterAttributes.size = 5 ;//ポイント フォントの大きさ(本件とは関係なし)
newText.contents = "あああ" ;//文章(本件とは関係なし)
newText.textRange.characterAttributes.textFont = font_set ;//←値を入れる

こんな感じです。
ポイントはいくつか有りますがまず、
.textFont
です。
characterAttributes.のプロパティにはのっていないのですが、
よく分かりませんが.textFontというのはどのオブジェクトにも設定されているみたいです。
なので
newText.textRange.textFont = font_set ;
でも大丈夫です。
でも、
newText.textFont = font_set ;
だと設定されません。よく分かりません。
newText.textRange.characterAttributes.textFont = font_set ;
にしておけば無難です。
ちなみにcharacterAttributesに.fontというプロパティが有りますが、これにいくら値を入れても反応有りません。
これが引っ掛け問題で、第一の関門でした。
とにかく.textFontに値を入れます。

で、次に問題なのがフォントの名前です。
まず、イラストレーターの普通の操作でやる「文字」の所に出てくるフォントの名前を指定しても、設定されません。
システムで使用されている英文字を指定する必要があります。
そんで、この「システムで使用されている英文字」というのがどこにも載っていません。
Windowsのフォントの所を見ても載ってません。
私の探し方が悪いのか載ってません。
第2関門。
この件については後で解決します。
システムのフォント名というのは例えば「メイリオ」だったら「Meiryo」みたいな名前です。
英語なだけなので分かるといえば分かりますが、小塚ゴシックとかだと「KozGoPro-Regular」みたいに略されてたりするので見当もつきません。
あ、読み方、こづか、ですね。
なんかの方法でこの名前が分かったとします。
そしたら
newText.textRange.characterAttributes.textFont = "KozGoPro-Medium" ;
とすればいいような気がしますが、これがまた反応しません。
これが第3関門です。
でどうすればいいかというと
font_set = app.textFonts.getByName("Meiryo");
をします。
これが、まあなんのこっちゃよく分かりませんが、イラストレーター自動化計画様のところに書いてあったので、そういうことなのだと思います。
要するにtextFontのオブジェクトごと渡さないといけないという事みたいです。
textFontのプロパティはname ,parent,style,typenameの4つあってなんのこっちゃわかりません。
app.textFonts.getByName("Meiryo");
で設定されたのがまとめてくるのでそのまま渡せばいいということみたいです。
ちなみに
app.textFonts.getByName("メイリオ");
では反応しません。
とにかく、上の5行みたいな書き方すれば設定できます。
////////////////////////////////////
////////////////////////////////////


で、第二関門の件ですが
「システムで使用されている英文字」を調べるスクリプトを作りました。
ついでに、どんな形のフォントか一覧ででますので、なんかの役に立つと思います。

+=http://blog-imgs-38.fc2.com/s/e/c/section009/20130820154456453.js
ブログには拡張子が「.js」しかアップロードできませんので「フォント一覧の作成_ver10.js」になっています。
1.ダウンロードしたら拡張子を「フォント一覧の作成_ver10.jsx」に書き換えて
2.イラストレーターをインストールしたフォルダの「スクリプト」のフォルダーにコピー
3.イラストレーターで適当なデータを立ち上げて「ファイル」「スクリプト」「フォント一覧の作成_ver10」をクリック
4.フォント名と一緒に見たいテストテキストを入力してOKをクリック
5.新しいレイヤーができて10秒くらいすると、アートワークの0,0の所を左上基準にしてフォントが並びます。
大体500個くらいだと思います。
名前はABC順に並び替えられます。
名前の前にある四角は黒いのが日本語対応フォントで白いのが英語だけのやつです。
この次のタイトルでソースコードを記載します。
////////////////////////////////////
illustrator javascript
イラストレーター ジャバスクリプト
////////////////////////////////////
script_ms9
スポンサーサイト
ブログ内検索ワード
マジック / フラリッシュ / デザイン / ~のコツ / プログラム関連 /
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。