TeX Alchemist Online

TeX のこと,フォントのこと,Mac のこと

BXcoloremoji パッケージで最新の Apple Color Emoji を使う

歴史

coloremoji パッケージ

はるか昔,coloremoji パッケージというのを作りました。

doratex.hatenablog.jp

これにより,upLaTeX で Apple Color Emoji の絵文字グリフを呼び出せるようになりました。

が,このパッケージを作ったのは2014年1月で,当時は OS X 10.9 Mavericks の時代でした。その後 macOS はアップデートを続け,Unicode 絵文字の仕様も年々新しくなって,その新仕様に追従できていませんでした。

BXcoloremoji パッケージ

その後,ZRさんにより,より優れた機能を持つ BXcoloremoji パッケージがリリースされ,拙作の古い coloremoji パッケージはその歴史的役割を終えました。

github.com

ZRさんの BXcoloremoji パッケージは,

  • upLaTeX 以外のエンジンにも広く対応
  • 最新の絵文字の仕様に対応
  • Unicode 符号値や短縮名での入力に対応

など,あらゆる面で優れていますので,今後はこちらを使いましょう。

最新の macOS 12 Monterey の Apple Color Emoji を使うには

さて,最新の macOS 12 Monterey の Apple Color Emoji 絵文字を BXcoloremoji パッケージで使いたい場合の手順をまとめておきます。

1. BXcoloremoji パッケージをインストール

BXcoloremoji パッケージの README の説明に従って,BXcoloremoji パッケージをインストールします。

2. twemoji で動作確認

BXcoloremoji が正しくインストールできているかどうか,BXcoloremoji パッケージに付属の twemoji で動作確認します。

サンプルソース

\documentclass[dvipdfmx]{jlreq}% LuaLaTeX のときは [dvipdfmx] は不要
\usepackage{graphicx}
\usepackage[twemoji-png]{bxcoloremoji}

\begin{document}
\coloremoji{☃😊⛷🍣🍱🙇🙋🏾👪👨‍👩‍👧‍👧🙅🏻‍♂️🥺}
\end{document}

コンパイル結果

f:id:doraTeX:20201210002144p:plain

ここでうまく絵文字が埋め込まれない場合は,1. に戻って BXcoloremoji パッケージのインストールがうまくできているかどうか確認しましょう。必要に応じて mktexlsr をお忘れなく。

3. Apple Color Emoji のグリフを抽出する

alfredxing 氏のスクリプトを使って,Apple Color Emoji からグリフのPNG画像を抽出します。

$ mkdir /tmp/workdir
$ cd /tmp/workdir
$ git clone https://github.com/alfredxing/emoji.git
$ cd emoji
$ ln -s "/System/Library/Fonts/Apple Color Emoji.ttc" .
$ ruby emoji.rb

すると,/tmp/workdir/emoji/img/ の中に,様々なサイズの絵文字のPNG画像が抽出されます。(多少エラーが出るようですが,無視して続行します。)

f:id:doraTeX:20201209223444p:plain

ここでは,160 というフォルダに生成された 160x160 サイズの高精細画像を使うことにしましょう。

4. PNG画像をインストールする

BXcoloremoji パッケージの twemoji-pdftwemoji-png と同じフォルダに AppleColorEmoji というフォルダ名で 160 フォルダをコピーします。

f:id:doraTeX:20201209223911p:plain

また,必要に応じて mktexlsr を再び実行します。

5. bxcoloremoji.sty を改変する

bxcoloremoji.sty に新たオプションを付け加えます。bxcoloremoji.sty を開き,

%% keyval options
\define@key{bxce}{twemoji-pdf}[]{%
  \bxce@custom@familyfalse
  \def\bxce@family{twemoji-pdf}%
  \def\bxce@bb{0 0 27 27}%
  \def\bxce@ext{pdf}%
  \def\bxce@prefix{\coloremojidir twemoji-pdf/twemoji-}%
}
\define@key{bxce}{twemoji-png}[]{%
  \bxce@custom@familyfalse
  \def\bxce@family{twemoji-png}%
  \def\bxce@bb{0 0 72 72}%
  \def\bxce@ext{png}%
  \def\bxce@prefix{\coloremojidir twemoji-png/twemoji-}%
}
……

このあたりに,新たなオプション AppleColorEmoji を付け加えることにします。

\define@key{bxce}{AppleColorEmoji}[]{%
  \bxce@custom@familyfalse
  \def\bxce@family{AppleColorEmoji}%
  \def\bxce@bb{0 0 160 160}%
  \def\bxce@ext{png}%
  \def\bxce@prefix{\coloremojidir AppleColorEmoji/}%
}

6. 使ってみる

BXcoloremoji パッケージを [AppleColorEmoji] オプションを付けて使ってみます。

サンプルソース

\documentclass[dvipdfmx]{jlreq}% LuaLaTeX のときは [dvipdfmx] は不要
\usepackage{graphicx}
\usepackage[AppleColorEmoji]{bxcoloremoji}

\begin{document}
\coloremoji{☃😊⛷🍣🍱🙇🙋🏾👪👨‍👩‍👧‍👧🙅🏻‍♂️🥺}
\end{document}

コンパイル結果

f:id:doraTeX:20201210002221p:plain