InDesignからフォントファミリーとスタイルのリストを作る。
InDesignでJavaScriptからフォントを扱う際に、
app.fonts.item(FontName)としてフォントオブジェクトを拾ってくるんだけど、
FontNameに入れる正しいフォント名が判らなかったので、
javascriptから再利用できるようにJSONで書き出してみた。
//ExtendScriptToolKitから利用する //コンソールに吐き出されるのでこれをコピペして保存。 //テキストエディタで修正が必要。だったりする。 (function(){ var pre = ""; $.writeln("var fontFamilyList = {"); for(i=0;i<app.fonts.length;i++){ try{ check(app.fonts.item(app.fonts[i].name)); }catch(e){ } }; $.writeln("}"); $.writeln("}"); function check(f){ if(pre == ""){ pre = f.fontFamily; $.writeln("'"+f.fontFamily+"' : {"); } if(pre == f.fontFamily){ $.writeln("'"+f.fontStyleNameNative+"' : '"+f.name+"',"); }else{ pre = f.fontFamily; $.writeln("},"); $.writeln("'"+f.fontFamily+"' : {"); } } })();
出来上がったJSONをテキストエディタで眺めていると、
フォント毎に黄色い部分のスペースの間隔が違うんで、
最初、「なんでこんなに統一されてないんだ?」と思ったのですが、
このスペースは、どうやら「タブ」のようです。
わざわざこれを作ったもの「統一されていないと」思ったからで…
「それなら、ファミリ名+タブ+スタイルでよかったじゃん。」
という落ち。