クリエイター手抜きプロジェクト[112]Photoshop CS2編引用符を変換する
── 古籏一浩 ──

投稿:  著者:


今回はPhotoshop CS2で引用符である "〜" を “〜” のように変換するスクリプトです。前々回のWeb編とは少し異なっています。Photoshop CS2で動作確認していますが、CSでも問題なく動作するはずです。

スクリプトは3種類用意しました。スクリプト1は、変換したい引用符があるテキストレイヤーを選択してから実行します。選択したレイヤーのみ引用符が変換されます。

スクリプト2は全てのレイヤーを調べてテキストレイヤーだった場合に引用符を変換します。スクリプト3はスクリプト2の改良版で、引用符が正しく閉じられていない場合、レイヤー名を表示するものです。


いずれのスクリプトも文字の色などを指定する前に実行してください。


【スクリプト1】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
layObj = activeDocument.activeLayer;
if (layObj.kind == LayerKind.TEXT)
{
count = 0;
result = "";
text = layObj.textItem.contents;
for (j=0; j< text.length; j++)
{
c = text.charAt(j);
if (c == '"')
{
c = LQ;
if (count & 1) c = RQ;
count++;
}
result += c;
}
layObj.textItem.contents = result;
}


【スクリプト2】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
layObj = activeDocument.artLayers;
for (i=0; i< layObj.length; i++)
{
if (layObj[i].kind == LayerKind.TEXT)
{
count = 0;
result = "";
text = layObj[i].textItem.contents;
for (j=0; j< text.length; j++)
{
c = text.charAt(j);
if (c == '"')
{
c = LQ;
if (count & 1) c = RQ;
count++;
}
result += c;
}
layObj[i].textItem.contents = result;
}
}


【スクリプト3】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
layObj = activeDocument.artLayers;
for (i=0; i< layObj.length; i++)
{
if (layObj[i].kind == LayerKind.TEXT)
{
count = 0;
result = "";
text = layObj[i].textItem.contents;
for (j=0; j< text.length; j++)
{
c = text.charAt(j);
if (c == '"')
{
c = LQ;
if (count & 1) c = RQ;
count++;
}
result += c;
}
layObj[i].textItem.contents = result;
if (count & 1)
{
alert("【"+layObj[i].name+"】レイヤーの括弧が閉じられていません");
}
}
}


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
あけまして、おめでとうございます。今年もよろしく、お願いします。
何となくハイビジョン映像素材で24フレーム素材も用意してみました。
< http://www.openspc2.org/HDTV/
>

photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
star中級者向けです。

[改訂版] PHP ポケットリファレンス プロとして恥ずかしくないJavaScriptの大原則 改訂新版 SQLポケットリファレンス プロとして恥ずかしくないスタイルシートの大原則 詳解 HTML & XHTML & CSS辞典

by G-Tools , 2007/01/09