せっかくUnicodeに絵文字が入ってるんだしフォントで表示したいよね。したいしたい。
筆者はOS XでEmacsを使ってるので他の環境ではどう見えるのか知らないけど、とりあえず設定してみた。
(画像は本記事の設定済みOS XのEmacs 24.5でSKK日本語入力FEPの絵文字辞書❤を表示したところ)
注意: ↑の画像はEmacsのカラー絵文字機能が有効だったEmacs24のものです
Emacs 25, 26ではカラー絵文字を表示することは基本的にはできません。
また、モノクロの絵文字表示にもSymbola フォントのインストールが必要です。
つまるところ絵文字のグリフが入ったフォントセットが適切に設定されてないから何も見えないので、要するに今はまだ過渡期なんだって話ですね。
ただの設定なんだけれど、若干ややこしかったので https://github.com/zonuexe/emoji-fontset.el に置いた。 これはEmacs 25, 26では基本的に必要のない設定です。
Emacs 25, 26では設定は追加されましたがカラー絵文字の表示はできないのでSymbolaを入れてください。
フォント
Unicode Fonts for Ancient ScriptsにあるSymbola
フォントを入れるとよろし。入れなくても、MacならApple Color Emoji
を、WindowsならSegoe UI Emoji
を利用するようにしてる。
Emacs 25, 26ではSymbola
フォントをインストールする必要があります。
インストール
この項目は歴史的な記述です。Emacs 25以降では、絵文字のフォントについて特別なカスタマイズをしたい場合を除いてはこのパッケージをインストールする必要はありません。
私はCaskを使ってるので、$HOME/.emacs.d/Cask
ファイルにこんな感じに書いてインストールする。
(depends-on "emoji-fontset")
(use-package emoji-fontset
:if window-system
:init
(emoji-fontset-enable "Symbola"))
いまどきのEl-Getでは$HOME/.emacs.d/init.el
に、こんなふうに書けばよさそう。
(el-get-bundle zonuexe/emoji-fontset.el
(emoji-fontset-enable "Symbola"))
できないこと
いまのところ国旗は一工夫しないと表示できなさそう。ご存じの通り国旗の絵文字は [JP][GB][US][KR]
のような二文字の国名コードを並べて記述することになってて、その二文字の組合せを国旗として表示するかどうかは表示する側の実装に依存する。
とは言ってもエディタなので、国旗として展開された方が良いのか文字のままで扱った方が編集中には便利なのかは悩みどころ。やるとすればimakado/emojiみたいな方式が良いのかなあ。
🇧🇷🇨🇳🇩🇪🇪🇸🇫🇷🇬🇧🇮🇹🇯🇵🇰🇷🇷🇺🇺🇸🇮🇸🇮🇪🇦🇿🇦🇫🇿🇼🇧🇴🇰🇵
注意
絵文字がいっぱい入ったファイルを開くと重いよ! 設定するだけなら特に問題なさそう。
Emacs 25, 26ではカラー絵文字のサポートが削除されたので、そんなに重くはなくなりました。
あと、(emoji-fontset/turn-on)
は中身でwindow-system
の判定入れてるので、呼び出す側では特に分岐しなくても良い。
2015年11月8日 追記
MELPAに収録されたので M-x package-install emoji-fontset でインストールできます ヾ(〃><)ノ゙
それに伴って函数名がemoji-fontset/turn-on
からemoji-fontset-enable
に変更になったので気をつけてください。
MELPAでもインストールはできますが、Emacs 25, 26では特別な設定をしたい場合以外は基本的に不要です。
2016年7月27日 追記
Emacs 25.1では、デフォルトでいい感じの設定とmacOSでのカラー絵文字サポートの廃止が入ってるんで、アップデートするひとはもはやemoji-fontset.el
をインストールする必要はないですよ ヾ(〃><)ノ゙
Emacs 25以前と25.1以降で Emacs26を利用してください。init.el
を利用したい場合はemoji-fontset.el
を最新版に更新して、以下のように書くといいです。
(custom-set-variables '(emoji-fontset-check-version nil))
(emoji-fontset-enable "Symbola")
Symbola以外のフォントを設定してるひとは引き続き利用できるので、最新版に更新するだけで問題ないです。
2018年7月18日 追記
この記事の書かれた時期との情勢の変化によって誤読されにくいように変更