人名用漢字:その漢字が子の名に使える漢字かを判定する
前回までのあらすじ
スカウトメールとか、広告のメールに担当者の名前がバーンと出てるようなメールありますよね。あれって一種の源氏名で、本当にそんな人は存在しないのではないかと常々思ってる訳なのですが、絶対にそんな人いない!と断言は出来ないのでもやっとしますよね。
もし人名に使われない漢字を使ってる名前でメールが送られてきたら、これは絶対に無い!って思えるのにな・・・
と思ったのがきっかけでした。人名に使える漢字は、「常用漢字」プラス「人名用漢字」で定義されています。
前回は「常用漢字」を判定するライブラリを作った話をしたのでした・・・・。
今回は人名用漢字についてです。
人名用漢字
人名用漢字は、常用漢字以外で「子の名に使える漢字」の集合のことです。法務省のページに 子の名に使える漢字 として定義されています。残念なことに漢字のリストは PDF で配布されていて、これを抜き出すのは大変そうだったので、Wikipedia にまとめられていた人名用漢字一覧 を拝借することにしました。
この表に乗っている漢字は、人名漢字633字で、さらに異体字が18字、これとは別に人名に利用可能な異体字が212字あって、全部で 651字です。
慣れた方法で、これらを Go の unicode.RangeTable
に変換します ╭( ・ㅂ・)و ̑̑ グッ !
人名で使えない漢字とは?
とはいえ、人名で使えない漢字ってどんなのがあるのかピンときませんよね。人名で使えないのは、たとえば
- 薔薇
- 冴羽獠 の 「獠」
とかです。で、やっと本題に戻って
スカウトメールとか、広告のメールに担当者の名前がバーンと出てるようなメールありますよね。あれって一種の源氏名で、本当にそんな人は存在しないのではないかと常々思ってる訳なのですが、絶対にそんな人いない!と断言は出来ないのでもやっとしますよね。
これです。お名前は「紗也茄」さんです。見たとき思いました。名付けた人はどんだけ 🍆 に思い入れがある人だったのか・・・と。
チェックしてみると、これは人名として 🆗 でした!
でも、これは自明で常用漢字と言うわけではなくて、「紗」「也」「茄」のいずれも常用漢字ではありません。人名用漢字で定義されている文字でした。なので、今回の作業が完全に無駄だったいうわけではありません。成果はありました!
成果物はこちらです。
現場からは以上です。
Happy hacking!
Discussion