忍者ブログ

ぼんぷろぐ

InDesignとかイラレとかのスクリプトよもやま話

新しいブログに引っ越しました。

こちらのブログはもう更新しませんが、コメント欄は生きてますので疑問、ご指摘などありましたらどうぞ。

[未選択]
ExtendScript(CS6)で681字のUTF-8和文テキストファイルの読み込みに失敗する

いつも使ってるスクリプトがなんかあるテキストファイルだけうまく動かないなーってことがありまして、原因を調べてみたら記事タイトルのような真相だったのですが、CS6だけなのかなあ…



ExtendScriptでテキストファイルを読み込むスクリプトはたとえばこんな風に書きます。

var f=File("~/Desktop/あ.txt");
f.open("r");
var s=f.read();
f.close();
s;

これでテキストファイルのエンコードは自動判別してくれて、大抵の場合うまく読み込んでくれのでるのですが、
UTF-8(BOM無し)で681字程度の和文を読み込もうとすると失敗してしまうのです。
失敗ってのは具体的に言うと、Windowsではsが空文字列("")に、Macではおもいっきり文字化けします。

すべて2バイト文字で改行なしの文章で、1万字まで実験してみたところ、ダメだったのは681文字と682文字のときだけでした。ただし改行や半角文字が含まれると文字数は変わってきます。
f.encoding="UTF-8";
をopenする前に書いておけば正しく読めるようになります。



そもそも自動判別が上手くいかないことがあるというのは織り込んでおくべきことであって、BOM付きにするなり、encodingを指定するなりすればいいわけで、別にExtendScriptが(Adobeが)悪いと言いたいわけではありません。

CCがどうなってるのか気になるので試した方はぜひ教えてください。
↓681文字のテキスト

とかくに人の世は住みにくい。意地を通せば窮屈だ。情に棹させば流される。情に棹させば流される。智に働けば角が立つ。住みにくさが高じると、安い所へ引き越したくなる。山路を登りながら、こう考えた。山路を登りながら、こう考えた。意地を通せば窮屈だ。とかくに人の世は住みにくい。情に棹させば流される。意地を通せば窮屈だ。山路を登りながら、こう考えた。とかくに人の世は住みにくい。どこへ越しても住みにくいと悟った時、詩が生れて、画が出来る。意地を通せば窮屈だ。とかくに人の世は住みにくい。意地を通せば窮屈だ。山路を登りながら、こう考えた。智に働けば角が立つ。山路を登りながら、こう考えた。住みにくさが高じると、安い所へ引き越したくなる。山路を登りながら、こう考えた。どこへ越しても住みにくいと悟った時、詩が生れて、画が出来る。とかくに人の世は住みにくい。住みにくさが高じると、安い所へ引き越したくなる。情に棹させば流される。住みにくさが高じると、安い所へ引き越したくなる。とかくに人の世は住みにくい。情に棹させば流される。情に棹させば流される。どこへ越しても住みにくいと悟った時、詩が生れて、画が出来る。意地を通せば窮屈だ。住みにくさが高じると、安い所へ引き越したくなる。智に働けば角が立つ。山路を登りながら、こう考えた。情に棹させば流される。とかくに人の世は住みにくい。情に棹させば流される。智に働けば角が立つ。智に働けば角が立つ。意地を通せば窮屈だ。智に働けば角が立つ。とかくに人の世は住みにくい。どこへ越しても住みにくいと悟った時、詩が生れて、画が出来る。とかくに人の
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

無題

同じようなことがありまして、もしやと思って記事と同じことを試してみたら無事解決しました。
ありがとうございました。

ちなみに、
・InDesignCC2017
・テキストはBOMなしUTF-8、和欧混在1418文字、2046KB
でした。

プロフィール

kawamoto_α
(あるふぁ(仮))


InDesignで新聞組版のようなことをしています。

ツイッタ

※ブラウザによっては当ブログからDLしたzipファイルが拡張子なしになることがあるようですが、.zipを補って開いてください。



イラレ用トーンカーブスクリプト(¥1500)



クロソイド式角丸長方形スクリプト(¥500)
Illustrator用
InDesign用



イラレスクリプトをキーボードショートカットで実行するやつ(Win用)