第8.5問 ソートの話(なんかおまけ的な話)
Java(Processing)における辞書的な順番はUnicodeであると
前回(第8問 ソートの話 - ただのつぶやき)、調べたところ分かったのだが、
じゃあ、「Unicodeは何を基準にして並べているのだろう?」と思ったので調べてみた。
普通数字は当然ながら
0<1<2<3<4<5<6<7<8<9
であることは、小学校から知っている。
では、漢数字はどうだろうか?
実は、Unicode上では
一 七 三 九 二 五 八 六 四 零
となる。
なぜこうなるのだろう?
読み方か?訓読み?音読み?それとも画数?
どれも当てはまらない。
あと他に、漢字の構成する要素として何があるか?
…部首があった。
それぞれの漢字の部首はこうだ。
部首「一」
一 七 三
部首「乙」
九
部首「二」
二 五
部首「八」
八 六
部首「口(くにがまえ)」
四
部首「雨(あめかんむり)」
零
お。これはいけそうだ。
それじゃあ、同じ部首内での順番どうだろう?
同じ部首の「一」で並べてみると、
上 一 丑 三 丁 並 世 七 丘 両
↓
一 丁 七 三 上 丑 世 丘 両 並
となった。
どうやら、順番は、部首以外の画数の小さい順のようだ。
部首以外の画数が同じ字同士だと音読みもしくは訓読みにおける50音順みたいだ。
丁「ちょう・てい」→七「なな・しち」
三「さん・み」→上「うえ・じょう」
丘「おか・きゅう」→世「よ・せい」
音読みか訓読みかどっちにするのかそこの基準はなさそうだ。
同じ画数の違う部首になると、
一 了 中 久 丸 乱 乾
↓
一 中 丸 久 乱 乾 了
のようだ。
法則性はなさそうで、決まりみたいなものだろう。
結論として。
Unicodeにおける漢字の細かな順番は、
部首の画数で決まっていくということだろう。
同じ画数の部首では、何かしらの決まりのもとに順番が決まっているみたい。
同じ部首内では、部首外の画数で順番が決まり、
同じ部首外の画数では、決められた漢字の読み方で50音順といったところだろうか。
以上おまけ的な話でした。