Fork me on GitHub

Palm 英語osでの文字列ソート

  • Jun 02, 2006

categoryプラグインは存在しません。

英語版の Palm OS 4.x では、TxtCompare や StrCompare を使った日本語など 2byte 文字を含む文字列のソート処理がうまくいかない。

これは、OS4 から導入された International Manager が、Shift JIS で用いる文字コードを勝手に Latin 文字セットだと判断してしまい、実際の文字コードとは異なる順番に変えてしまうことが原因だと考えられる。

#ただし、OS5 ではこのようなことは起きないらしい。

これは、Txt 系の関数全てにあてはまるため、英語版 OS4 では Txt 系(TxtGlueも含む)の関数は使用しないほうが良い。

これを回避するには、文字列比較に、単純に文字コードの比較だけを行う StrCompareAscii 関数を用いると、少なくとも全角ひらがな同士などは正しい順番にソートされる。

StrCompareAscii は OS4 から新しく導入された関数なので、OS3.x では利用できないことに注意すること。

限りなく Palm OS の欠点に近いですが、こんなのでバグ呼ばわりされると悔しいですよねぇ。

commentプラグインは存在しません。

目次