クリエイター手抜きプロジェクト[100]Photoshop CS/CS2編 任意の文字数で改行する/古籏一浩

投稿:  著者:  読了時間:3分(本文:約1,200文字)


実践Web2.0 Ajaxプログラミング入門今回は任意の文字数で改行するスクリプトです。ワープロなどでは横80文字に揃える機能がありますが、ほぼ同様のものです。ただし、手抜きのため禁則処理は行なっていません。

以下のスクリプトは横10文字に揃えるものです。使い方は、横の文字数を揃えたいテキストレイヤーを選択してから実行します。テキストレイヤーを選択するだけで、テキスト自体を選択する必要はありません。選択したレイヤーがテキストではない場合には何も処理されません。


wordCount = 10; // 10文字ごと改行
CR = String.fromCharCode(13);
docObj = activeDocument;
layObj = docObj.activeLayer;
if (layObj.kind == LayerKind.TEXT)
{
txt = layObj.textItem.contents;
result = "";
count = 0;
for (i=0; i< txt.length; i+=wordCount)
{
result += txt.substr(count*wordCount, wordCount);
count++;
result += CR;
}
layObj.textItem.contents = result;
}

文字数が固定できない場合にはダイアログで入力させることもできます。この場合は以下のように prompt() を使います。

wordCount = parseInt(prompt("横の文字数",10));
CR = String.fromCharCode(13);
docObj = activeDocument;
layObj = docObj.activeLayer;
if (layObj.kind == LayerKind.TEXT)
{
txt = layObj.textItem.contents;
result = "";
count = 0;
for (i=0; i< txt.length; i+=wordCount)
{
result += txt.substr(count*wordCount, wordCount);
count++;
result += CR;
}
layObj.textItem.contents = result;
}

MacOS X版では動作を確認していますが、Windows版では2行目を以下のようにしないと動作しないかもしれません。

CR = String.fromCharCode(13)+String.fromCharCode(10);

【古籏一浩】openspc@po.shiojiri.ne.jp
http://www.openspc2.org/
Google Maps API Ver 2を利用してフォトアルバム(?)を作ってみました。Google Mapsなので自由にスクロール、ズームができます。
< http://www.openspc2.org/blog/sample/008/ >

photo
Ajax実践テクニック
高橋 登史朗 古籏 一浩
秀和システム 2006-07

Ajaxイン・アクション 超・極める! PHP 入門 Ajax AJAX Webアプリケーション アイデアブック Ajax 実装のための基礎テクニック

by G-Tools , 2006/09/04