長方形のエリアテキストを選択して実行すると、テキストエリアの横幅(縦組みなら縦幅)を1文字目の文字サイズ×水平比率(縦組みなら垂直比率)の整数倍にします。
エリア内文字オプションの段組みやオフセットにも対応してます。
※回転とかシアーがかかってるとダメです
[
ダウンロード]
以下ソース
(function(){
var sel=app.selection;
if (sel.constructor.name=="TextRange") return;
for (var i=0;i<sel.length;i++){
if (sel[i].constructor.name!="TextFrame" || sel[i].kind!=TextType.AREATEXT) continue;
var tf0=app.selection[i];
var tf1=tf0.duplicate();
if (tf0.orientation==TextOrientation.HORIZONTAL) {
var pt= tf0.characters[0].size*tf0.characters[0].horizontalScale/100;
var columnWidth=(tf0.width-2*tf0.spacing-tf0.columnGutter*(tf0.columnCount-1))/tf0.columnCount;
tf0.width=pt*parseInt(columnWidth/pt)*tf0.columnCount+2*tf0.spacing+tf0.columnGutter*(tf0.columnCount-1);
} else {
var pt= tf0.characters[0].size*tf0.characters[0].verticalScale/100;
var columnWidth=(tf0.height-2*tf0.spacing-tf0.columnGutter*(tf0.columnCount-1))/tf0.columnCount;
tf0.height=pt*parseInt(columnWidth/pt)*tf0.columnCount+2*tf0.spacing+tf0.columnGutter*(tf0.columnCount-1);
}
tf0.textRange.remove();
tf1.textRange.move(tf0,ElementPlacement.PLACEATBEGINNING);
tf1.remove()
}
})();
PR