0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

emoji-mozc-import: Unicode CLDR から mozc 用の 17,500 件の絵文字辞書を自動生成する

0
Last updated at Posted at 2026-06-09

20260609-1540.png

emoji-mozc-import: Auto-generating a 17,500-entry emoji dictionary for mozc from Unicode CLDR

CLDRの日本語アノテーションとunicode.orgの公式ZWJシーケンスリストから、mozcユーザー辞書用の絵文字・記号辞書を生成するツールです。

動作確認:

  • 実機 : Linux Mint 22.3 Cinnamon / Python 3.12
  • VM : Ubuntu 24.04.2 LTS / Python 3.12

なにこれ?

Linuxでmozcを使っていて、こんな経験ありませんか?

「ねこ」で変換しても 🐱 が出てこない
絵文字を使いたいたびにWebで検索してコピペしている
👩‍🦰 や 🏳️‍🌈 みたいな合成絵文字はそもそも入力方法がわからない

このツールは、Unicode公式のデータから 約17,500件の絵文字・記号辞書 を自動生成して、mozcのユーザー辞書に一発で取り込めるようにします。
ねこ → 🐱 🐈 🐈‍⬛ 😺 😸 😻 🙀
ゆき → ❄ ☃ ⛄ 🌨
はーと → ❤ 💛 💚 💙 💜 🖤 🤍
セットアップしたら ./emoji_mozc_import.sh を実行してmozcにインポートするだけ。それだけです。

セットアップ

ここからダウンロードまたは、git clone。

git clone https://gitlab.com/Ayanonymous/emoji-mozc-import.git
cd emoji-mozc-import
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

使い方

# 基本(ひらがな読みのみ)
./emoji_mozc_import.sh

# 漢字混じりの読みもひらがなに変換して収録数を増やす(推奨)
./emoji_mozc_import.sh --kana-convert

完了後、Mozcプロパティ → 辞書ツール → 管理 → インポート で生成された merged_mozc.txt を読み込んでください。

設定

emoji_mozc_config.toml を編集するだけで動作を変更できます。

[cldr]
# 別言語に変えたい場合はURLの "ja" を変更
url = "https://raw.githubusercontent.com/unicode-org/cldr-json/main/.../ja/annotations.json"

[zwj]
# "latest" を特定バージョン(例: "15.1")に変えると固定できる
url = "https://unicode.org/Public/emoji/latest/emoji-zwj-sequences.txt"

アーキテクチャ

[unicode.org CLDR]
        ↓ curl
annotations.json(日本語絵文字アノテーション)
        ↓ convert_emoji_tsv.py
        │  ・ひらがな/カタカナ読みのみ抽出
        │  ・unicodedata.category() で品詞自動判定
        │    So(絵文字)→ 短縮よみ / その他 → 記号
        │  ・--kana-convert 時は漢字読みを kana_convert.py に渡す
        ↓
emoji_mozc.tsv(単体絵文字・記号 約8800件)

[kana_convert.py](--kana-convert 時のみ)
  GiNZA / MeCab / pyopenjtalk の3エンジンで多数決
  漢字混じり読み → ひらがな

[unicode.org emoji-zwj-sequences.txt]
        ↓ generate_zwj_tsv.py
        │  ・公式ZWJシーケンスリストを取得
        │  ・先頭コードポイントの読みをemoji_mozc.tsvから引く
        ↓
zwj_mozc.tsv(👩‍🦰 等のZWJ合成絵文字 約8600件)

emoji_mozc.tsv + zwj_mozc.tsv
        ↓ cat
merged_mozc.txt(約17500件)→ mozcユーザー辞書にインポート

依存

パッケージ 用途 必須
ginza, ja_ginza 読み変換(高精度) いずれか1つ
fugashi, unidic-lite 読み変換(MeCab) いずれか1つ
pyopenjtalk 読み変換(軽量) いずれか1つ

--kana-convert を使わない場合は全て不要です。

ファイル構成

ファイル 説明
emoji_mozc_import.sh メインスクリプト
convert_emoji_tsv.py CLDRアノテーション→TSV変換
kana_convert.py 漢字混じり読み→ひらがな変換CLI
generate_zwj_tsv.py ZWJ絵文字辞書生成
emoji_mozc_config.toml 設定ファイル
requirements.txt Python依存パッケージ

既知の問題

一部ZWJ絵文字がmozcの変換候補に出ない場合は手動登録してください(mozc側の問題)。

サポート

個人開発のためサポート対応はしていません。

リポジトリ

License

Apache License 2.0 - see LICENSE for details.

#mozc #Linux #LinuxMint #日本語入力 #Python

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?