:note

InDesignで気になるところを長体平体で一行減らす

せうぞーさんの『 選択テキストを長体(または平体)で指定ライン数に追い込む「shorten_line_selection 0.2」 』をみてて「二行ならば必ず一行に」という指示のとき

いちいち全体(段落)を選択するが面倒だなー、挿入点でもいいじゃない?って思ったのでためしに書いてみる。

挿入点ならその段落を対象に、それ以外は選択範囲を対象に一行減るまで長体平体をかけます。縦横兼用、リミッターは設けてません、マイナス一行専用版。

switchとifとwhileと三項演算子を織り交ぜてみる。

outputしないとすぐ忘れちゃうから。

//気になるところを長体平体で一行減らす
if(app.documents.length!=0 && app.selection.length == 1){
  main();
}

function main(){
  var selObj=app.selection[0];
  var targetObj;
  switch(selObj.constructor.name){
    case "InsertionPoint": targetObj=selObj.paragraphs[0]; break;//挿入点ならその段落全体
    //    case "Character": //多分不要
    //    case "Line": //多分不要
    case "Word":
    case "TextStyleRange":
    case "Paragraph":
    case "Text":
    case "TextColumn": targetObj=selObj; break;
    default : exit();
  }
  var HorV = targetObj.parentStory.storyPreferences.storyOrientation == StoryHorizontalOrVertical.HORIZONTAL ? 'horizontalScale':'verticalScale';
  if(targetObj.lines.length >= 2){
    var L=targetObj.lines.length;
    while(targetObj.lines.length > L-1){
      if(targetObj.lines.length == 1){
        break;
      }
    targetObj[HorV]--;
    targetObj.recompose();
    }
  }
}

 
comments powered by Disqus
back to top