「令」の文字コードに関して
2019年4月1日、新元号「令和(れいわ)」が発表された。
しかし、**「令」**という字体を表すUnicodeは2つあるため、詳細をまとめる。
結論
元号に通常使用される、使用すべきなのは「U+4EE4」であり、基本的に日本語フォントに存在するのも「U+4EE4」である。
「U+F9A8」は、韓国語の等音法則に起因する文字である(韓国の文字コード規格KS X 1001との往復変換を可能にするために追加された文字)。元号には、Unicodeへの収録意図からも使うべきではない。
システム構築上知っておくべきことであり、以下に当てはまる場合には注意する必要が出てくると思われる。
過度に神経質になることではないが、抑えておくべき情報と考える。
問題となりそうな状況
- 日本以外の会社に外注、または最終的な下請けがある場合、
U+F9A8
を埋め込まれていないかの確認が必要 - ブラウザなどグローバルに使用されるアプリでの文字検索
- 手書きOCRで違うUnicodeとしてアサインされるということがあり得る(令和は2つの文字コードを持つ年号ということを考えた設計が必要)
- Webクローラ等の文字入力部分
2019年4月13日追記
経産省情報
文字コード
U+4EE4
- https://www.compart.com/en/unicode/U+4EE4
- CJK統合漢字
- CP932(IBM拡張漢字)に由来する互換漢字である
- .NET FrameworkでShift-JISに変換できる(0x97DF)
U+F9A8
- https://www.compart.com/en/unicode/U+F9A8
- CJK互換漢字
- CP932(IBM拡張漢字)に由来する互換漢字ではない
- .NET FrameworkでShift-JISに変換できない
文字入力
Windows 10 1809 17763.379 IME
通常の文字入力
- 「れいわ」として入力すると、「U+4EE4」が選択される。
IMEパッド - 手書き
- 「U+4EE4」が選択される。
IMEパッド - 文字一覧
- 「U+4EE4」、「U+F9A8」どちらも入力可能
フォント
Windows 10 上のワードパッドで選択されるフォントについて記載。
あくまで、以下に記載する特定の条件・操作での動作を記載したものであることに注意。
条件・操作
- Windows 10 1809 17763.379 でワードパッドを新規に起動
- フォントとして「MS 明朝」が指定された状態
- メモ帳からそれぞれの文字を張り付ける。
U+4EE4
- MS 明朝
U+F9A8
- Malgun Gothic(ハングルの書体)
Windows 10 IMEパッド
U+4EE4
U+F9A8
対策が必要な場合(正規化関数)
対策として、ユニコードが扱える環境であれば、正規化関数を使うとよい。CJK互換漢字は、対応するCJK統合漢字と正準等価なので、正規化することで、CJK統合漢字に変換される。
JavaScript
.NET
Java
https://docs.oracle.com/javase/jp/8/docs/api/java/text/Normalizer.html
https://qiita.com/yamadamn/items/56e7370bae2ceaec55d5#%E5%AE%9F%E8%A1%8C%E4%BE%8B
補足
異体字セレクタ
CJK統合漢字の令(U+4EE4)とCJK互換漢字の令(U+F9A8)以外に、異字体セレクタの令︀(U+4EE4 U+FE00) 令󠄀(U+4EE4 U+E0100) 令󠄁(U+4EE4 U+E0101) 令󠄂(U+4EE4 U+E0102)があるので留意すること。
サロゲートペアってなんでコワイの
https://qiita.com/wingsys/items/81d46451d8b93ab065de
異体字セレクタってなあに
https://qiita.com/wingsys/items/ca0d791b585475ba2052
文字判別
ワードパッドなどでリッチテキストエディットコントロールで文字を選択し、Alt+Xを入力することで、文字→文字コード、文字コード→文字へ変換できる
合字について
新元号「令和」の合字は、符号位置:U+32FF
に割り当てられている。シフトJISへの対応は行われないため、新元号の合字を使う場合、Unicodeを使う必要がある
リソース
CJK互換漢字とは?新元号「令和」の「令」Unicode符号に注意! ? cod-log
https://cod-sushi.com/unicode-rei/
【苦しんで覚える新元号】UTF-8の令和のデータ表現は2種類ある。
https://qiita.com/Gaccho/items/b5018e463ccb24df156b
新元号(平成の次の元号)対応におけるMicrosoftのセミナー「新元号とマイクロソフト製品における対応」を受けてきました
https://qiita.com/You_name_is_YU/items/3f6f9825c2d1c97c5ea6
Adobe Fontsの日本語フォントの #新元号 「令和」の合字への対応について
https://blogs.adobe.com/japan/adobefonts-adobe-support-ligatures-of-new-era-names/
経産省主催セミナー 日本マイクロソフト株式会社からの資料
http://www.meti.go.jp/press/2018/02/20190207002/20190207002-5.pdf