diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/emotion/emotion.def | 14 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/emotion/emotion.lua | 21 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/emotion/emotion.sty | 41 |
3 files changed, 76 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/emotion/emotion.def b/Master/texmf-dist/tex/latex/emotion/emotion.def new file mode 100644 index 00000000000..4e6387e6274 --- /dev/null +++ b/Master/texmf-dist/tex/latex/emotion/emotion.def @@ -0,0 +1,14 @@ +\ProvidesExplFile{emotion.def} + {2024/02/06}{0.1}{LaTeX emoji} + +\tl_const:cn{l__emotion_ 🇦}{^^^^^^01f1e6} +\tl_const:cn{l__emotion_ 🇧}{^^^^^^01f1e7} +\tl_const:cn{l__emotion_ 🇨}{^^^^^^01f1e8} + +\tl_const:cn{l__emotion_ 🈂}{^^^^^^01f202} +\tl_const:cn{l__emotion_ 🈚}{^^^^^^01f21a} +\tl_const:cn{l__emotion_ 🈯}{^^^^^^01f22f} +\tl_const:cn{l__emotion_ 🈲}{^^^^^^01f232} + + +\tl_const:cn{l__emotion_ emotion}{^^^^^^01f21a}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/emotion/emotion.lua b/Master/texmf-dist/tex/latex/emotion/emotion.lua new file mode 100644 index 00000000000..bde272c2b58 --- /dev/null +++ b/Master/texmf-dist/tex/latex/emotion/emotion.lua @@ -0,0 +1,21 @@ +function unicodes(chs) + local text = "" + for _, c in utf8.codes(chs) do + text = text .. unicode(c) + end + print(text) +end + +function unicode(codepoint) + local value = NULL + if codepoint > 0xFFFF then + value = string.format("^^^^^^%06x", codepoint) + elseif codepoint > 0xFF then + value = string.format("^^^^%04x", codepoint) + else + value = string.format("^^%02x", codepoint) + end + return value +end + +unicodes("🀁♀")
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/emotion/emotion.sty b/Master/texmf-dist/tex/latex/emotion/emotion.sty new file mode 100644 index 00000000000..34b02f82edb --- /dev/null +++ b/Master/texmf-dist/tex/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 |