今回も、しぶとく引用符ネタです。今回は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();