おもしろい記事を見つけました。
常用漢字の中からランダムで元号を生成するコマンドを作りました
気になったのでソースを覗いたら常用漢字がベタ書きされていました。
https://github.com/suzuki86/gengo-generator/blob/master/main.go#L26-L2166
そして思いました。
常用漢字をコードポイントで計算 or 取得できないものだろうかと。
コードポイントの方は調べたら結構バラバラだったので無理そうでした。
取得はAPIは見つからなかったものの、Wikipediaに一覧があったためそこから取得することにしました。
Repository
GoDoc
まだドキュメント全然書いてないですが。
使い方
joyokanji.List()
で常用漢字のリストが取得できます。
型は []rune
です。
package main
import (
"fmt"
"log"
"github.com/178inaba/go-joyokanji"
)
func main() {
ks, err := joyokanji.List()
if err != nil {
log.Fatal(err)
}
for _, k := range ks {
fmt.Printf("%#U\n", k)
}
fmt.Printf("Total: %d.\n", len(ks))
}
結果
U+4E9C '亜'
U+54C0 '哀'
U+6328 '挨'
...
U+67A0 '枠'
U+6E7E '湾'
U+8155 '腕'
Total: 2136.
gengo-generator
自分も元号ジェネレータを書いてみました。
インストール
$ go get -u github.com/178inaba/go-joyokanji/cmd/gengo-generator
使い方
$ gengo-generator
尿球
$ gengo-generator
胞膨
$ gengo-generator
食乱
$ gengo-generator
遠腰
$ gengo-generator
汗逆
食乱は治安が悪そうな時代ですね