やりたいこと
:something:
を解釈しないサービスでもこの形式で Emoji を入力出来るようにする。
こんな感じ
最高に便利なものが出来たぞ pic.twitter.com/Apbeoc1XPA
— Pocke (@p_ck_) 2017年3月5日
やりかた
IME のローマ字テーブルを書き換える
環境
- Mozc
- Arch Linux
説明は上記の環境で行いますが、ローマ字テーブルをいじることが出来る IME であれば同様のことが可能だと思います。
手順
ローマ字テーブルのバックアップ
まずは、既存のローマ字テーブルをバックアップします。
今回は Mozc を想定していますが、Google 日本語入力でもだいたい同じだと思います。
Arch Linux だと/usr/lib/mozc/mozc_tool --mode=config_dialog
のようにして Mozc の設定ダイアログを開きます。
他の環境では適当に IME のメニューあたりからそれっぽいやつを開きます。
そして、「ローマ字テーブル」「編集」「編集」「エクスポート」とクリックし、適当なファイル名でエクスポートします。
ローマ字テーブルの生成
次に、ローマ字テーブルを生成していきます。
GitHub に EmojiOne というレポジトリがあります。
open emoji standard を謳っているので、これを元にローマ字テーブルを作ります。
以下の Ruby コードを main.rb
という名前で保存します。
# main.rb require 'json' emojis = JSON[STDIN.read] emojis.each_value do |emoji| name = emoji['shortname'] code = emoji['unicode'] e = code.to_i(16).chr('UTF-8') puts "#{name} #{e}" emoji['aliases'].each do |a| puts "#{a} #{e}" end end
そして、以下のコマンドを実行します。
curl https://raw.githubusercontent.com/Ranks/emojione/master/emoji.json | ruby main.rb >> ~/romantable.txt
尚、最後の~/romantable.txt
は先程エクスポートしたファイル名に読み替えてください。私の環境のデフォルトだとこのファイル名になっていました。
ローマ字テーブルのインポート
最後に、ローマ字テーブルのインポートをします。 先程と同様に Mozc の設定ダイアログを立ち上げ、「ローマ字テーブル」「編集」「編集」「インポート」とクリックし、先程のファイルをインポートします。
この設定を適用することで、IME から直接 :something:
形式で Emoji を打ち込むことが可能となります。
Ruby 動かすのめんどくさい
生成されたローマ字テーブルを置いておきます。
これを現在使用しているローマ字テーブルと concat してご使用下さい。
現在使用しているテーブルも残さないと、Emoji しか打てない IME が出来上がるのでご注意下さい。
尚、生成元の JSON ファイルは MIT でライセンスされています。