筆者は、Mac OS X環境に移行しても、自作のアプリケーションでは使い慣れたEdit Textコントロールを利用していました。と言うか、EditUnicodeTextに切り換える理由が無かったので、Mac OS 9からの継続結果として自然とそうなっていたわけです(笑)。実は、Mac OS Xに移行してから何度か切り換えようと考えた次期もありました。その理由には、Mac OS Xの初期バージョンでは、Edit Textでのテキスト表示が非常に汚なかったことが上げられます。これは、Edit Textコントロールでのテキスト描画が、Quartz 2DでなくQuickDrawで行われていたことに起因していました。しかし、そうした欠点も、Msc OS X のバージョンが更新される過程で解決され、いつしかEditUnicodeTextに切り換えるタイミングを失ってしまいました。
ところがMac OS X 10.2になり、「絶対に切り替えてやるぞ!」と思わせる理由が見つかりました(笑)。Edit Textコントロールに入力したテキストの「ハイライト」が非常に汚いのが許せなかったのです。入力文字のアンチエイリアス部分が白く抜けてしまい、とてもじゃないが見るに耐えられません(Jobsの美的感覚はこれを許すのか?)。例えば、Internet ExplorerのURL入力カラムのテキストをマウスで選択(ハイライト)してみてください。液晶モニターでは更に醜く表示されます。Apple社へは、こちらの現象もバグとして報告してあるのですが、最新のMac OS X 10.2.2でもまだ改善されていないようです(EditUnicodeTextへ切り換えさせるためのApple社の陰謀か?)。
加えて、Edit Textコントロールでは「テキスト編集の取り消し(Undo)が実装されていない」「漢字かな変換の途中(確定前でアンダーラインが引かれている状態)でマウスクリックでフォーカスを移動させると、その状態が残ってしまう」などの不都合(仕様?)が見つかりました。特に後者の状態を放置すると、次にそのカラムでの漢字かな変換で異常が発生することがあるようです。上記2つの現象とハイライトの問題はEdit Textコントロールのみで発生し、EditUnicodeTextコントロールでは発生しません。そんなわけで、仕方がないので、自作アプリケーションで使っているテキスト入力カラムも、全面的にEditUnicodeTextコントロールへ切り換えることに決定しました。
以前にも説明しましたが、コントロールのリソースとしてNibファイルを用いていれば、こうした切り換え作業はとても簡単です。Project BuilderでInfoウィンドウを開き、「Attributes」タブの「Unicode Edit Text」をチェックし直すだけです。また、前回説明したコントロールへのテキストセットのコードは、Edit TextとEditUnicodeTextの両コントロールで同様に働きますから、ソースコード側は何も変更する必要がなく、大きな問題は出ないだろうと安心していました。
ところが、私が最初に異変に気づいたのは、フォントサイズが大きく(18ポイントぐら)セットされているカラムに文字を入力した時です。何故だか、入力文字が小さく(10ポイントぐらいに)表示されます。「おかしいな?」と思い、アプリケーションを再起動させて再度入力してみると、今度は何も問題ありません。ところが、別作業をしてからテキスト入力をしているウィンドウに戻り(この時カラム内容はクリアされる)再度入力すると、やはりフォントサイズが小さくなってしまいます(涙)。
次回は、この「怪現象」が起こる過程をより詳しく追跡してみることにします。
つづく
copyright 2003 Ottimo, Inc. All rights reserved
無断転載・引用禁止
Contact Us: koike@ottimo.co.jp