【go】golang.org/x/text/widthで濁点がある全角文字列を半角にできない

NFC 正規化(ユニコード正規化)をすることでうまくいくよう。
package main import ( "fmt" "golang.org/x/text/unicode/norm" "golang.org/x/text/width" ) func main() { zenkaku := "ダンプ" str_zenkaku := width.Narrow.String(norm.NFD.String(zenkaku)) fmt.Println(str_zenkaku) }
yuta ~ lamp hankaku go run main.go ダンプ
参考
https://text.baldanders.info/golang/kana-conversion/