テキストばらし

/********************************************************
JavaScript for Adobe Illustrator 10 - CS ( Win / Mac )

■■テキストばらし■■

複数行のテキストを改行で別オブジェクトに分割します。

作成者:倉田タカシ 2007_05_01

*******************************************************/

var itemsToSplit = new Array() ; //各テキストを格納
var splitTexts = new Array() ; //各分割テキストの配列を格納
var HorV ;
var txPos ;
var lineHeight ;

var aiVersion = version.slice(0,2);

var crCode = String.fromCharCode(13); //改行コードを指定
var enterCode = String.fromCharCode( 3 ) ;

selectedObj = activeDocument.selection ;
if( selectedObj.length == 0 )
{
alert("まず、改行で分割したいテキストを選択してください。 ( Select texts first. )");
}
else
{
for( i=0; i 0 )
{ splitTexts[i][j].top
= splitTexts[i][j-1].top - splitTexts[i][j-1].height }
}
}
else
{
// 縦書きのエリアテキストの場合は、先に幅を決める
if( splitTexts[i][j].kind == TextType.AREATEXT )
{
if( aiVersion == "10" )
{ splitTexts[i][j].textPaths[0].textPathObject.width
= lineHeight * splitTexts[i][j].textRange().textLines.length }
else
{ splitTexts[i][j].textPath.width
= lineHeight * splitTexts[i][j].lines.length }
}

splitTexts[i][j].position
// = [ txPos[0]+(lineHeight**1 , txPos[1] ] ;
= [ txPos[0] + itemsToSplit[i].width - splitTexts[i][j].width , txPos[1] ] ;

if( j > 0 )
{ splitTexts[i][j].left
= splitTexts[i][j-1].left - splitTexts[i][j].width }
}

if( aiVersion == "10" )
{ splitTexts[i][j].moveBefore( itemsToSplit[i] ) }
else
{ splitTexts[i][j].move( itemsToSplit[i] , ElementPlacement.PLACEBEFORE ) }
}
}
itemsToSplit[i].remove() ;
}
}

*1:txArray.length-1)-j