行送りのルビ付き二分、ルビなし四分をスクリプトで実行。
【使用目的】
インデザインでコミックの組版をする際、
ルビがあると行送りを変える必要があります。
それをスクリプトで実行させるものです。
一般的な設定は、
ルビ付き:二分、ルビなし:四分となります。
段落スタイルの自動行送りでデフォルト値は設定できるのですが、
ルビ付きのときの設定はできないので、
力業か、スクリプトを使用する必要があります。
本当は、インデザインだけで設定できれば良いのですが…
▼JavaScript(ルビ付き)段落やテキストフレームを選択して実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
sel = app.activeDocument.selection; for (j=0; j<sel.length; j++) { try { selObj = sel[j]; for (i=0; i<selObj.paragraphs.length; i++) { Obj = selObj.paragraphs[i]; Obj.autoLeading = 150; Obj.leading = Leading.AUTO; } }catch(msg){ } } |
▼JavaScript(ルビ無し)段落やテキストフレームを選択して実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
sel = app.activeDocument.selection; for (j=0; j<sel.length; j++) { try { selObj = sel[j]; for (i=0; i<selObj.paragraphs.length; i++) { Obj = selObj.paragraphs[i]; Obj.autoLeading = 125; Obj.leading = Leading.AUTO; } }catch(msg){ } } |
▼JavaScript(ルビ自動認識)テキストフレームを選択して実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
var sel=app.activeDocument.selection; for(var i=0; i<sel.length; i++){ selObj = sel[i]; try{ var my_model = selObj.paragraphs[0].leadingModel; //alert(my_model); dan=0; if (my_model === 1248616802){dan=-1;}//「行送りの基準位置」が「仮想ボディの上/右」の場合、設定する行を1行ずらす。 for(var j=1; j<selObj.paragraphs.length; j++){ rubyCount= 0; var my_style = selObj.paragraphs[j].textStyleRanges; for (var ii = 0, iiLen = my_style.length; ii < iiLen; ii++){ if ((my_style[ii].rubyString !== "")&&(my_style[ii].rubyFlag === true)){ //true/false //alert(my_style[ii].rubyFlag); //ルビを使用するか否か? ルビは消えていても文字が活きている場合あり。 rubyCount += 1; } } if (rubyCount > 0){ selObj.paragraphs[ j + dan ].autoLeading = 150; selObj.paragraphs[ j + dan ].leading = Leading.AUTO; }else{ selObj.paragraphs[ j + dan ].autoLeading = 125; selObj.paragraphs[ j + dan ].leading = Leading.AUTO; } } }catch( e ){ } } //行送りの基準位置 //my_model //LEADING_MODEL_AKI_BELOW 1248616802 仮想ボディの上/右 //LEADING_MODEL_CENTER 1248619875 仮想ボディの中央 //LEADING_MODEL_ROMAN 1248619858 欧文ベースライン //LEADING_MODEL_AKI_ABOVE 1248616801 仮想ボディの下/左 |
参考情報