文字コード
新元号
元号対応
令和

新元号 令和(れいわ)の文字コードについて


「令」の文字コードに関して

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


U+F9A8


文字入力


Windows 10 1809 17763.379 IME


通常の文字入力


  • 「れいわ」として入力すると、「U+4EE4」が選択される。


IMEパッド - 手書き


  • 「U+4EE4」が選択される。

スクリーンショット (5).png


IMEパッド - 文字一覧


  • 「U+4EE4」、「U+F9A8」どちらも入力可能


フォント

Windows 10 上のワードパッドで選択されるフォントについて記載。

あくまで、以下に記載する特定の条件・操作での動作を記載したものであることに注意。


条件・操作


  1. Windows 10 1809 17763.379 でワードパッドを新規に起動

  2. フォントとして「MS 明朝」が指定された状態

  3. メモ帳からそれぞれの文字を張り付ける。

image.png


U+4EE4

image.png


  • MS 明朝


U+F9A8

image.png


Windows 10 IMEパッド


U+4EE4

4EE4.png


U+F9A8

F9A4.png


対策が必要な場合(正規化関数)

対策として、ユニコードが扱える環境であれば、正規化関数を使うとよい。CJK互換漢字は、対応するCJK統合漢字と正準等価なので、正規化することで、CJK統合漢字に変換される。


JavaScript

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/normalize


.NET

https://docs.microsoft.com/ja-jp/dotnet/api/system.string.normalize?view=netframework-4.7.2


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