offset ofはドンラーニズィデが嫌い?

たまたま、特定のファイルのフルパスを文字列で取得して、ファイル名の部分だけ取って来ようとしたときだった。

ファイル名に「ディズニーランド」と入っているファイルだけ結果がおかしい。

この処理では、フルパスの文字列を末尾から逆にして、フォルダ階層間をつなぐ「:」をAppleScriptの「offset of」命令で探していた。本来ならFinderにファイル名だけくれと要求すれば返ってくるのだが……AppleScript Studioに(Xcode上で書くAppleScript環境)放り込むと、いろいろ通常どおりの処理が行えなかったりするので、緊急避難的に行っている処理だ。

……おかしい。「:」の位置がズレて返ってくるよ(汗)。

そもそも、Leopardになってからの「offset of」の挙動はおかしい。いや、Leopardのおかしな部分を挙げ出すとキリがない。

だいたいLeopardのAppleScriptではひらがなとカタカナの区別ができない。

まさかそんな「巨大な穴」が空いているとは知らず、従来問題になってきた事例ばかりチェックしていたので見過ごしてしまったが……これは大問題だ。再三再四US Appleに直接抗議しているが、問題が大きすぎてAS担当者が騒いだぐらいでは解決しないのだという(連中のいつもの言い訳にしか聞えないのだが)。

そんな中、Mac OS X 10.5.1だか10.5.2だかで、「offset of」の挙動が従来どおりのものと同じになった。しかも、「offset of」命令だけはひらがなとカタカナをきちんと区別する。

offset ofみたいにきちんと区別できるなら、その方向で修正してはどうか? と思っていたのだが、たまたま「ドンラーニズィデ」という文字列を処理しようとして、offset of命令の処理内容の不備が明らかになった。何か、特定の処理だけを受け付けるようにするために、非常にイレギュラーな処理をやっているらしい。「ド」「ズ」「デ」については2文字として数えているらしいことから、濁点を1文字として処理しているらしい。しかも、同じ「どんらーにずぃで」でもひらがなの場合にはこのような現象は起こらなかった。

仕方なく、バグレポート(Keynoteによる解説つき)を書いたが、これが直るかどうか連中次第というところに深〜い脱力感を覚える。iPhone OSにしてもバグだらけのボロボロで「どこがUNIX based OSなんだ?」というぐらい不安定。買う気になれない。もう半年ぐらい放っておいてもいいだろう。それで枯れなかったら、さらに1年ぐらい放置しておいても構わない気がする。

Copyright By Piyomaru Software. All Rights Reserved