しぶとく引用符ネタです。
今回は、AfterEffects 7.0で引用符である "〜" を“〜”のように変換するスクリプトと、引用符を修正するスクリプトです。
引用符を修正するスクリプトがなぜ必要なのかと言えば、After Effects 7.0でテキストを入力すると、引用符が自動的に変換され“〜”のようになるためです。ただし、先頭で " を入力した場合のみ正しく処理され、2文字目以降は” にされてしまいます。これを解消するためのスクリプトが必要になるわけです。
今回は、AfterEffects 7.0で引用符である "〜" を“〜”のように変換するスクリプトと、引用符を修正するスクリプトです。
引用符を修正するスクリプトがなぜ必要なのかと言えば、After Effects 7.0でテキストを入力すると、引用符が自動的に変換され“〜”のようになるためです。ただし、先頭で " を入力した場合のみ正しく処理され、2文字目以降は” にされてしまいます。これを解消するためのスクリプトが必要になるわけです。
まず、スクリプト1は、変換したい引用符があるテキストレイヤーをタイムラインウィンドウで選択してから実行します(必ずタイムラインウィンドウで選択してください)。テキストレイヤーは複数選択でき、選択したテキストレイヤーのみダブルクオーテーションが引用符に変換されます。
スクリプト2はAfterEffects 7.0の引用符の不具合を解消するものです。スクリプト1と同様に、変換したいテキストレイヤーを選択してから実行します。なお、文字に色など属性を指定する前に実行してください。属性が指定された後では文字の色などがおかしくなります。また、スクリプトはExtend Script ToolKitから実行しても問題ありません。
【スクリプト1】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
function convertQ()
{
selObj = app.project.activeItem.selectedLayers;
for (i=0; i< selObj.length; i++)
{
count = 0;
result = "";
txt = (selObj[i].sourceText.value).toString();
for (j=0; j< txt.length; j++)
{
c = txt.charAt(j);
if (c == '"')
{
c = LQ; if (count & 1) c = RQ;
count++;
}
result += c;
}
selObj[i].sourceText.setValue(result); }}convertQ();
【スクリプト2】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
function convertQ()
{
selObj = app.project.activeItem.selectedLayers;
for (i=0; i< selObj.length; i++)
{
count = 0;
result = "";
txt = (selObj[i].sourceText.value).toString();
for (j=0; j< txt.length; j++)
{
c = txt.charAt(j);
if ((c == RQ) && ((count & 1) == 0)) c = LQ;
if ((c == LQ) || (c == RQ)) count++;
result += c;
}
selObj[i].sourceText.setValue(result); }}convertQ();
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
知らない人の方が多いかもしれないので、ちょっとだけ書いておきます。Mac版のみでWin版は不明です。
Photoshopのバッチ処理を高速に処理させるには、バッチ処理が始まったらPhotoshopをバックエンドにすると、ウィンドウの内容が表示されなくなり数倍に高速処理されます。要するに、他のアプリを最前面にすればOKです。
また、スクリプトでの処理を行う場合、activeDocumentを指定するとPhotoshopが最前面でアクティブになっていないと正しく処理されません。これだと処理が終わるまで待たないといけない上に速度も低下します。この場合は別ユーザーを作り、そのユーザー上でスクリプトを実行後にファストユーザースイッチで元のユーザーに切り替えればOK。Illustratorでも同様です。
仕方なくWindows Vista専用のマシンを注文しました。Vistaは売れても売れなくても影響ないのですが。

スクリプト2はAfterEffects 7.0の引用符の不具合を解消するものです。スクリプト1と同様に、変換したいテキストレイヤーを選択してから実行します。なお、文字に色など属性を指定する前に実行してください。属性が指定された後では文字の色などがおかしくなります。また、スクリプトはExtend Script ToolKitから実行しても問題ありません。
【スクリプト1】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
function convertQ()
{
selObj = app.project.activeItem.selectedLayers;
for (i=0; i< selObj.length; i++)
{
count = 0;
result = "";
txt = (selObj[i].sourceText.value).toString();
for (j=0; j< txt.length; j++)
{
c = txt.charAt(j);
if (c == '"')
{
c = LQ; if (count & 1) c = RQ;
count++;
}
result += c;
}
selObj[i].sourceText.setValue(result); }}convertQ();
【スクリプト2】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
function convertQ()
{
selObj = app.project.activeItem.selectedLayers;
for (i=0; i< selObj.length; i++)
{
count = 0;
result = "";
txt = (selObj[i].sourceText.value).toString();
for (j=0; j< txt.length; j++)
{
c = txt.charAt(j);
if ((c == RQ) && ((count & 1) == 0)) c = LQ;
if ((c == LQ) || (c == RQ)) count++;
result += c;
}
selObj[i].sourceText.setValue(result); }}convertQ();
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
知らない人の方が多いかもしれないので、ちょっとだけ書いておきます。Mac版のみでWin版は不明です。
Photoshopのバッチ処理を高速に処理させるには、バッチ処理が始まったらPhotoshopをバックエンドにすると、ウィンドウの内容が表示されなくなり数倍に高速処理されます。要するに、他のアプリを最前面にすればOKです。
また、スクリプトでの処理を行う場合、activeDocumentを指定するとPhotoshopが最前面でアクティブになっていないと正しく処理されません。これだと処理が終わるまで待たないといけない上に速度も低下します。この場合は別ユーザーを作り、そのユーザー上でスクリプトを実行後にファストユーザースイッチで元のユーザーに切り替えればOK。Illustratorでも同様です。
仕方なくWindows Vista専用のマシンを注文しました。Vistaは売れても売れなくても影響ないのですが。

- Google Maps API逆引きクイックリファレンス―WEB2.0対応
- 古籏 一浩
- 毎日コミュニケーションズ 2006-09
- おすすめ平均
ようやく出ました。使えるGoogleMapsリファレンス。
by G-Tools , 2007/01/22