チェンジセット 2503: mxp/LetterspaceStaticText

差分発生行の前後
無視リスト:
コミット日時:
2009/04/20 17:09:21 (3 年前)
コミッタ:
yoropan
ログメッセージ:

--

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • mxp/LetterspaceStaticText/src/letterspace.jsfl

    r1297 r2503  
    22var currLib = dom.library; 
    33var dialog = dom.xmlPanel(fl.configURI+"Commands/letterspace.xml"); 
     4var lsnum_f=Number(dialog.ls_f); 
    45var lsnum=Number(dialog.ls); 
     6 
    57var m_arr =[] 
    6         m_arr=dialog.mozi 
     8        m_arr=dialog.mozi.split(',') 
     9var m_arr_f =[] 
     10        m_arr_f=dialog.mozi_f.split(',') 
     11var mozi_mae=dialog.front; 
     12var mozi_ato=dialog.back; 
     13 
    714function init() { 
    815        var list = fl.getDocumentDOM().library.items  
     
    3239                                 
    3340                                if(ele.elementType=="text" && ele.textType=="static"){ 
     41                                //カーニング処理 
    3442                                        lsp(ele); 
    3543                                } 
     
    4452 
    4553function 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                                                } 
    5466                                        } 
     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); 
    5578                                } 
    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                                } 
    66100                        } 
    67101} 
  • mxp/LetterspaceStaticText/src/letterspace.xml

    r1297 r2503  
    11<?xml version="1.0"?> 
    22<dialog id="letterspace"  buttons="accept,cancel" title="静止テキストをカーニング"> 
    3         <hbox> 
     3<hbox> 
     4                 
     5        </hbox> 
     6                <hbox>   
     7<checkbox checked="true"  id="front"  label="文字の前" /> 
    48                <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="(%)" /> 
    614        </hbox> 
    7         <hbox> 
     15        <separator/> 
     16                <hbox>   
     17                <checkbox checked="true"  id="back"  label="文字の後" /> 
     18 
     19                <label value="対象文字" /> 
     20                <textbox id="mozi" value="),】,”,」,、,。"/> 
     21 
    822                <label value="文字間隔" /> 
    9                 <popupslider id="ls"  minvalue="-100"  maxvalue="100" /> 
     23                <popupslider id="ls"  minvalue="-100"  maxvalue="100" width="50"/> 
     24                <label value="(%)" /> 
    1025        </hbox> 
    11 </dialog> 
     26       </dialog> 
    1227