MacのCS3/CS4シリーズに搭載されているExtendScriptのopenDialog関数には、日本語ファイル名が化けるという問題が存在します。

どの文字が該当するかを把握し切れてませんが、少なくても「全角パーレン」「全角スペース」を含むファイル名は、欧文のそれに変換されて取得することになります。例えば「アタリ(10).psd」というファイルが選択された場合、返り値のファイル名が「アタリ(10).psd」になってしまうという具合です。

 

実際に以下のコードを実行し、「アタリ(10).psd」といったファイル名の書類を選択すると、狙い通りの結果にならないことがわかります。

var selFile= File.openDialog('画像ファイルの選択');
var path= selFile.fullName;
var fObj= new File(path);
$.writeln(fObj.exists);

 

これはMac特有の問題なので、doScript関数を使い、AppleScript経由でファイルを呼び出すことで解決できます。

var as= 'POSIX path of (choose file with prompt ("画像を選択")) as unicode text';
var fPath= app.doScript (as, ScriptLanguage.APPLESCRIPT_LANGUAGE);
var fObj= new File (newpath);

 

※CS5シリーズからはこの問題が解決されているようです。

 

 

Joomla templates by a4joomla