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 14.4 Sonoma の Apple Color Emoji を使うには

さて,最新の macOS 14.4 Sonoma に搭載された Unicode 15.1 対応の 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}

コンパイル結果

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

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

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

$ mkdir /tmp/workdir
$ cd /tmp/workdir
$ git clone -b Unicode15.0 --single-branch https://github.com/doraTeX/extract-emojis.git  
$ cd extract-emojis
$ ln -s "/System/Library/Fonts/Apple Color Emoji.ttc" .
$ ruby emoji.rb

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

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

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

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

また,必要に応じて 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}

コンパイル結果