引用符である "〜" を “〜” のように変換したい場合があります。InDesignなどDTPソフトでは、テキストファイルを読み込んだ時に変換するかどうかの指定を行なうことができますが、他のソフトでは対応していない場合がほとんどです。今回のスクリプトはHTMLファイルで引用符を置き換えるものですが、特定の条件付きです。
その条件は以下のようになっています。
その条件は以下のようになっています。
(1)動作するスクリプトはAdobe Photoshop CS, InDesign CS, AfterEffectsなど、CS以降のアプリケーションのみ。
(2)行頭が < でないこと
(2)の条件は具体的に書くと以下のようになります。
【OKな場合】
< tr >< td >
"Sample"です。
< /td >< /tr >
【駄目な場合】
< tr >< td >"Sample"です。< /td >< /tr >
つまり行頭が < かどうかで処理を分けているため、タグとまとめて記述されてしまっている場合には変換されないことになります。
サンプルを実行すると保存ファイル名、そして変換するファイル名を入力すれば自動的に変換が行われます。カッコの種類を変更したい場合には、先頭の2行の “ と ” を変えてください。
LQ = "“";
RQ = "”";
この場合 "Sample" は “Sample” に変換されることになります。
また、CSとCS2以降では実行するスクリプトの文字コードにも注意してください。CS2以降はUTF-8で、それ以前はアプリケーションによりけりですが、SHIFT JISでよいでしょう。
【スクリプト】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
LF = String.fromCharCode(13); // 改行コード
savefile = File.saveDialog("保存ファイル名を入れて下さい");
if (savefile)
{
savefileObj = new File(savefile);
flag = savefileObj.open("w");
if (flag == true)
{
filename = File.openDialog("変換するファイルを指定してください");
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
while(!fileObj.eof)
{
text = fileObj.readln();
count = 0;
result = "";
if (text.charAt(0) != "< ")
{
for (i=0; i< text.length; i++)
{
c = text.charAt(i);
if (c == '"')
{
c = LQ;
if (count & 1) c = RQ;
count++;
}
result += c;
}
}else{
result = text;
}
savefileObj.write(result+LF);
}
fileObj.close();
}
savefileObj.close();
}
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
Final Cut Pro 5.1.2になって、24F映像が取り込めるようになりました。シネマライクなプリセット選んだだけでは、なかなか映画のような雰囲気はでないようで。せっかくなので、24フレームの映像も以下のURLにアップしておきました。
< http://www.openspc2.org/HDTV/sample/Canon/XHA1/
>
Ajax関連ライブラリのリファレンスも増やしました。トップページから入れます。
< http://www.openspc2.org/
>
(2)行頭が < でないこと
(2)の条件は具体的に書くと以下のようになります。
【OKな場合】
< tr >< td >
"Sample"です。
< /td >< /tr >
【駄目な場合】
< tr >< td >"Sample"です。< /td >< /tr >
つまり行頭が < かどうかで処理を分けているため、タグとまとめて記述されてしまっている場合には変換されないことになります。
サンプルを実行すると保存ファイル名、そして変換するファイル名を入力すれば自動的に変換が行われます。カッコの種類を変更したい場合には、先頭の2行の “ と ” を変えてください。
LQ = "“";
RQ = "”";
この場合 "Sample" は “Sample” に変換されることになります。
また、CSとCS2以降では実行するスクリプトの文字コードにも注意してください。CS2以降はUTF-8で、それ以前はアプリケーションによりけりですが、SHIFT JISでよいでしょう。
【スクリプト】
LQ = "“"; // 開始カッコ
RQ = "”"; // 閉じカッコ
LF = String.fromCharCode(13); // 改行コード
savefile = File.saveDialog("保存ファイル名を入れて下さい");
if (savefile)
{
savefileObj = new File(savefile);
flag = savefileObj.open("w");
if (flag == true)
{
filename = File.openDialog("変換するファイルを指定してください");
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
while(!fileObj.eof)
{
text = fileObj.readln();
count = 0;
result = "";
if (text.charAt(0) != "< ")
{
for (i=0; i< text.length; i++)
{
c = text.charAt(i);
if (c == '"')
{
c = LQ;
if (count & 1) c = RQ;
count++;
}
result += c;
}
}else{
result = text;
}
savefileObj.write(result+LF);
}
fileObj.close();
}
savefileObj.close();
}
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
Final Cut Pro 5.1.2になって、24F映像が取り込めるようになりました。シネマライクなプリセット選んだだけでは、なかなか映画のような雰囲気はでないようで。せっかくなので、24フレームの映像も以下のURLにアップしておきました。
< http://www.openspc2.org/HDTV/sample/Canon/XHA1/
>
Ajax関連ライブラリのリファレンスも増やしました。トップページから入れます。
< http://www.openspc2.org/
>
- Google Maps API逆引きクイックリファレンス―WEB2.0対応
- 古籏 一浩
- 毎日コミュニケーションズ 2006-09
- おすすめ平均
- ようやく出ました。使えるGoogleMapsリファレンス。
by G-Tools , 2006/12/11