Tomotaka SUWA
t-suw****@users*****
2006年 3月 25日 (土) 01:13:48 JST
諏訪です。 AquaSKK BETA dictionary-renovation 2.2 をリリースしました。 ▽不具合修正 ・Rosetta を必要とするアプリケーションで正しく動作するように修正 ■ 修正内容について 問題の原因は、ppc(Rosetta) なクライアントと i386 な辞書サーバーが通信す る時の Endian が異なることでした。そこで、通信経路上では基本的に Big Endian に統一することにしました。 よって、クライアントでは Host Endian → Big Endian 変換をしてメッセージ を送信し、サーバーでは受信したメッセージに対してその逆の変換を行なう必 要があります。 ただし、見出し語や変換候補などの Unicode 文字列については Big Endian に 統一していません。 そのかわりに、CppCFString の中で、CFStringCreateExternalRepresentation と CFStringCreateFromExternalRepresentation を使うようにしました。 リファレンスを見てもらえばわかると思うのですが、簡単に言うと、バイトオー ダーを判別するための余分なデータを付加した形式でデータをやり取りします。 この結果、同一 Endian 上ではデータの変換が発生しないため、若干効率が良 くなります。 - * - Rosetta がらみのバグがまだ埋まっているかもしれませんが、intel 移行につ いては、ひとまずこれで落ち着くと思います。 よろしくお願いします。 -- Tomotaka SUWA