日本語辞書の順序でソートする「日本語辞書順ソート」
プログラムを使って、ひらがなをソートすると、文字コード順にソートしてしまうので、日本語辞書通りにはなりません。
大きな原因の一つは、小さな文字(捨て文字)と大きな文字の順序が逆である点です。例えば「しやく(試薬)」と「しゃく(尺)」では「しやく」が前になるはずですが、文字コードでは「ゃ」<「や」であるため、プログラムでは「しゃく」が前に来てしまいます。
また長音が正しく処理できません。例えば「あー」と「あか」では「あー」が前になるはずです。「あー」は「ああ」と読むからです。しかし文字コードでは「か」<「ー」であるため、プログラムでは「あか」が前に来てしまいます。なお「あー」は「ああ」の前に来ます。
手順
日本語辞書順にソートするには次のような手順が必要です。
処理1
- 小さな文字を大きな文字に変換する。
- 濁音、半濁音を清音に変換する。
- 長音を清音に変換する。
例えば「しやく(試薬)」と「じゃく(弱)」は同じであるとします。
処理2
- 小さな文字を大きな文字に変換する。
- 長音を清音に変換する。
例えば「せっかい(石灰)」は「せつがい(雪害)」より前に来ます。
処理3
- 小さな文字と大きな文字を入れ替える。
- 長音をハイフンに変換する。
今度は小さな文字と大きな文字を入れ替えます。例えば「しやく(試薬)」は「しゃく(尺)」より前に来ます。
また「ー」はどのひらがなよりも前ですので、例えば「-」に変換します。「あー」は「ああ」より前に来ます。
ソート
処理1、処理2、処理3の優先順位でソートします。
ツール
これらの手順に従って日本語をソートする仕組みを作りました。
[ 2015年3月15日 | カテゴリー: Tool | タグ: sort , 日本語 ]
« レスリング山本一家の家系図 | 実際に「100通りの表情」を描いてみた »
コメントを残す