CS/CS2で分割されたテキストを連結する

Illustrator CS/CS2で作成したデータをIllustrator 10のEPS形式で保存すると、テキストが分割されてしまいます。これはテキストの処理がCS以降で変わったのが大きな原因です。過去の互換性を保つにはテキストを分割した方が安全という考えもあったのでしょう。
そこで、分割されてしまったテキストをver 10で連結するスクリプトを作成してみました。ただし、使用にあたっては、いくつか制限があります。このため、以下の手順で実行してください。

(1) テキストを選択します。
(2) グループを解除します。
(3) スクリプトを実行します。

ただし、テキスト情報のみを連結しますので、他の情報は一切失われます。また、文字サイズは全て同じ文字サイズであると仮定していますので連結後は全て、特定のサイズに統一されます。
選択されたテキストのうち一番左側のものに全ての文字が連結されます。また、横一列のみの連結になるので、一行ずつ選択して(1)〜(3)の手順を繰り返してください。

selObj = activeDocument.selection;
txt = new Array();
textX = new Array();
textY = selObj[0].top;
fSize = (selObj[0].textRange()).characters[0].size;
for (i=0; i<selObj.length; i++)
{
txt[i] = selObj[i].contents;
textX[i] = selObj[i].left;
}
for (j=0; j<textX.length-1; j++)
{
for (i=0; i<textX.length-j-1; i++)
{
if (textX[i] > textX[i+1])
{
n = textX[i];
textX[i] = textX[i+1];
textX[i+1] = n;
n = txt[i];
txt[i] = txt[i+1];
txt[i+1] = n;
}
}
}
catText = "";
for (i=0; i<selObj.length; i++) selObj[i].remove();
for (i=0; i<txt.length; i++) catText += txt[i];
newTextObj = activeDocument.textArtItems.add();
newTextObj.contents = catText;
newTextObj.translate(textX[0],textY-fSize);




[サンプルをダウンロード]