diff options
Diffstat (limited to 'macros/unicodetex/latex/emotion/emotion.sty')
-rw-r--r-- | macros/unicodetex/latex/emotion/emotion.sty | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/macros/unicodetex/latex/emotion/emotion.sty b/macros/unicodetex/latex/emotion/emotion.sty new file mode 100644 index 0000000000..34b02f82ed --- /dev/null +++ b/macros/unicodetex/latex/emotion/emotion.sty @@ -0,0 +1,41 @@ +\RequirePackage{expl3} +\ProvidesExplPackage{emotion}{2024/02/06}{0.1}{LaTeX emoji} + +\RequirePackage { fontspec } + +\ExplSyntaxOn + +% add emotion command +\newfontface \emotionfont: { Apple~Color~Emoji } [ Renderer = Harfbuzz ] + +% enable update emoji font +\newcommand{\emotionsetup}[1]{ +\renewfontface \emotionfont: {#1} [ Renderer = HarfBuzz] +} + +% define emoji with unicode +% 1: id +% 2: unicode value +\newcommand{\emotiondef}[2]{ + \tl_const:cn{l__emotion_ #1}{#2} +} + +% import pre-defined emotion +\file_input:n { emotion.def } + +\tl_set:Nn \l__emotion_tmp_tl {❓} + +\newcommand{\emotion}[1]{ +\group_begin: +\tl_set:Nn \l__emotion_tmp_tl {#1} +\ifcsname l__emotion_#1\endcsname + {\emotionfont:{\tl_use:c {l__emotion_ #1}}} +\else + {\emotionfont:{\tl_use:N \l__emotion_tmp_tl}} +\fi +\group_end: +} + +\ExplSyntaxOff + +\endinput
\ No newline at end of file |