Mozc に新しい元号「令和」を追加する方法
4/1 具体的な編集方法を追記。
Mozc に新しい元号を追加するには、以下のファイルに変更が必要です。
- src/rewriter/date_rewriter.cc, 日付変換
「今日」などで変換したときに表示される元号入りの日時を追加します。
date_rewriter.cc の L1242 辺りに追加します。
1989, "平成", "へいせい", }, { 2019, "令和", "れいわ", }
- src/data/symbol/symbol.tsv, 単漢字変換、㍻など、2019年に発表される新元号は U+32FF
symbol.tsv 辺りに追加します。
記号 ㋿ れいわ ねんごう 年号 OTHER
- src/data/unicode/UnicodeData.txt, 単漢字文字の属性指定
U+32FF の位置に追加します。
32FF;SQUARE ERA NAME REIWA;So;0;L;<square> 4EE4 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME REIWA;;;;
<square>
の後の二つの数値は「令」と「和」の文字コードです。
unicode/Blocks.txt では以下に含まれているため修正の必要はありません。
3200..32FF; Enclosed CJK Letters and Months
2019年4月現在、mozc が利用しているユニコードデータは 6.0 (2010)です。
- data/dictionary_oss/dictionaryXX.txt, 変換辞書
普通に変換候補として表示されるように追加します。
平成の場合、以下のようになっています。
# dictionary07.txt へいせい 1916 1916 1598 平成 へいせい 1920 1920 6206 平成
1916 と 1920 は data/dictionary_oss/id.def に記載されている POS インデックスです。
# id.def 1916 名詞,固有名詞,一般,*,*,*,* 1920 名詞,固有名詞,地域,一般,*,*,*
3つめの数字はコストです。コストは単語の出現率です。新語では定義できないため、平成と同じような数値を指定すればよいと思われます。
#dictionary08.txt れいわ 1847 1847 8251 例話 れいわ 1916 1916 1598 令和 れいわ 1920 1920 6206 令和