チェンジセット 2503: mxp/LetterspaceStaticText
- コミット日時:
- 2009/04/20 17:09:21 (3 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
mxp/LetterspaceStaticText/src/letterspace.jsfl
r1297 r2503 2 2 var currLib = dom.library; 3 3 var dialog = dom.xmlPanel(fl.configURI+"Commands/letterspace.xml"); 4 var lsnum_f=Number(dialog.ls_f); 4 5 var lsnum=Number(dialog.ls); 6 5 7 var m_arr =[] 6 m_arr=dialog.mozi 8 m_arr=dialog.mozi.split(',') 9 var m_arr_f =[] 10 m_arr_f=dialog.mozi_f.split(',') 11 var mozi_mae=dialog.front; 12 var mozi_ato=dialog.back; 13 7 14 function init() { 8 15 var list = fl.getDocumentDOM().library.items … … 32 39 33 40 if(ele.elementType=="text" && ele.textType=="static"){ 41 //カーニング処理 34 42 lsp(ele); 35 43 } … … 44 52 45 53 function lsp(ele){ 46 var arr=new Array(); 47 for(i=0;i<ele.length;i++){ 48 //テキストを判定 49 var txt=ele.getTextString(i, i+1); 50 for(t=0;t<m_arr.length;t++){ 51 if(txt.indexOf(m_arr[t])!=-1){ 52 arr.push(i); 53 } 54 var arr_b=new Array(); 55 var arr_f=new Array(); 56 57 if(dialog.back && lsnum!=""){ 58 for(i=0;i<ele.length;i++){ 59 //テキストを判定 後ろ 60 var txt=ele.getTextString(i, i+1); 61 for(t=0;t<m_arr.length;t++){ 62 if(txt.indexOf(m_arr[t])!=-1){ 63 arr_b.push(i); 64 } 65 } 54 66 } 67 68 //取り出す 69 70 for(j =0; j<arr_b.length;j++){ 71 var num=Number(arr_b[j]); 72 //フォントサイズに応じたカーニングの値を計算 73 var fsize=ele.getTextAttr("size", num); 74 var knum=Math.round(fsize*lsnum/100) 75 76 //カーニング 77 ele.setTextAttr("letterSpacing", knum,num,num+1); 55 78 } 56 //arr.reverse(); 57 //取り出す 58 for(j =0; j<arr.length;j++){ 59 var num=Number(arr[j]); 60 //フォントサイズに応じたカーニングの値を計算 61 var fsize=ele.getTextAttr("size", num); 62 var knum=Math.round(fsize*lsnum/100) 63 64 //カーニング 65 ele.setTextAttr("letterSpacing", knum,num,num+1); 79 } 80 if(dialog.front && lsnum_f!=""){ 81 for(i=0;i<ele.length;i++){ 82 //テキストを判定 前 83 var txt=ele.getTextString(i, i+1); 84 for(t=0;t<m_arr_f.length;t++){ 85 if(txt.indexOf(m_arr_f[t])!=-1){ 86 arr_f.push(i); 87 } 88 } 89 } 90 //取り出す 91 for(j =0; j<arr_f.length;j++){ 92 var num=Number(arr_f[j]); 93 //フォントサイズに応じたカーニングの値を計算 94 var fsize=ele.getTextAttr("size", num); 95 var knum=Math.round(fsize*lsnum_f/100) 96 97 //カーニング 98 ele.setTextAttr("letterSpacing", knum,num-1,num); 99 } 66 100 } 67 101 } mxp/LetterspaceStaticText/src/letterspace.xml
r1297 r2503 1 1 <?xml version="1.0"?> 2 2 <dialog id="letterspace" buttons="accept,cancel" title="静止テキストをカーニング"> 3 <hbox> 3 <hbox> 4 5 </hbox> 6 <hbox> 7 <checkbox checked="true" id="front" label="文字の前" /> 4 8 <label value="対象文字" /> 5 <textbox id="mozi" value="、,。,),】,”,」"/> 9 <textbox id="mozi_f" value="(,【,“,「"/> 10 11 <label value="文字間隔" /> 12 <popupslider id="ls_f" minvalue="-100" maxvalue="100" width="50"/> 13 <label value="(%)" /> 6 14 </hbox> 7 <hbox> 15 <separator/> 16 <hbox> 17 <checkbox checked="true" id="back" label="文字の後" /> 18 19 <label value="対象文字" /> 20 <textbox id="mozi" value="),】,”,」,、,。"/> 21 8 22 <label value="文字間隔" /> 9 <popupslider id="ls" minvalue="-100" maxvalue="100" /> 23 <popupslider id="ls" minvalue="-100" maxvalue="100" width="50"/> 24 <label value="(%)" /> 10 25 </hbox> 11 </dialog>26 </dialog> 12 27

