diff options
author | Norbert Preining <norbert@preining.info> | 2021-07-18 03:00:52 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-07-18 03:00:52 +0000 |
commit | ba3d555da29f2da7ca04bf225218e22c8d12d7f8 (patch) | |
tree | 9445559f439b402707e57e21eca6516269741cf6 /macros | |
parent | 59d62d23cea172fbad8d928adf81755656d4e7e3 (diff) |
CTAN sync 202107180300
Diffstat (limited to 'macros')
19 files changed, 513 insertions, 163 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 7bcb369515..80b435a4e2 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -28,7 +28,7 @@ % % \title{\sffamily easybook 文档类手册} % \author{瞿毅} -% \date{2021/07/16\hskip\ccwd\relax v1.27g\thanks{\url{https://gitee.com/texl3/easybook}}} +% \date{2021/07/16\hskip\ccwd\relax v1.27h\thanks{\url{https://gitee.com/texl3/easybook}}} % % \maketitle % \begin{abstract} @@ -148,7 +148,7 @@ % cjkfont = <adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none> % \end{syntax} % 中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \opt{fontset} 选项是等效的,如果没有指定 \opt{cjkfont} 的值,将会自动检测用户的操作系统并选择相应的字体。 -% \changes{v1.27g}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。} +% \changes{v1.27h}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。} % \end{function} % % 如果需要使用其它中文字体,可以在启用选项 \opt{cjkfont = none} 后,再使用 \pkg{xeCJK} 宏包的相关命令设置字体以及声明字体族: @@ -592,12 +592,12 @@ % \item[style] 用 \tn{declaretheoremstyle} 定义的定理样式的名称,定理将使用这种样式的设置。 % \end{optdesc} % \item[\tn{DeclareTheorem}] \tn{DeclareTheorem} 是更便捷的定理命令,它定义一个新的定理环境,\meta{键值列表} 支持的选项与 \tn{declaretheorem} 相同,但它们的区别有: -% \begin{itemize} -% \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的环境名。 -% \item 自动定义交叉引用的格式,引用标签前缀为定理名称。 -% \item 定理盒子选项 \opt{thmbox} 仍然生效,盒子样式选项是用于设置定理盒子样式的名称,它需要 \pkg{tcolorbox} 的 \tn{tcbset} 接口命令设定,默认为 \opt{tc-theorem}。 -% \item 默认使用 \opt{easy-theorem} 定理样式,可在最后一个选项使用 \opt{style} 更改样式。 -% \end{itemize} +% \begin{itemize} +% \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的环境名。 +% \item 自动定义交叉引用的格式,引用标签前缀为定理名称。 +% \item 定理盒子选项 \opt{thmbox} 仍然生效,盒子样式选项是用于设置定理盒子样式的名称,它需要 \pkg{tcolorbox} 的 \tn{tcbset} 接口命令设定,默认为 \opt{tc-theorem}。 +% \item 默认使用 \opt{easy-theorem} 定理样式,可在最后一个选项使用 \opt{style} 更改样式。 +% \end{itemize} % \item[\tn{declaretheoremstyle}] 定义新的定理样式,\meta{键值列表} 中包括上述定理样式以及 \tn{declaretheorem} 的所有选项。 % \end{optdesc} % @@ -717,7 +717,7 @@ % \end{syntax} % \ding{229} 以上选项路径为 \opt{hdrset/...} \\ % \changes{v1.25}{2021/05/12}{增加脚注样式设置选项。} -% \changes{v1.27g}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。} +% \changes{v1.27h}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。} % \end{function} % % \begin{optdesc} @@ -905,7 +905,7 @@ % \tn{end}\{hangparas\} % \end{syntax} % \tn{hangpara} 命令使其后的一个段落保持悬挂缩进,\env{hangparas} 环境使其中的段落均保持悬挂缩进。缩进将以 \meta{缩进长度} 从每个段落的 \meta{缩进开始行数} 开始。 -% \changes{v1.27g}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。} +% \changes{v1.27h}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。} % \end{function} % % \subsection{代码} @@ -1290,7 +1290,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2021/07/16}{1.27g} +\ProvidesExplClass{easybook}{2021/07/16}{1.27h} {Typeset Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -1584,7 +1584,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2021/07/16}{1.27g} +\ProvidesExplPackage{easybase}{2021/07/16}{1.27h} {Typeset Chinese theses or books} \cs_generate_variant:Nn \int_to_arabic:n { v } @@ -3457,7 +3457,7 @@ } %</package> %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/16}{1.27g} +\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/16}{1.27h} {Customization of tcolorbox for easybook} \cs_new_protected:Npn \eb_tcb_theorem_set:n #1 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf Binary files differindex 53edf8c283..788290ec5e 100644 --- a/macros/latex/contrib/easybook/easybook.pdf +++ b/macros/latex/contrib/easybook/easybook.pdf diff --git a/macros/latex/contrib/longdivision/README.md b/macros/latex/contrib/longdivision/README.md index db6a6469aa..b25cec2d36 100644 --- a/macros/latex/contrib/longdivision/README.md +++ b/macros/latex/contrib/longdivision/README.md @@ -41,6 +41,9 @@ The current development copy is hosted at https://github.com/hoodmane/longdivisi Changelog: ========== +## [1.2.1](2021-07-17) +### Fixed: +- The stage option works again. ## [1.2.0] (2020-05-09) ### Added: diff --git a/macros/latex/contrib/longdivision/longdivision.sty b/macros/latex/contrib/longdivision/longdivision.sty index d749bab70e..114417fd62 100644 --- a/macros/latex/contrib/longdivision/longdivision.sty +++ b/macros/latex/contrib/longdivision/longdivision.sty @@ -1,7 +1,7 @@ -%% Package: longdivision.sty version 1.2.0 +%% Package: longdivision.sty version 1.2.1 %% Author: Hood Chatham %% Email: hood@mit.edu -%% Date: 2020-05-09 +%% Date: 2021-07-17 %% License: Latex Project Public License @@ -17,7 +17,6 @@ \bool_new:N \l__longdiv_added_point_bool \bool_new:N \l__longdiv_seen_point_bool \bool_new:N \l__longdiv_seen_digit_bool -\bool_new:N \l__longdiv_stopped_early_stage_bool \int_new:N \l__longdiv_quotient_int \int_new:N \l__longdiv_position_int \int_new:N \l__longdiv_point_digit_dividend_int @@ -437,11 +436,8 @@ % the length of the bar, but we need it to always be at least as long as the dividend. % Also, we need to delete the extra digit that has been carried down \cs_new:Nn \longdiv_divide_end_early:nnn { - % For some reason we need to shift the typeset work over by half a digit if we quit early due to "stage" option - % so we need to set a flag so that the work typesetter can know to do this. - \bool_set_true:N \l__longdiv_stopped_early_stage_bool \tl_put_right:Nn \l__longdiv_quotient_tl { {\longdiv_hphantom:n { #3 0 }} } - \tl_set:Nf \l__longdiv_remainer { \tl_range:nnn { #1 } { 1 } { -2 } } + \tl_set:Nf \l__longdiv_remainder_tl { \tl_range:nnn { #1 } { 1 } { -2 } } \longdiv_typeset: } @@ -863,8 +859,6 @@ \cs_new:Nn \longdiv_typeset_setwidth:n { \settowidth \l__longdiv_tempwidth_dim {\tl_range:Nnn \l__longdiv_dividend_tl { 1 } { #1 } \relax } \dim_gset:Nn \g__longdiv_temp_dim { \l__longdiv_tempwidth_dim } - % For some reason we need to shift everything over by half a digit if we quit early due to "stage" option - \bool_if:NT \l__longdiv_stopped_early_stage_bool {\dim_gadd:Nn \g__longdiv_temp_dim { -0.5\c__longdiv_digitwidth_dim } } } % #2 is the distance to the right endpoint of the token list #1. @@ -947,8 +941,7 @@ } -% Certainly the pretiest of my three styles. I think I got it from a tex stack exchange post, -% but I apparently didn't credit it when I copied it and I cannot find teh post now. +% Stolen from the following tex stack exchange answer: https://tex.stackexchange.com/a/131137 \longdiv_define_style:nn { tikz }{ \bool_if:NTF \l__longdiv_is_tikz_loaded_bool { \longdiv@typeset@main@tikz diff --git a/macros/latex/contrib/longdivision/longdivision_manual.pdf b/macros/latex/contrib/longdivision/longdivision_manual.pdf Binary files differindex f64df8e2f9..21e6b7a06c 100644 --- a/macros/latex/contrib/longdivision/longdivision_manual.pdf +++ b/macros/latex/contrib/longdivision/longdivision_manual.pdf diff --git a/macros/latex/contrib/longdivision/longdivision_manual.tex b/macros/latex/contrib/longdivision/longdivision_manual.tex index 24e3928248..325e2b993a 100644 --- a/macros/latex/contrib/longdivision/longdivision_manual.tex +++ b/macros/latex/contrib/longdivision/longdivision_manual.tex @@ -1,5 +1,5 @@ \documentclass{ltxdoc} -\def\version{Version 1.2.0} +\def\version{Version 1.2.1} \let\ifluatex\relax \usepackage{ifluatex} diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt index f89d6b4dd8..84c75558b6 100644 --- a/macros/latex/contrib/lwarp/README.txt +++ b/macros/latex/contrib/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.899 README.txt +LaTeX lwarp package v0.900 README.txt Files included are: diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx index 54b4857907..fce36d1771 100644 --- a/macros/latex/contrib/lwarp/lwarp.dtx +++ b/macros/latex/contrib/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{lwarp} -%<package> [2021/06/29 v0.899 Allows LaTeX to directly produce HTML5 output.] +%<package> [2021/07/17 v0.900 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -24,8 +24,8 @@ \PassOptionsToPackage{quiet}{textcomp}% Not all chars supported in TT font. \usepackage{lmodern} -\usepackage{libertine} -% *88* \usepackage[space]{erewhon} +% \usepackage{libertine} +\usepackage[space]{erewhon} \usepackage[varqu,varl]{inconsolata} % typewriter % \usepackage{roboto}% conflicts with \textsc inside a float % \usepackage{sourcecodepro} @@ -3100,7 +3100,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{54297} +% \CheckSum{54342} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -3241,6 +3241,7 @@ This boolean may be tested by the user for later use. % \changes{v0.897}{2021/05/24}{\ 2021/05/24} % \changes{v0.898}{2021/05/29}{\ 2021/05/29} % \changes{v0.899}{2021/06/29}{\ 2021/06/29} +% \changes{v0.900}{2021/07/17}{\ 2021/07/17} @@ -3466,9 +3467,21 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.900:] Package updates. +% \begin{itemize} +% \item Fix for detecting |\usepackage{lwarp}|. +% \margintag{core} +% \item \pkg{amsmath}: Fixed \env{alignat} with \brand{MathJax}. +% \margintag{packages} +% \item \pkg{changes}: Updated to v4.2.1. +% \item \pkg{froufrou}: Updated to v1.4.0. +% \item \pkg{lipsum}: Updated to v2.3. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.899:] Minor updates. % \begin{itemize} % \item \prog{lwarpmk}: Warns if |\usepackage{lwarp}| is not detected. +% \margintag{core} % \item \pkg{graphics}: Added support for \optn{keepaspectratio}. % \margintag{packages} % \item \pkg{keyfloat}: Fix: \optn{lw} with \optn{h}. @@ -3483,8 +3496,8 @@ This boolean may be tested by the user for later use. % \item[v0.897:] \pkg{siunitx} rollback. % \begin{itemize} % \item Added a table of file extensions to use with \cs{includegraphics}. -% See \cref{tab:includegraphicsfilenames}. % \margintag{docs} +% See \cref{tab:includegraphicsfilenames}. % \item Added tests for additional incompatible packages. % \margintag{core} % \item \pkg{siunitx}: Supports rollback to v2. Does not yet support v3. @@ -6019,7 +6032,7 @@ This boolean may be tested by the user for later use. % % Package handling: & \spkg{catoptions}. \\ % -% Debug: & \ipkg{chkfloat}, \ipkg{cmdtrack}, \ipkg{dprogress}, +% Debug: & \ipkg{chkfloat}, \ipkg{cmdtrack}, \ipkg{dprogress}, \mpkg{lipsum}, % \ipkg{lua-visual-debug}, \ipkg{refcheck}, % \ipkg{srcltx}, \ipkg{srctex}, \ipkg{vpe}, \ipkg{xbmks}. \\ % @@ -20565,7 +20578,7 @@ MathJax = { -- Copyright 2016-2021 Brian Dunn -printversion = "v0.899" +printversion = "v0.900" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -20658,7 +20671,7 @@ if ( usinglwarp == false ) then print ("lwarpmk: \\usepackage{lwarp} was not detected.") print ("lwarpmk: The HTML output will not be correct.") print ("lwarpmk: Ensured that \\usepackage{lwarp} is enabled,") - print ("lwarpmk: then lwarpmk print and lwarpmk HTML again.") + print ("lwarpmk: then lwarpmk print and lwarpmk html again.") print ("lwarpmk: ===") end end -- function @@ -26933,11 +26946,11 @@ end -- not --version % Remove extra material: % \changes{v0.84}{2020/04/12}{Improved \HTML\ title.} % \begin{macrocode} -\StrSubstitute{\theHTMLSection}{\protect}{\detokenize{-}}[\theHTMLSection] -\StrSubstitute{\theHTMLSection}{\detokenize{-----}}{\detokenize{-}}[\theHTMLSection] -\StrSubstitute{\theHTMLSection}{\detokenize{----}}{\detokenize{-}}[\theHTMLSection] -\StrSubstitute{\theHTMLSection}{\detokenize{---}}{\detokenize{-}}[\theHTMLSection] -\StrSubstitute{\theHTMLSection}{\detokenize{--}}{\detokenize{-}}[\theHTMLSection] +\StrSubstitute{\theHTMLSection}{\protect}{\detokenize{-}}[\theHTMLSection]% +\StrSubstitute{\theHTMLSection}{\detokenize{-----}}{\detokenize{-}}[\theHTMLSection]% +\StrSubstitute{\theHTMLSection}{\detokenize{----}}{\detokenize{-}}[\theHTMLSection]% +\StrSubstitute{\theHTMLSection}{\detokenize{---}}{\detokenize{-}}[\theHTMLSection]% +\StrSubstitute{\theHTMLSection}{\detokenize{--}}{\detokenize{-}}[\theHTMLSection]% % \end{macrocode} % % If starts with a dash, remove the leading dash: @@ -27107,8 +27120,11 @@ end -- not --version % Start of the body: % \begin{macrocode} \LWR@htmltag{body}\LWR@orignewline -\endgroup -\LWR@traceinfo{LWR@filestart: done} +% \end{macrocode} +% \changes{v0.900}{2021/06/14}{Spurrious space.} +% \begin{macrocode} +\endgroup% +\LWR@traceinfo{LWR@filestart: done}% } % \end{macrocode} % \end{macro} @@ -27231,7 +27247,7 @@ end -- not --version % Start a new \HTML\ file and a header: % \begin{macrocode} \LWR@traceinfo{LWR@lwarpStart: Starting new file.} -\LWR@filestart +\LWR@filestart% % \end{macrocode} % Tell \prog{lwarpmk} that the \pkg{lwarp} package is in use. % This allows \prog{lwarpmk} to warn if |usepackage{lwarp}| was somehow @@ -37674,7 +37690,7 @@ end -- not --version % \end{macro} -% \begin{macro}{\LWR@addmathjax} \marg{environment} \marg{contents} +% \begin{macro}{\LWR@addmathjax} \marg{environment name} \marg{contents} % % Given the name of a math environment and its contents, % create a \brand{MathJax} instance. @@ -37682,16 +37698,32 @@ end -- not --version % \begin{macrocode} \NewDocumentCommand{\LWR@addmathjax}{m +m}{% % \end{macrocode} -% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters. % \begin{macrocode} \LWR@origtilde\LWR@orignewline % \end{macrocode} +% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters. % Print the environment name and contents, sanitizing for \HTML\ special characters. % \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} {% \LWR@print@ttfamily% \textbackslash{}begin\{#1\} +% \end{macrocode} +% +% The \env{alignat} environment takes a mandatory argument, which must +% be replicated here. +% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \brand{MathJax}.} +% \begin{macrocode} + \ifboolexpr{ + test {\ifstrequal{#1}{alignat}} or + test {\ifstrequal{#1}{alignat*}} or + test {\ifstrequal{#1}{alignat+}} + }% + {\{\arabic{LWR@maxfields@}\}}% + {}% +% \end{macrocode} +% The environment contents and \cs{end}: +% \begin{macrocode} \LWR@orignewline% \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}% \LWR@orignewline% @@ -44057,6 +44089,25 @@ color:\LWR@origpound\LWR@tempcolor% % \changes{v0.73}{2019/06/25}{AMS environments: Fix: \attribute{alt} tags.} % \changes{v0.73}{2019/06/25}{AMS environments: Fix: Paragraph tags.} % +% +% \DescribeCounter{LWR@maxfields@} A copy of \ctr{maxfields@} as it was passed. +% This is used to generate the mandatory argument for \env{alignat} and \env{alignat*} +% when using \brand{MathJax}. +% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \brand{MathJax}.} +% \begin{macrocode} +\newcounter{LWR@maxfields@} + +\xpatchcmd{\start@align} + {\maxfields@#3\relax} + {% + \maxfields@#3\relax% + \setcounter{LWR@maxfields@}{#3}% + } + {} + {\LWR@patcherror{amsmath}{start@align}} +% \end{macrocode} +% +% % \begin{noindmacro}{\LWR@amsmathenv@@before}* \marg{environment name} % % |*| if the environment was starred. @@ -45551,8 +45602,7 @@ color:\LWR@origpound\LWR@tempcolor% % \pkg{autonum} is ignored. % % All equations are numbered in \HTML\ output. -% \trouble[numbering]{autonum=\pkg{autonum}} -% +% \trouble[numbering, \texttt{+}]{autonum=\pkg{autonum}} % \brand{MathJax} does not support the ``+'' environments. % % \changes{v0.70}{2019/03/28}{\pkg{autonum}: Added.} @@ -45582,11 +45632,13 @@ color:\LWR@origpound\LWR@tempcolor% \BeforeBeginEnvironment{multline+}{\LWR@amsmathenv@@before{multline+}} \AfterEndEnvironment{multline+}{\LWR@amsmathenv@@after} - - +% \end{macrocode} +% +% \changes{v0.900}{2021/07/11}{Fix: \env{flalign} name.} +% \begin{macrocode} \newenvironment{flalign+}{\flalign}{\endflalign} -\BeforeBeginEnvironment{flalign+}{\LWR@amsmathenv@@before{flaline+}} +\BeforeBeginEnvironment{flalign+}{\LWR@amsmathenv@@before{flalign+}} \AfterEndEnvironment{flalign+}{\LWR@amsmathenv@@after} @@ -48382,11 +48434,12 @@ s% % \changes{v0.67}{2019/02/15}{\pkg{changes}: Added.} % \changes{v0.70}{2019/03/24}{\pkg{changes}: Updated to v3.1.2.} % \changes{v0.895}{2021/01/30}{\pkg{changes}: Updated to v4.0.1.} +% \changes{v0.900}{2021/06/14}{\pkg{changes}: Updated to v4.2.1.} % % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackagePass{changes}[2021/02/14] +\LWR@ProvidesPackagePass{changes}[2021/07/15] % \end{macrocode} % % \cs{BaseJobname} is added to the label in case \pkg{xr} or \pkg{xr-hyper} are used. @@ -48596,7 +48649,7 @@ test {\ifnumgreater{\csuse{Changes@In########1}}{0}}% {\color{authorcolor}}% {}% \LWR@textcurrentcolor{% lwarp -\Changes@Markup@author{\Changes@output@author{#2}{left}}% +\Changes@Markup@author{\Changes@output@author@position{#2}{left}}% }% lwarp }}% }{}% @@ -48623,7 +48676,7 @@ test {\ifnumgreater{\csuse{Changes@In########1}}{0}}% {\color{authorcolor}}% {}% \LWR@textcurrentcolor{% lwarp -\Changes@Markup@author{\Changes@output@author{#2}{right}}% +\Changes@Markup@author{\Changes@output@author@position{#2}{right}}% }% lwarp }}% }{}% @@ -48637,7 +48690,7 @@ test {\ifnumgreater{\csuse{Changes@In########1}}{0}}% \Changes@Markup@comment% {#5}% {#2}% -{\Changes@output@author{#2}{left}\Changes@output@author{#2}{right}}% +{\Changes@output@author{#2}}% }% }% \IfIsEmpty{#2}% @@ -57669,6 +57722,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space % \pkg{froufrou} is patched for use by \pkg{lwarp}. % % \changes{v0.897}{2021/05/02}{\pkg{froufrou}: Added.} +% \changes{v0.900}{2021/06/14}{\pkg{froufrou}: Updated to v1.4.0.} % % \codehtml % @@ -57684,17 +57738,35 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space {\LWR@patcherror{froufrou}{setfroufrou}} \ExplSyntaxOff -\xpatchcmd{\@realfroufrou} - {\@froufrouOrnament} - {% - \begin{center} - \begin{lateximage}*[froufrou][\LWR@latestfroufrou]% +\RenewDocumentCommand{\froufrou}{s O{}}{% + \nopagebreak[4]\par + + \IfBooleanTF{#1}{\@afterindenttrue}{\@afterindentfalse} + + \nopagebreak[4]\@froufrouspacebefore\nopagebreak[4] + + \bgroup + \setfroufrou{#2}% + \normalsize + \ifdefvoid{\setstretch}{}{\setstretch{\setspace@singlespace}}% normally 1 + \setlength{\parskip}{0pt} + \noindent\centering\bgroup% + \begin{center}% lwarp + \begin{lateximage}*[froufrou][\LWR@latestfroufrou]% lwarp \@froufrouOrnament% - \end{lateximage} - \end{center} - } - {} - {\LWR@patcherror{froufrou}{@realfroufrou}} + \end{lateximage}% lwarp + \end{center}% lwarp + \egroup\par + \egroup + + \nopagebreak[4]\@froufrouspaceafter\nopagebreak[4] + + \@froufrouFixSpacingAfter + + \nopagebreak[3] + + \@afterheading +} % \end{macrocode} % % \iffalse @@ -63574,6 +63646,36 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % +% \iffalse +%<*lipsum> +% \fi +% +% \part{lwarp-lipsum.sty} +% +% \section{lipsum} +% +% \credits{Patrick Happel} +% +% \DescribePackage{lipsum} +% \pkg{lipsum} is patched for use by \pkg{lwarp}. +% +% \changes{v0.900}{2021/06/15}{\pkg{lipsum}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{lipsum}[2021-03-03] +% \end{macrocode} +% +% \begin{macrocode} +\SetLipsumParListItemEnd{\LWR@closeparagraph} +% \end{macrocode} +% +% \iffalse +%</lipsum> +% \fi +% +% % % \iffalse %<*listings> diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins index 498f83ae47..143e4ba4f1 100644 --- a/macros/latex/contrib/lwarp/lwarp.ins +++ b/macros/latex/contrib/lwarp/lwarp.ins @@ -281,6 +281,7 @@ version 2005/12/01 or later. \file{lwarp-libertinust1math.sty}{\from{lwarp.dtx}{libertinust1math}} \file{lwarp-lineno.sty}{\from{lwarp.dtx}{lineno}} \file{lwarp-lips.sty}{\from{lwarp.dtx}{lips}} +\file{lwarp-lipsum.sty}{\from{lwarp.dtx}{lipsum}} \file{lwarp-listings.sty}{\from{lwarp.dtx}{listings}} \file{lwarp-listliketab.sty}{\from{lwarp.dtx}{listliketab}} \file{lwarp-lltjext.sty}{\from{lwarp.dtx}{lltjext}} diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf Binary files differindex 387f0601f7..aafbad9edd 100644 --- a/macros/latex/contrib/lwarp/lwarp.pdf +++ b/macros/latex/contrib/lwarp/lwarp.pdf diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua index cb684409a3..6206329a3b 100755 --- a/macros/latex/contrib/lwarp/lwarpmk.lua +++ b/macros/latex/contrib/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2021 Brian Dunn -printversion = "v0.899" +printversion = "v0.900" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -92,7 +92,7 @@ if ( usinglwarp == false ) then print ("lwarpmk: \\usepackage{lwarp} was not detected.") print ("lwarpmk: The HTML output will not be correct.") print ("lwarpmk: Ensured that \\usepackage{lwarp} is enabled,") - print ("lwarpmk: then lwarpmk print and lwarpmk HTML again.") + print ("lwarpmk: then lwarpmk print and lwarpmk html again.") print ("lwarpmk: ===") end end -- function diff --git a/macros/latex/contrib/macrolist/README.md b/macros/latex/contrib/macrolist/README.md index ee73093939..61ac3d679d 100644 --- a/macros/latex/contrib/macrolist/README.md +++ b/macros/latex/contrib/macrolist/README.md @@ -1,4 +1,4 @@ -# The LaTeX package macrolist - version 1.0.0 (2021/07/12) +# The LaTeX package macrolist - version 1.0.2 (2021/07/17) > Copyright (C) 2021 Dennis Chen <proofprogram@gmail.com> > diff --git a/macros/latex/contrib/macrolist/macrolist.dtx b/macros/latex/contrib/macrolist/macrolist.dtx index 9c0ee6eb62..7a564fc448 100644 --- a/macros/latex/contrib/macrolist/macrolist.dtx +++ b/macros/latex/contrib/macrolist/macrolist.dtx @@ -16,7 +16,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{macrolist}[2021/07/09 v1.0.0 Create lists of macros and perform operations on them] +\ProvidesPackage{macrolist}[2021/07/16 v1.0.1 Create lists of macros and perform operations on them] \RequirePackage{pgffor} %</package> @@ -30,16 +30,24 @@ \begin{document} \DocInput{macrolist.dtx} \PrintIndex + \PrintChanges \end{document} %</driver> % \fi -% \changes{v1.0.0}{2021/07/01}{Initial version} +% +% \changes{v1.0.2}{2021/07/17}{Print changelog in documentation} +% \changes{v1.0.2}{2021/07/17}{Added comment markers to remove pars and fix spacing in listforeach} +% \changes{v1.0.1}{2021/07/16}{Make a couple of defs and lets global to prevent scoping issues} +% \changes{v1.0.1}{2021/07/16}{Add ``scope is always global'' to documentation} +% \changes{v1.0.1}{2021/07/16}{Fix date in initial version changes entry} +% \changes{v1.0.1}{2021/07/16}{Fix v. appearing in front of date in document title} +% \changes{v1.0.0}{2021/07/12}{Initial version} % % \GetFileInfo{macrolist.sty} % % \title{\textsf{macrolist} -- Create lists of macros and manipulate them} % \author{Dennis Chen \\ proofprogram@gmail.com} -% \date{\fileversion, v. \filedate\thanks{\url{https://github/com/chennisden/macrolist}}} +% \date{\fileversion, \filedate\thanks{\url{https://github/com/chennisden/macrolist}}} % % \maketitle % @@ -49,6 +57,8 @@ % % \section{Usage} % +% The scope of lists is always global. This seems to provide the most +% % \DescribeMacro{\newlist} % To create a list, pass in |\newlist{listname}| to create a list with the name \textsf{listname}. % @@ -93,16 +103,16 @@ \stepcounter{macrolist@list@\macrolist@currlist} \if\relax\detokenize{#1}\relax - \expandafter\def\csname macrolist@list@\macrolist@currlist\listsize{\macrolist@currlist}\endcsname{#2} + \expandafter\gdef\csname macrolist@list@\macrolist@currlist\listsize{\macrolist@currlist}\endcsname{#2} \else \expandafter\ifnum\csname themacrolist@list@\macrolist@currlist\endcsname=#1 - \expandafter\def\csname macrolist@list@\macrolist@currlist\listsize{\macrolist@currlist}\endcsname{#2} + \expandafter\gdef\csname macrolist@list@\macrolist@currlist\listsize{\macrolist@currlist}\endcsname{#2} \else \macrolist@inbounds{\macrolist@currlist}{#1} \foreach \macrolist@index in {\listsize{\macrolist@currlist}, ...,\the\numexpr #1+1\relax} { \global\expandafter\let\csname macrolist@list@\macrolist@currlist\macrolist@index\expandafter\endcsname\csname macrolist@list@\macrolist@currlist\the\numexpr\macrolist@index-1\relax\endcsname } - \expandafter\def\csname macrolist@list@\macrolist@currlist#1\endcsname{#2} + \expandafter\gdef\csname macrolist@list@\macrolist@currlist#1\endcsname{#2} \fi \fi } @@ -123,7 +133,7 @@ } \fi - \expandafter\let\csname macrolist@list@#1\listsize{#1}\endcsname\relax + \global\expandafter\let\csname macrolist@list@#1\listsize{#1}\endcsname\relax \addtocounter{macrolist@list@#1}{-1} } % \fi @@ -135,7 +145,7 @@ % \iffalse \newcommand{\listremovelast}[1]{ \macrolist@exists{#1} - \expandafter\let\csname macrolist@list@#1\listsize{#1}\endcsname\relax + \global\expandafter\let\csname macrolist@list@#1\listsize{#1}\endcsname\relax \addtocounter{macrolist@list@#1}{-1} } % \fi @@ -149,7 +159,7 @@ \macrolist@inbounds{#1}{#2} \foreach \macrolist@index in {1, ..., \listsize{#1}} { - \expandafter\let\csname \macrolist@list@#1\macrolist@index\endcsname\relax + \global\expandafter\let\csname \macrolist@list@#1\macrolist@index\endcsname\relax } \setcounter{macrolist@list@#1}{0} @@ -179,49 +189,49 @@ % % \iffalse \newcommand{\listforeach}[2] -{ - \def\macrolist@foreachstart{0} % Reset +{% + \def\macrolist@foreachstart{0}% Reset % This is used to make optional arguments line up correctly - - \def\macrolist@start{1} - \def\macrolist@end{\listsize{#1}} - \def\macrolist@listname{#1} - \def\macrolist@element{#2} +% + \def\macrolist@start{1}% + \def\macrolist@end{\listsize{#1}}% + \def\macrolist@listname{#1}% + \def\macrolist@element{#2}% \macrolist@listforeachi } -\newcommand{\macrolist@listforeachi}[1][]{ +\newcommand{\macrolist@listforeachi}[1][]{% \if\relax\detokenize{#1}\relax \else - \def\macrolist@start{#1} - \def\macrolist@foreachstart{1} + \def\macrolist@start{#1}% + \def\macrolist@foreachstart{1}% \fi \macrolist@listforeachii } -\newcommand{\macrolist@listforeachii}[1][]{ +\newcommand{\macrolist@listforeachii}[1][]{% \if\relax\detokenize{#1}\relax \ifnum\macrolist@foreachstart=1 \PackageError{macrolist}{You must either pass in both a starting and ending position or neither}{} \fi \else - \def\macrolist@end{#1} + \def\macrolist@end{#1}% \fi \macrolist@listforeachaction } -\newcommand{\macrolist@listforeachaction}[1]{ - - \macrolist@exists{\macrolist@listname} - +\newcommand{\macrolist@listforeachaction}[1]{% +% + \macrolist@exists{\macrolist@listname}% +% \ifnum\numexpr\macrolist@start\relax>\listsize{\macrolist@listname}% \PackageError{macrolist}{The starting index of the loop is out of the bounds of list '\macrolist@listname'}{} \fi - +% \ifnum\numexpr\macrolist@end\relax>\listsize{\macrolist@listname} \PackageError{macrolist}{The ending index of the loop is out of the bounds of list '\macrolist@listname'}{} \fi - +% \foreach \macrolist@index in {\the\numexpr\macrolist@start\relax, ..., \the\numexpr\macrolist@end\relax} {% \expandafter\expandafter\expandafter\let\expandafter\expandafter\macrolist@element\csname macrolist@list@\macrolist@listname\macrolist@index\endcsname #1% diff --git a/macros/latex/contrib/macrolist/macrolist.pdf b/macros/latex/contrib/macrolist/macrolist.pdf Binary files differindex c3e16e2634..1f5be69f8b 100644 --- a/macros/latex/contrib/macrolist/macrolist.pdf +++ b/macros/latex/contrib/macrolist/macrolist.pdf diff --git a/macros/luatex/latex/emoji/README.md b/macros/luatex/latex/emoji/README.md index ee0ee3456d..3fc4c63a34 100644 --- a/macros/luatex/latex/emoji/README.md +++ b/macros/luatex/latex/emoji/README.md @@ -8,7 +8,7 @@ Emoji support in (Lua)LaTeX. ## Introduction The `emoji` package allows user to typeset emoji in a LaTeX document. It requires LuaHBTeX engine, -which can be called by `lualatex` in TeX Live 2020 or `lualatex-dev` in TeX Live 2019. +which can be called by `lualatex` since TeX Live 2020 or `lualatex-dev` in TeX Live 2019. ## Usage @@ -35,4 +35,4 @@ This work may be distributed and/or modified under the conditions of the [LaTeX ----- -Copyright (C) 2020 by Xiangdong Zeng. +Copyright (C) 2020, 2021 by Xiangdong Zeng. diff --git a/macros/luatex/latex/emoji/emoji-doc.pdf b/macros/luatex/latex/emoji/emoji-doc.pdf Binary files differindex 1d7e734a6f..8af2658440 100644 --- a/macros/luatex/latex/emoji/emoji-doc.pdf +++ b/macros/luatex/latex/emoji/emoji-doc.pdf diff --git a/macros/luatex/latex/emoji/emoji-doc.tex b/macros/luatex/latex/emoji/emoji-doc.tex index 9d1eb737f8..51d8a45ed8 100644 --- a/macros/luatex/latex/emoji/emoji-doc.tex +++ b/macros/luatex/latex/emoji/emoji-doc.tex @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2020 by Xiangdong Zeng <xdzeng96@gmail.com> +%% Copyright (C) 2020, 2021 by Xiangdong Zeng <xdzeng96@gmail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -18,7 +18,7 @@ \documentclass{l3doc} \usepackage{array,booktabs,emoji,fontspec,geometry,graphicx,longtable,xcolor} -\geometry{left=3.2cm, right=1.8cm, vmargin=3.2cm} +\geometry{left=3cm, right=1.6cm, vmargin=3.2cm} \setmainfont{NotoSerif}[ Extension = .ttf, UprightFont = *-Light, @@ -39,15 +39,18 @@ UprightFont = *-CondensedLight, BoldFont = *-CondensedMedium, ] -\setemojifont{Twemoji Mozilla} +% \setemojifont{Twemoji Mozilla}[BoldFont=*] +\setemojifont{TwemojiMozilla.ttf}[Path=fonts/twemoji-colr/, BoldFont=*] -\newfontface\fontja{Noto Serif CJK JP Light} +\newfontface\fontja{Source Han Serif Light} \newfontface\fontsymbol{Noto Sans Symbols Light} \newfontface\ttcond{NotoSansMono-ExtraCondensedLight.ttf}[Ligatures=CommonOff] \makeatletter \ExplSyntaxOn +\cs_set:Npn \@pnumwidth { 1.8em } + \cs_set_protected:Npn \__codedoc_meta_original:n #1 { {\fontsymbol\symbol{"2329}} @@ -86,12 +89,6 @@ \str_new:N \g__emoji_doc_group_str \str_new:N \g__emoji_doc_subgroup_str -\cs_new_protected:Npn \clist_use:nn #1 - { - \clist_set:Nn \l__clist_internal_clist {#1} - \clist_use:Nn \l__clist_internal_clist - } - \cs_set:Npn \__emoji_def:nnnnn { \int_gincr:N \g__emoji_doc_group_count_int @@ -151,7 +148,7 @@ \cs_set:Npn \__emoji_doc_begin_longtable:n #1 { - \begin{longtable} { C{1.1cm} P{3.5cm} P{2.3cm} P{3.5cm} C{1.8cm} C{1.2cm} } + \begin{longtable} { C{1.1cm} P{3.6cm} P{2.4cm} P{3.6cm} C{1.8cm} C{1.2cm} } \caption{#1} \\ \__emoji_doc_longtable_head: \endfirsthead @@ -221,7 +218,7 @@ \title{The \pkg{emoji} package \thanks{\url{https://github.com/stone-zeng/latex-emoji}} \\ Emoji support in (Lua)\LaTeX} \author{Xiangdong Zeng \thanks{\url{xdzeng96@gmail.com}}} -\date{\emoji{date} 2020/06/27\quad v0.2.1} +\date{\emoji{date} 2021/07/17\quad v0.2.2} \begin{document} @@ -240,15 +237,15 @@ In 2019, \href{https://github.com/luigiScarso}{Luigi Scarso} has integrated the \href{https://github.com/harfbuzz/harfbuzz}{HarfBuzz} library into \LuaTeX.% \footnote{\href{https://github.com/khaledhosny}{Khaled Hosny} has also created a similar project \href{https://github.com/khaledhosny/harftex}{HarfTeX}.} -While the original purpose is to optimize the rendering of indic and arabic scripts, emoji is +While the original purpose is to optimize the rendering of indic and arabic scripts, emoji are also supported by this new extended version of \TeX{} at the same time. The \pkg{emoji} package allows user to typeset emoji in a \LaTeX{} document. It requires -\LuaHBTeX{}: in \TeX{} Live 2020, \texttt{lualatex} will base on this new engine; but in -\TeX{} Live 2019, only \texttt{lualatex-dev} can be used to compile. +\LuaHBTeX{}, which is the backend of \texttt{lualatex} since \TeX{} Live 2020. In \TeX{} Live +2019, only \texttt{lualatex-dev} can be used to compile. Emoji has been included in the Unicode Standard since 2009. The \pkg{emoji} package support -the latest version Emoji 13.0 (published on 2020-03-10).% +the latest version Emoji 13.1 (published on 2020-09-18).% \footnote{Starting with version 11.0, the repertoire of emoji characters is synchronized with the Unicode Standard, and has the same version numbering system.} @@ -264,7 +261,7 @@ The package should be loaded in the usual way: \subsection{\emoji{beer} Set emoji fonts} -On Windows, macOS or Ubuntu system, the \pkg{emoji} package will automatically select available +On Windows, macOS or Linux systems, the \pkg{emoji} package will automatically select available emoji fonts. If the package can't find any emoji fonts, or if you want to change the default font, you can use the following command to set emoji font manually. @@ -325,10 +322,9 @@ while the aliases are from GitHub's There are totally \ref*{count:emoji} emoji listed here. This should equal to the number of fully-qualified emoji and components in Unicode standard. -In the following list, emoji is shown with Twemoji font. Note that not all emoji are supported -in this font as present. The fullname is actually a sanitized version of description, which is -from the CLDR short name. The version field \texttt{Ex.x} corresponds to the Emoji version when -the emoji character or emoji sequence was first defined. +In the following list, emoji is shown with Twemoji font. The fullname is actually a sanitized +version of description, which is from the CLDR short name. The version field \texttt{Ex.x} +corresponds to the Emoji version when the emoji character or emoji sequence was first defined. \EMOJITABLE @@ -375,7 +371,7 @@ This document uses the following fonts: \item Noto Sans \item Noto Sans Mono \item Noto Sans Symbols - \item Noto Serif CJK JP ({\fontja 源ノ明朝}) + \item Source Han Serif ({\fontja 源ノ明朝}) \item Twemoji Mozilla \end{itemize} diff --git a/macros/luatex/latex/emoji/emoji-table.def b/macros/luatex/latex/emoji/emoji-table.def index c3b09ee36d..6cde41ca27 100644 --- a/macros/luatex/latex/emoji/emoji-table.def +++ b/macros/luatex/latex/emoji/emoji-table.def @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2020 by Xiangdong Zeng <xdzeng96@gmail.com> +%% Copyright (C) 2020, 2021 by Xiangdong Zeng <xdzeng96@gmail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -16,7 +16,7 @@ %% The Current Maintainer of this work is Xiangdong Zeng. %% \ProvidesExplFile{emoji-table.def} - {2020/06/27}{0.2.1}{Emoji support in (Lua)LaTeX} + {2021/07/17}{0.2.2}{Emoji support in (Lua)LaTeX} \__emoji_group:n {Smileys~\&~Emotion} \__emoji_subgroup:n {Face-smiling} \__emoji_def:nnnnn {^^^^^^01f600} {grinning-face} {grinning} {Grinning~face} {1.0} @@ -60,10 +60,12 @@ \__emoji_def:nnnnn {^^^^^^01f610} {neutral-face} {} {Neutral~face} {0.7} \__emoji_def:nnnnn {^^^^^^01f611} {expressionless-face} {expressionless} {Expressionless~face} {1.0} \__emoji_def:nnnnn {^^^^^^01f636} {face-without-mouth} {no-mouth} {Face~without~mouth} {1.0} +\__emoji_def:nnnnn {^^^^^^01f636^^^^200d^^^^^^01f32b^^^^fe0f} {face-in-clouds} {} {Face~in~clouds} {13.1} \__emoji_def:nnnnn {^^^^^^01f60f} {smirking-face} {smirk} {Smirking~face} {0.6} \__emoji_def:nnnnn {^^^^^^01f612} {unamused-face} {unamused} {Unamused~face} {0.6} \__emoji_def:nnnnn {^^^^^^01f644} {face-with-rolling-eyes} {roll-eyes} {Face~with~rolling~eyes} {1.0} \__emoji_def:nnnnn {^^^^^^01f62c} {grimacing-face} {grimacing} {Grimacing~face} {1.0} +\__emoji_def:nnnnn {^^^^^^01f62e^^^^200d^^^^^^01f4a8} {face-exhaling} {} {Face~exhaling} {13.1} \__emoji_def:nnnnn {^^^^^^01f925} {lying-face} {} {Lying~face} {3.0} \__emoji_subgroup:n {Face-sleepy} \__emoji_def:nnnnn {^^^^^^01f60c} {relieved-face} {relieved} {Relieved~face} {0.6} @@ -81,7 +83,8 @@ \__emoji_def:nnnnn {^^^^^^01f975} {hot-face} {} {Hot~face} {11.0} \__emoji_def:nnnnn {^^^^^^01f976} {cold-face} {} {Cold~face} {11.0} \__emoji_def:nnnnn {^^^^^^01f974} {woozy-face} {} {Woozy~face} {11.0} -\__emoji_def:nnnnn {^^^^^^01f635} {dizzy-face} {} {Dizzy~face} {0.6} +\__emoji_def:nnnnn {^^^^^^01f635} {knocked-out-face} {dizzy-face} {Knocked-out~face} {0.6} +\__emoji_def:nnnnn {^^^^^^01f635^^^^200d^^^^^^01f4ab} {face-with-spiral-eyes} {} {Face~with~spiral~eyes} {13.1} \__emoji_def:nnnnn {^^^^^^01f92f} {exploding-head} {} {Exploding~head} {5.0} \__emoji_subgroup:n {Face-hat} \__emoji_def:nnnnn {^^^^^^01f920} {cowboy-hat-face} {} {Cowboy~hat~face} {3.0} @@ -118,7 +121,7 @@ \__emoji_def:nnnnn {^^^^^^01f971} {yawning-face} {} {Yawning~face} {12.0} \__emoji_subgroup:n {Face-negative} \__emoji_def:nnnnn {^^^^^^01f624} {face-with-steam-from-nose} {triumph} {Face~with~steam~from~nose} {0.6} -\__emoji_def:nnnnn {^^^^^^01f621} {pouting-face} {rage, pout} {Pouting~face} {0.6} +\__emoji_def:nnnnn {^^^^^^01f621} {pouting-face} {pout, rage} {Pouting~face} {0.6} \__emoji_def:nnnnn {^^^^^^01f620} {angry-face} {angry} {Angry~face} {0.6} \__emoji_def:nnnnn {^^^^^^01f92c} {face-with-symbols-on-mouth} {cursing-face} {Face~with~symbols~on~mouth} {5.0} \__emoji_def:nnnnn {^^^^^^01f608} {smiling-face-with-horns} {smiling-imp} {Smiling~face~with~horns} {1.0} @@ -161,6 +164,8 @@ \__emoji_def:nnnnn {^^^^^^01f49f} {heart-decoration} {} {Heart~decoration} {0.6} \__emoji_def:nnnnn {^^^^2763^^^^fe0f} {heart-exclamation} {heavy-heart-exclamation} {Heart~exclamation} {1.0} \__emoji_def:nnnnn {^^^^^^01f494} {broken-heart} {} {Broken~heart} {0.6} +\__emoji_def:nnnnn {^^^^2764^^^^fe0f^^^^200d^^^^^^01f525} {heart-on-fire} {} {Heart~on~fire} {13.1} +\__emoji_def:nnnnn {^^^^2764^^^^fe0f^^^^200d^^^^^^01fa79} {mending-heart} {} {Mending~heart} {13.1} \__emoji_def:nnnnn {^^^^2764^^^^fe0f} {red-heart} {heart} {Red~heart} {0.6} \__emoji_def:nnnnn {^^^^^^01f9e1} {orange-heart} {} {Orange~heart} {5.0} \__emoji_def:nnnnn {^^^^^^01f49b} {yellow-heart} {} {Yellow~heart} {0.6} @@ -315,13 +320,13 @@ \__emoji_def:nnnnn {^^^^^^01f44e^^^^^^01f3fd} {thumbs-down-medium-skin-tone} {} {Thumbs~down:~medium~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f44e^^^^^^01f3fe} {thumbs-down-medium-dark-skin-tone} {} {Thumbs~down:~medium-dark~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f44e^^^^^^01f3ff} {thumbs-down-dark-skin-tone} {} {Thumbs~down:~dark~skin~tone} {1.0} -\__emoji_def:nnnnn {^^^^270a} {raised-fist} {fist-raised, fist} {Raised~fist} {0.6} +\__emoji_def:nnnnn {^^^^270a} {raised-fist} {fist, fist-raised} {Raised~fist} {0.6} \__emoji_def:nnnnn {^^^^270a^^^^^^01f3fb} {raised-fist-light-skin-tone} {} {Raised~fist:~light~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^270a^^^^^^01f3fc} {raised-fist-medium-light-skin-tone} {} {Raised~fist:~medium-light~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^270a^^^^^^01f3fd} {raised-fist-medium-skin-tone} {} {Raised~fist:~medium~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^270a^^^^^^01f3fe} {raised-fist-medium-dark-skin-tone} {} {Raised~fist:~medium-dark~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^270a^^^^^^01f3ff} {raised-fist-dark-skin-tone} {} {Raised~fist:~dark~skin~tone} {1.0} -\__emoji_def:nnnnn {^^^^^^01f44a} {oncoming-fist} {fist-oncoming, facepunch, punch} {Oncoming~fist} {0.6} +\__emoji_def:nnnnn {^^^^^^01f44a} {oncoming-fist} {facepunch, fist-oncoming, punch} {Oncoming~fist} {0.6} \__emoji_def:nnnnn {^^^^^^01f44a^^^^^^01f3fb} {oncoming-fist-light-skin-tone} {} {Oncoming~fist:~light~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f44a^^^^^^01f3fc} {oncoming-fist-medium-light-skin-tone} {} {Oncoming~fist:~medium-light~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f44a^^^^^^01f3fd} {oncoming-fist-medium-skin-tone} {} {Oncoming~fist:~medium~skin~tone} {1.0} @@ -481,12 +486,24 @@ \__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd} {man-medium-skin-tone} {} {Man:~medium~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe} {man-medium-dark-skin-tone} {} {Man:~medium-dark~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff} {man-dark-skin-tone} {} {Man:~dark~skin~tone} {1.0} -\__emoji_def:nnnnn {^^^^^^01f9d4} {man-beard} {bearded-person} {Man:~beard} {5.0} -\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fb} {man-light-skin-tone-beard} {} {Man:~light~skin~tone,~beard} {5.0} -\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fc} {man-medium-light-skin-tone-beard} {} {Man:~medium-light~skin~tone,~beard} {5.0} -\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fd} {man-medium-skin-tone-beard} {} {Man:~medium~skin~tone,~beard} {5.0} -\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fe} {man-medium-dark-skin-tone-beard} {} {Man:~medium-dark~skin~tone,~beard} {5.0} -\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3ff} {man-dark-skin-tone-beard} {} {Man:~dark~skin~tone,~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4} {person-beard} {bearded-person} {Person:~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fb} {person-light-skin-tone-beard} {} {Person:~light~skin~tone,~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fc} {person-medium-light-skin-tone-beard} {} {Person:~medium-light~skin~tone,~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fd} {person-medium-skin-tone-beard} {} {Person:~medium~skin~tone,~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fe} {person-medium-dark-skin-tone-beard} {} {Person:~medium-dark~skin~tone,~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3ff} {person-dark-skin-tone-beard} {} {Person:~dark~skin~tone,~beard} {5.0} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^200d^^^^2642^^^^fe0f} {man-beard} {} {Man:~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fb^^^^200d^^^^2642^^^^fe0f} {man-light-skin-tone-beard} {} {Man:~light~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fc^^^^200d^^^^2642^^^^fe0f} {man-medium-light-skin-tone-beard} {} {Man:~medium-light~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fd^^^^200d^^^^2642^^^^fe0f} {man-medium-skin-tone-beard} {} {Man:~medium~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fe^^^^200d^^^^2642^^^^fe0f} {man-medium-dark-skin-tone-beard} {} {Man:~medium-dark~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3ff^^^^200d^^^^2642^^^^fe0f} {man-dark-skin-tone-beard} {} {Man:~dark~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^200d^^^^2640^^^^fe0f} {woman-beard} {} {Woman:~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fb^^^^200d^^^^2640^^^^fe0f} {woman-light-skin-tone-beard} {} {Woman:~light~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fc^^^^200d^^^^2640^^^^fe0f} {woman-medium-light-skin-tone-beard} {} {Woman:~medium-light~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fd^^^^200d^^^^2640^^^^fe0f} {woman-medium-skin-tone-beard} {} {Woman:~medium~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3fe^^^^200d^^^^2640^^^^fe0f} {woman-medium-dark-skin-tone-beard} {} {Woman:~medium-dark~skin~tone,~beard} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d4^^^^^^01f3ff^^^^200d^^^^2640^^^^fe0f} {woman-dark-skin-tone-beard} {} {Woman:~dark~skin~tone,~beard} {13.1} \__emoji_def:nnnnn {^^^^^^01f468^^^^200d^^^^^^01f9b0} {man-red-hair} {red-haired-man} {Man:~red~hair} {11.0} \__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^^^01f9b0} {man-light-skin-tone-red-hair} {} {Man:~light~skin~tone,~red~hair} {11.0} \__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^^^01f9b0} {man-medium-light-skin-tone-red-hair} {} {Man:~medium-light~skin~tone,~red~hair} {11.0} @@ -638,13 +655,13 @@ \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fd} {person-gesturing-no-medium-skin-tone} {} {Person~gesturing~NO:~medium~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fe} {person-gesturing-no-medium-dark-skin-tone} {} {Person~gesturing~NO:~medium-dark~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3ff} {person-gesturing-no-dark-skin-tone} {} {Person~gesturing~NO:~dark~skin~tone} {1.0} -\__emoji_def:nnnnn {^^^^^^01f645^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no} {no-good-man, ng-man} {Man~gesturing~NO} {4.0} +\__emoji_def:nnnnn {^^^^^^01f645^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no} {ng-man, no-good-man} {Man~gesturing~NO} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fb^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no-light-skin-tone} {} {Man~gesturing~NO:~light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fc^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no-medium-light-skin-tone} {} {Man~gesturing~NO:~medium-light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fd^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no-medium-skin-tone} {} {Man~gesturing~NO:~medium~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fe^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no-medium-dark-skin-tone} {} {Man~gesturing~NO:~medium-dark~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3ff^^^^200d^^^^2642^^^^fe0f} {man-gesturing-no-dark-skin-tone} {} {Man~gesturing~NO:~dark~skin~tone} {4.0} -\__emoji_def:nnnnn {^^^^^^01f645^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-no} {no-good-woman, ng-woman} {Woman~gesturing~NO} {4.0} +\__emoji_def:nnnnn {^^^^^^01f645^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-no} {ng-woman, no-good-woman} {Woman~gesturing~NO} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fb^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-no-light-skin-tone} {} {Woman~gesturing~NO:~light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fc^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-no-medium-light-skin-tone} {} {Woman~gesturing~NO:~medium-light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f645^^^^^^01f3fd^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-no-medium-skin-tone} {} {Woman~gesturing~NO:~medium~skin~tone} {4.0} @@ -668,19 +685,19 @@ \__emoji_def:nnnnn {^^^^^^01f646^^^^^^01f3fd^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-ok-medium-skin-tone} {} {Woman~gesturing~OK:~medium~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f646^^^^^^01f3fe^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-ok-medium-dark-skin-tone} {} {Woman~gesturing~OK:~medium-dark~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f646^^^^^^01f3ff^^^^200d^^^^2640^^^^fe0f} {woman-gesturing-ok-dark-skin-tone} {} {Woman~gesturing~OK:~dark~skin~tone} {4.0} -\__emoji_def:nnnnn {^^^^^^01f481} {person-tipping-hand} {tipping-hand-person, information-desk-person} {Person~tipping~hand} {0.6} +\__emoji_def:nnnnn {^^^^^^01f481} {person-tipping-hand} {information-desk-person, tipping-hand-person} {Person~tipping~hand} {0.6} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fb} {person-tipping-hand-light-skin-tone} {} {Person~tipping~hand:~light~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fc} {person-tipping-hand-medium-light-skin-tone} {} {Person~tipping~hand:~medium-light~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fd} {person-tipping-hand-medium-skin-tone} {} {Person~tipping~hand:~medium~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fe} {person-tipping-hand-medium-dark-skin-tone} {} {Person~tipping~hand:~medium-dark~skin~tone} {1.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3ff} {person-tipping-hand-dark-skin-tone} {} {Person~tipping~hand:~dark~skin~tone} {1.0} -\__emoji_def:nnnnn {^^^^^^01f481^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand} {tipping-hand-man, sassy-man} {Man~tipping~hand} {4.0} +\__emoji_def:nnnnn {^^^^^^01f481^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand} {sassy-man, tipping-hand-man} {Man~tipping~hand} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fb^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand-light-skin-tone} {} {Man~tipping~hand:~light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fc^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand-medium-light-skin-tone} {} {Man~tipping~hand:~medium-light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fd^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand-medium-skin-tone} {} {Man~tipping~hand:~medium~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fe^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand-medium-dark-skin-tone} {} {Man~tipping~hand:~medium-dark~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3ff^^^^200d^^^^2642^^^^fe0f} {man-tipping-hand-dark-skin-tone} {} {Man~tipping~hand:~dark~skin~tone} {4.0} -\__emoji_def:nnnnn {^^^^^^01f481^^^^200d^^^^2640^^^^fe0f} {woman-tipping-hand} {tipping-hand-woman, sassy-woman} {Woman~tipping~hand} {4.0} +\__emoji_def:nnnnn {^^^^^^01f481^^^^200d^^^^2640^^^^fe0f} {woman-tipping-hand} {sassy-woman, tipping-hand-woman} {Woman~tipping~hand} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fb^^^^200d^^^^2640^^^^fe0f} {woman-tipping-hand-light-skin-tone} {} {Woman~tipping~hand:~light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fc^^^^200d^^^^2640^^^^fe0f} {woman-tipping-hand-medium-light-skin-tone} {} {Woman~tipping~hand:~medium-light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^^^01f481^^^^^^01f3fd^^^^200d^^^^2640^^^^fe0f} {woman-tipping-hand-medium-skin-tone} {} {Woman~tipping~hand:~medium~skin~tone} {4.0} @@ -1721,13 +1738,13 @@ \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fd} {person-bouncing-ball-medium-skin-tone} {} {Person~bouncing~ball:~medium~skin~tone} {2.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fe} {person-bouncing-ball-medium-dark-skin-tone} {} {Person~bouncing~ball:~medium-dark~skin~tone} {2.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3ff} {person-bouncing-ball-dark-skin-tone} {} {Person~bouncing~ball:~dark~skin~tone} {2.0} -\__emoji_def:nnnnn {^^^^26f9^^^^fe0f^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball} {bouncing-ball-man, basketball-man} {Man~bouncing~ball} {4.0} +\__emoji_def:nnnnn {^^^^26f9^^^^fe0f^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball} {basketball-man, bouncing-ball-man} {Man~bouncing~ball} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fb^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball-light-skin-tone} {} {Man~bouncing~ball:~light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fc^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball-medium-light-skin-tone} {} {Man~bouncing~ball:~medium-light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fd^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball-medium-skin-tone} {} {Man~bouncing~ball:~medium~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fe^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball-medium-dark-skin-tone} {} {Man~bouncing~ball:~medium-dark~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3ff^^^^200d^^^^2642^^^^fe0f} {man-bouncing-ball-dark-skin-tone} {} {Man~bouncing~ball:~dark~skin~tone} {4.0} -\__emoji_def:nnnnn {^^^^26f9^^^^fe0f^^^^200d^^^^2640^^^^fe0f} {woman-bouncing-ball} {bouncing-ball-woman, basketball-woman} {Woman~bouncing~ball} {4.0} +\__emoji_def:nnnnn {^^^^26f9^^^^fe0f^^^^200d^^^^2640^^^^fe0f} {woman-bouncing-ball} {basketball-woman, bouncing-ball-woman} {Woman~bouncing~ball} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fb^^^^200d^^^^2640^^^^fe0f} {woman-bouncing-ball-light-skin-tone} {} {Woman~bouncing~ball:~light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fc^^^^200d^^^^2640^^^^fe0f} {woman-bouncing-ball-medium-light-skin-tone} {} {Woman~bouncing~ball:~medium-light~skin~tone} {4.0} \__emoji_def:nnnnn {^^^^26f9^^^^^^01f3fd^^^^200d^^^^2640^^^^fe0f} {woman-bouncing-ball-medium-skin-tone} {} {Woman~bouncing~ball:~medium~skin~tone} {4.0} @@ -1999,13 +2016,213 @@ \__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^^^01f91d^^^^200d^^^^^^01f468^^^^^^01f3fe} {men-holding-hands-dark-skin-tone-medium-dark-skin-tone} {} {Men~holding~hands:~dark~skin~tone,~medium-dark~skin~tone} {12.0} \__emoji_def:nnnnn {^^^^^^01f46c^^^^^^01f3ff} {men-holding-hands-dark-skin-tone} {} {Men~holding~hands:~dark~skin~tone} {12.0} \__emoji_def:nnnnn {^^^^^^01f48f} {kiss} {couplekiss} {Kiss} {0.6} +\__emoji_def:nnnnn {^^^^^^01f48f^^^^^^01f3fb} {kiss-light-skin-tone} {} {Kiss:~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f48f^^^^^^01f3fc} {kiss-medium-light-skin-tone} {} {Kiss:~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f48f^^^^^^01f3fd} {kiss-medium-skin-tone} {} {Kiss:~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f48f^^^^^^01f3fe} {kiss-medium-dark-skin-tone} {} {Kiss:~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f48f^^^^^^01f3ff} {kiss-dark-skin-tone} {} {Kiss:~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {kiss-person-person-light-skin-tone-medium-light-skin-tone} {} {Kiss:~person,~person,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {kiss-person-person-light-skin-tone-medium-skin-tone} {} {Kiss:~person,~person,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {kiss-person-person-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~person,~person,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {kiss-person-person-light-skin-tone-dark-skin-tone} {} {Kiss:~person,~person,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {kiss-person-person-medium-light-skin-tone-light-skin-tone} {} {Kiss:~person,~person,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {kiss-person-person-medium-light-skin-tone-medium-skin-tone} {} {Kiss:~person,~person,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {kiss-person-person-medium-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~person,~person,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {kiss-person-person-medium-light-skin-tone-dark-skin-tone} {} {Kiss:~person,~person,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {kiss-person-person-medium-skin-tone-light-skin-tone} {} {Kiss:~person,~person,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {kiss-person-person-medium-skin-tone-medium-light-skin-tone} {} {Kiss:~person,~person,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {kiss-person-person-medium-skin-tone-medium-dark-skin-tone} {} {Kiss:~person,~person,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {kiss-person-person-medium-skin-tone-dark-skin-tone} {} {Kiss:~person,~person,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {kiss-person-person-medium-dark-skin-tone-light-skin-tone} {} {Kiss:~person,~person,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {kiss-person-person-medium-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~person,~person,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {kiss-person-person-medium-dark-skin-tone-medium-skin-tone} {} {Kiss:~person,~person,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {kiss-person-person-medium-dark-skin-tone-dark-skin-tone} {} {Kiss:~person,~person,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {kiss-person-person-dark-skin-tone-light-skin-tone} {} {Kiss:~person,~person,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {kiss-person-person-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~person,~person,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {kiss-person-person-dark-skin-tone-medium-skin-tone} {} {Kiss:~person,~person,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {kiss-person-person-dark-skin-tone-medium-dark-skin-tone} {} {Kiss:~person,~person,~dark~skin~tone,~medium-dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f469^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468} {kiss-woman-man} {couplekiss-man-woman} {Kiss:~woman,~man} {2.0} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-woman-man-light-skin-tone} {} {Kiss:~woman,~man,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-woman-man-light-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~man,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-woman-man-light-skin-tone-medium-skin-tone} {} {Kiss:~woman,~man,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-woman-man-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~man,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-woman-man-light-skin-tone-dark-skin-tone} {} {Kiss:~woman,~man,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-woman-man-medium-light-skin-tone-light-skin-tone} {} {Kiss:~woman,~man,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-woman-man-medium-light-skin-tone} {} {Kiss:~woman,~man,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-woman-man-medium-light-skin-tone-medium-skin-tone} {} {Kiss:~woman,~man,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-woman-man-medium-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~man,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-woman-man-medium-light-skin-tone-dark-skin-tone} {} {Kiss:~woman,~man,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-woman-man-medium-skin-tone-light-skin-tone} {} {Kiss:~woman,~man,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-woman-man-medium-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~man,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-woman-man-medium-skin-tone} {} {Kiss:~woman,~man,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-woman-man-medium-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~man,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-woman-man-medium-skin-tone-dark-skin-tone} {} {Kiss:~woman,~man,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-woman-man-medium-dark-skin-tone-light-skin-tone} {} {Kiss:~woman,~man,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-woman-man-medium-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~man,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-woman-man-medium-dark-skin-tone-medium-skin-tone} {} {Kiss:~woman,~man,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-woman-man-medium-dark-skin-tone} {} {Kiss:~woman,~man,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-woman-man-medium-dark-skin-tone-dark-skin-tone} {} {Kiss:~woman,~man,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-woman-man-dark-skin-tone-light-skin-tone} {} {Kiss:~woman,~man,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-woman-man-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~man,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-woman-man-dark-skin-tone-medium-skin-tone} {} {Kiss:~woman,~man,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-woman-man-dark-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~man,~dark~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-woman-man-dark-skin-tone} {} {Kiss:~woman,~man,~dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f468^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468} {kiss-man-man} {couplekiss-man-man} {Kiss:~man,~man} {2.0} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-man-man-light-skin-tone} {} {Kiss:~man,~man,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-man-man-light-skin-tone-medium-light-skin-tone} {} {Kiss:~man,~man,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-man-man-light-skin-tone-medium-skin-tone} {} {Kiss:~man,~man,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-man-man-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~man,~man,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-man-man-light-skin-tone-dark-skin-tone} {} {Kiss:~man,~man,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-man-man-medium-light-skin-tone-light-skin-tone} {} {Kiss:~man,~man,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-man-man-medium-light-skin-tone} {} {Kiss:~man,~man,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-man-man-medium-light-skin-tone-medium-skin-tone} {} {Kiss:~man,~man,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-man-man-medium-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~man,~man,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-man-man-medium-light-skin-tone-dark-skin-tone} {} {Kiss:~man,~man,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-man-man-medium-skin-tone-light-skin-tone} {} {Kiss:~man,~man,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-man-man-medium-skin-tone-medium-light-skin-tone} {} {Kiss:~man,~man,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-man-man-medium-skin-tone} {} {Kiss:~man,~man,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-man-man-medium-skin-tone-medium-dark-skin-tone} {} {Kiss:~man,~man,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-man-man-medium-skin-tone-dark-skin-tone} {} {Kiss:~man,~man,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-man-man-medium-dark-skin-tone-light-skin-tone} {} {Kiss:~man,~man,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-man-man-medium-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~man,~man,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-man-man-medium-dark-skin-tone-medium-skin-tone} {} {Kiss:~man,~man,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-man-man-medium-dark-skin-tone} {} {Kiss:~man,~man,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-man-man-medium-dark-skin-tone-dark-skin-tone} {} {Kiss:~man,~man,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fb} {kiss-man-man-dark-skin-tone-light-skin-tone} {} {Kiss:~man,~man,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fc} {kiss-man-man-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~man,~man,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fd} {kiss-man-man-dark-skin-tone-medium-skin-tone} {} {Kiss:~man,~man,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3fe} {kiss-man-man-dark-skin-tone-medium-dark-skin-tone} {} {Kiss:~man,~man,~dark~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f468^^^^^^01f3ff} {kiss-man-man-dark-skin-tone} {} {Kiss:~man,~man,~dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f469^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469} {kiss-woman-woman} {couplekiss-woman-woman} {Kiss:~woman,~woman} {2.0} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fb} {kiss-woman-woman-light-skin-tone} {} {Kiss:~woman,~woman,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fc} {kiss-woman-woman-light-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~woman,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fd} {kiss-woman-woman-light-skin-tone-medium-skin-tone} {} {Kiss:~woman,~woman,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fe} {kiss-woman-woman-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~woman,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3ff} {kiss-woman-woman-light-skin-tone-dark-skin-tone} {} {Kiss:~woman,~woman,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fb} {kiss-woman-woman-medium-light-skin-tone-light-skin-tone} {} {Kiss:~woman,~woman,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fc} {kiss-woman-woman-medium-light-skin-tone} {} {Kiss:~woman,~woman,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fd} {kiss-woman-woman-medium-light-skin-tone-medium-skin-tone} {} {Kiss:~woman,~woman,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fe} {kiss-woman-woman-medium-light-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~woman,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3ff} {kiss-woman-woman-medium-light-skin-tone-dark-skin-tone} {} {Kiss:~woman,~woman,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fb} {kiss-woman-woman-medium-skin-tone-light-skin-tone} {} {Kiss:~woman,~woman,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fc} {kiss-woman-woman-medium-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~woman,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fd} {kiss-woman-woman-medium-skin-tone} {} {Kiss:~woman,~woman,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fe} {kiss-woman-woman-medium-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~woman,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3ff} {kiss-woman-woman-medium-skin-tone-dark-skin-tone} {} {Kiss:~woman,~woman,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fb} {kiss-woman-woman-medium-dark-skin-tone-light-skin-tone} {} {Kiss:~woman,~woman,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fc} {kiss-woman-woman-medium-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~woman,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fd} {kiss-woman-woman-medium-dark-skin-tone-medium-skin-tone} {} {Kiss:~woman,~woman,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fe} {kiss-woman-woman-medium-dark-skin-tone} {} {Kiss:~woman,~woman,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3ff} {kiss-woman-woman-medium-dark-skin-tone-dark-skin-tone} {} {Kiss:~woman,~woman,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fb} {kiss-woman-woman-dark-skin-tone-light-skin-tone} {} {Kiss:~woman,~woman,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fc} {kiss-woman-woman-dark-skin-tone-medium-light-skin-tone} {} {Kiss:~woman,~woman,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fd} {kiss-woman-woman-dark-skin-tone-medium-skin-tone} {} {Kiss:~woman,~woman,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3fe} {kiss-woman-woman-dark-skin-tone-medium-dark-skin-tone} {} {Kiss:~woman,~woman,~dark~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f48b^^^^200d^^^^^^01f469^^^^^^01f3ff} {kiss-woman-woman-dark-skin-tone} {} {Kiss:~woman,~woman,~dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f491} {couple-with-heart} {} {Couple~with~heart} {0.6} +\__emoji_def:nnnnn {^^^^^^01f491^^^^^^01f3fb} {couple-with-heart-light-skin-tone} {} {Couple~with~heart:~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f491^^^^^^01f3fc} {couple-with-heart-medium-light-skin-tone} {} {Couple~with~heart:~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f491^^^^^^01f3fd} {couple-with-heart-medium-skin-tone} {} {Couple~with~heart:~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f491^^^^^^01f3fe} {couple-with-heart-medium-dark-skin-tone} {} {Couple~with~heart:~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f491^^^^^^01f3ff} {couple-with-heart-dark-skin-tone} {} {Couple~with~heart:~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {couple-with-heart-person-person-light-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~person,~person,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {couple-with-heart-person-person-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~person,~person,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {couple-with-heart-person-person-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~person,~person,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {couple-with-heart-person-person-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~person,~person,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {couple-with-heart-person-person-medium-light-skin-tone-light-skin-tone} {} {Couple~with~heart:~person,~person,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {couple-with-heart-person-person-medium-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~person,~person,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {couple-with-heart-person-person-medium-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~person,~person,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {couple-with-heart-person-person-medium-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~person,~person,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {couple-with-heart-person-person-medium-skin-tone-light-skin-tone} {} {Couple~with~heart:~person,~person,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {couple-with-heart-person-person-medium-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~person,~person,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {couple-with-heart-person-person-medium-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~person,~person,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {couple-with-heart-person-person-medium-skin-tone-dark-skin-tone} {} {Couple~with~heart:~person,~person,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {couple-with-heart-person-person-medium-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~person,~person,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {couple-with-heart-person-person-medium-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~person,~person,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {couple-with-heart-person-person-medium-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~person,~person,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3ff} {couple-with-heart-person-person-medium-dark-skin-tone-dark-skin-tone} {} {Couple~with~heart:~person,~person,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fb} {couple-with-heart-person-person-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~person,~person,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fc} {couple-with-heart-person-person-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~person,~person,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fd} {couple-with-heart-person-person-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~person,~person,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f9d1^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f9d1^^^^^^01f3fe} {couple-with-heart-person-person-dark-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~person,~person,~dark~skin~tone,~medium-dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f469^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468} {couple-with-heart-woman-man} {} {Couple~with~heart:~woman,~man} {2.0} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-woman-man-light-skin-tone} {} {Couple~with~heart:~woman,~man,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-woman-man-light-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~man,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-woman-man-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~man,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-woman-man-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-woman-man-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-woman-man-medium-light-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-woman-man-medium-light-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-woman-man-medium-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-woman-man-medium-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-woman-man-medium-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-woman-man-medium-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~man,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-woman-man-medium-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~man,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-woman-man-medium-skin-tone} {} {Couple~with~heart:~woman,~man,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-woman-man-medium-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-woman-man-medium-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-woman-man-medium-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-woman-man-medium-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-woman-man-medium-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-woman-man-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-woman-man-medium-dark-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-woman-man-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~man,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-woman-man-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~man,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-woman-man-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~man,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-woman-man-dark-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~dark~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-woman-man-dark-skin-tone} {} {Couple~with~heart:~woman,~man,~dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f468^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468} {couple-with-heart-man-man} {} {Couple~with~heart:~man,~man} {2.0} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-man-man-light-skin-tone} {} {Couple~with~heart:~man,~man,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-man-man-light-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~man,~man,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-man-man-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~man,~man,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-man-man-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~man,~man,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-man-man-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~man,~man,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-man-man-medium-light-skin-tone-light-skin-tone} {} {Couple~with~heart:~man,~man,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-man-man-medium-light-skin-tone} {} {Couple~with~heart:~man,~man,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-man-man-medium-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~man,~man,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-man-man-medium-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~man,~man,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-man-man-medium-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~man,~man,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-man-man-medium-skin-tone-light-skin-tone} {} {Couple~with~heart:~man,~man,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-man-man-medium-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~man,~man,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-man-man-medium-skin-tone} {} {Couple~with~heart:~man,~man,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-man-man-medium-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~man,~man,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-man-man-medium-skin-tone-dark-skin-tone} {} {Couple~with~heart:~man,~man,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-man-man-medium-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~man,~man,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-man-man-medium-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~man,~man,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-man-man-medium-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~man,~man,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-man-man-medium-dark-skin-tone} {} {Couple~with~heart:~man,~man,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-man-man-medium-dark-skin-tone-dark-skin-tone} {} {Couple~with~heart:~man,~man,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fb} {couple-with-heart-man-man-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~man,~man,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fc} {couple-with-heart-man-man-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~man,~man,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fd} {couple-with-heart-man-man-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~man,~man,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3fe} {couple-with-heart-man-man-dark-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~man,~man,~dark~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f468^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f468^^^^^^01f3ff} {couple-with-heart-man-man-dark-skin-tone} {} {Couple~with~heart:~man,~man,~dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f469^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469} {couple-with-heart-woman-woman} {} {Couple~with~heart:~woman,~woman} {2.0} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fb} {couple-with-heart-woman-woman-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fc} {couple-with-heart-woman-woman-light-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~light~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fd} {couple-with-heart-woman-woman-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~woman,~light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fe} {couple-with-heart-woman-woman-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fb^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3ff} {couple-with-heart-woman-woman-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fb} {couple-with-heart-woman-woman-medium-light-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-light~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fc} {couple-with-heart-woman-woman-medium-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fd} {couple-with-heart-woman-woman-medium-light-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-light~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fe} {couple-with-heart-woman-woman-medium-light-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-light~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fc^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3ff} {couple-with-heart-woman-woman-medium-light-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-light~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fb} {couple-with-heart-woman-woman-medium-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fc} {couple-with-heart-woman-woman-medium-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fd} {couple-with-heart-woman-woman-medium-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fe} {couple-with-heart-woman-woman-medium-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fd^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3ff} {couple-with-heart-woman-woman-medium-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fb} {couple-with-heart-woman-woman-medium-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fc} {couple-with-heart-woman-woman-medium-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fd} {couple-with-heart-woman-woman-medium-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fe} {couple-with-heart-woman-woman-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3fe^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3ff} {couple-with-heart-woman-woman-medium-dark-skin-tone-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~medium-dark~skin~tone,~dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fb} {couple-with-heart-woman-woman-dark-skin-tone-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~dark~skin~tone,~light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fc} {couple-with-heart-woman-woman-dark-skin-tone-medium-light-skin-tone} {} {Couple~with~heart:~woman,~woman,~dark~skin~tone,~medium-light~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fd} {couple-with-heart-woman-woman-dark-skin-tone-medium-skin-tone} {} {Couple~with~heart:~woman,~woman,~dark~skin~tone,~medium~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3fe} {couple-with-heart-woman-woman-dark-skin-tone-medium-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~dark~skin~tone,~medium-dark~skin~tone} {13.1} +\__emoji_def:nnnnn {^^^^^^01f469^^^^^^01f3ff^^^^200d^^^^2764^^^^fe0f^^^^200d^^^^^^01f469^^^^^^01f3ff} {couple-with-heart-woman-woman-dark-skin-tone} {} {Couple~with~heart:~woman,~woman,~dark~skin~tone} {13.1} \__emoji_def:nnnnn {^^^^^^01f46a} {family} {} {Family} {0.6} \__emoji_def:nnnnn {^^^^^^01f468^^^^200d^^^^^^01f469^^^^200d^^^^^^01f466} {family-man-woman-boy} {} {Family:~man,~woman,~boy} {2.0} \__emoji_def:nnnnn {^^^^^^01f468^^^^200d^^^^^^01f469^^^^200d^^^^^^01f467} {family-man-woman-girl} {} {Family:~man,~woman,~girl} {2.0} @@ -2204,7 +2421,7 @@ \__emoji_def:nnnnn {^^^^^^01f347} {grapes} {} {Grapes} {0.6} \__emoji_def:nnnnn {^^^^^^01f348} {melon} {} {Melon} {0.6} \__emoji_def:nnnnn {^^^^^^01f349} {watermelon} {} {Watermelon} {0.6} -\__emoji_def:nnnnn {^^^^^^01f34a} {tangerine} {orange, mandarin} {Tangerine} {0.6} +\__emoji_def:nnnnn {^^^^^^01f34a} {tangerine} {mandarin, orange} {Tangerine} {0.6} \__emoji_def:nnnnn {^^^^^^01f34b} {lemon} {} {Lemon} {1.0} \__emoji_def:nnnnn {^^^^^^01f34c} {banana} {} {Banana} {0.6} \__emoji_def:nnnnn {^^^^^^01f34d} {pineapple} {} {Pineapple} {0.6} @@ -2623,7 +2840,7 @@ \__emoji_def:nnnnn {^^^^^^01f6f7} {sled} {} {Sled} {5.0} \__emoji_def:nnnnn {^^^^^^01f94c} {curling-stone} {} {Curling~stone} {5.0} \__emoji_subgroup:n {Game} -\__emoji_def:nnnnn {^^^^^^01f3af} {direct-hit} {dart} {Direct~hit} {0.6} +\__emoji_def:nnnnn {^^^^^^01f3af} {bullseye} {dart} {Bullseye} {0.6} \__emoji_def:nnnnn {^^^^^^01fa80} {yo-yo} {} {Yo-yo} {12.0} \__emoji_def:nnnnn {^^^^^^01fa81} {kite} {} {Kite} {12.0} \__emoji_def:nnnnn {^^^^^^01f3b1} {pool-8-ball} {8ball} {Pool~8~ball} {0.6} @@ -2636,7 +2853,7 @@ \__emoji_def:nnnnn {^^^^^^01f3b2} {game-die} {} {Game~die} {0.6} \__emoji_def:nnnnn {^^^^^^01f9e9} {puzzle-piece} {jigsaw} {Puzzle~piece} {11.0} \__emoji_def:nnnnn {^^^^^^01f9f8} {teddy-bear} {} {Teddy~bear} {11.0} -\__emoji_def:nnnnn {^^^^^^01fa85} {pinata} {pi-ata} {Piñata} {13.0} +\__emoji_def:nnnnn {^^^^^^01fa85} {pinata} {} {Piñata} {13.0} \__emoji_def:nnnnn {^^^^^^01fa86} {nesting-dolls} {} {Nesting~dolls} {13.0} \__emoji_def:nnnnn {^^^^2660^^^^fe0f} {spade-suit} {spades} {Spade~suit} {0.6} \__emoji_def:nnnnn {^^^^2665^^^^fe0f} {heart-suit} {hearts} {Heart~suit} {0.6} @@ -2799,8 +3016,8 @@ \__emoji_def:nnnnn {^^^^^^01f9fe} {receipt} {} {Receipt} {11.0} \__emoji_def:nnnnn {^^^^^^01f4b9} {chart-increasing-with-yen} {chart} {Chart~increasing~with~yen} {0.6} \__emoji_subgroup:n {Mail} -\__emoji_def:nnnnn {^^^^2709^^^^fe0f} {envelope} {email} {Envelope} {0.6} -\__emoji_def:nnnnn {^^^^^^01f4e7} {e-mail} {} {E-mail} {0.6} +\__emoji_def:nnnnn {^^^^2709^^^^fe0f} {envelope} {} {Envelope} {0.6} +\__emoji_def:nnnnn {^^^^^^01f4e7} {e-mail} {email} {E-mail} {0.6} \__emoji_def:nnnnn {^^^^^^01f4e8} {incoming-envelope} {} {Incoming~envelope} {0.6} \__emoji_def:nnnnn {^^^^^^01f4e9} {envelope-with-arrow} {} {Envelope~with~arrow} {0.6} \__emoji_def:nnnnn {^^^^^^01f4e4} {outbox-tray} {} {Outbox~tray} {0.6} @@ -2859,7 +3076,7 @@ \__emoji_def:nnnnn {^^^^^^01f6e0^^^^fe0f} {hammer-and-wrench} {} {Hammer~and~wrench} {0.7} \__emoji_def:nnnnn {^^^^^^01f5e1^^^^fe0f} {dagger} {} {Dagger} {0.7} \__emoji_def:nnnnn {^^^^2694^^^^fe0f} {crossed-swords} {} {Crossed~swords} {1.0} -\__emoji_def:nnnnn {^^^^^^01f52b} {pistol} {gun} {Pistol} {0.6} +\__emoji_def:nnnnn {^^^^^^01f52b} {water-pistol} {gun} {Water~pistol} {0.6} \__emoji_def:nnnnn {^^^^^^01fa83} {boomerang} {} {Boomerang} {13.0} \__emoji_def:nnnnn {^^^^^^01f3f9} {bow-and-arrow} {} {Bow~and~arrow} {1.0} \__emoji_def:nnnnn {^^^^^^01f6e1^^^^fe0f} {shield} {} {Shield} {0.7} @@ -3039,10 +3256,10 @@ \__emoji_subgroup:n {Punctuation} \__emoji_def:nnnnn {^^^^203c^^^^fe0f} {double-exclamation-mark} {bangbang} {Double~exclamation~mark} {0.6} \__emoji_def:nnnnn {^^^^2049^^^^fe0f} {exclamation-question-mark} {interrobang} {Exclamation~question~mark} {0.6} -\__emoji_def:nnnnn {^^^^2753} {question-mark} {question} {Question~mark} {0.6} +\__emoji_def:nnnnn {^^^^2753} {red-question-mark} {question} {Red~question~mark} {0.6} \__emoji_def:nnnnn {^^^^2754} {white-question-mark} {grey-question} {White~question~mark} {0.6} \__emoji_def:nnnnn {^^^^2755} {white-exclamation-mark} {grey-exclamation} {White~exclamation~mark} {0.6} -\__emoji_def:nnnnn {^^^^2757} {exclamation-mark} {exclamation, heavy-exclamation-mark} {Exclamation~mark} {0.6} +\__emoji_def:nnnnn {^^^^2757} {red-exclamation-mark} {exclamation, heavy-exclamation-mark} {Red~exclamation~mark} {0.6} \__emoji_def:nnnnn {^^^^3030^^^^fe0f} {wavy-dash} {} {Wavy~dash} {0.6} \__emoji_subgroup:n {Currency} \__emoji_def:nnnnn {^^^^^^01f4b1} {currency-exchange} {} {Currency~exchange} {0.6} diff --git a/macros/luatex/latex/emoji/emoji.sty b/macros/luatex/latex/emoji/emoji.sty index f010705cb4..56f3a3c0a8 100644 --- a/macros/luatex/latex/emoji/emoji.sty +++ b/macros/luatex/latex/emoji/emoji.sty @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2020 by Xiangdong Zeng <xdzeng96@gmail.com> +%% Copyright (C) 2020, 2021 by Xiangdong Zeng <xdzeng96@gmail.com> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -16,7 +16,7 @@ %% The Current Maintainer of this work is Xiangdong Zeng. %% \NeedsTeXFormat{LaTeX2e}[2020/02/02] -\ProvidesExplPackage{emoji}{2020/06/27}{0.2.1}{Emoji support in (Lua)LaTeX} +\ProvidesExplPackage{emoji}{2021/07/17}{0.2.2}{Emoji support in (Lua)LaTeX} \msg_new:nnn { emoji } { require-luatex } { The~'emoji'~package~requires~LuaTeX. } @@ -25,13 +25,20 @@ \RequirePackage { fontspec } -% Set emoji font. Internally use fontspec's `\setfontface`. -% #1: option -% #2: name +% Set emoji font. When used in preamble, it will be delayed until the +% `\AtBeginDocument` hook. +% #1: name +% #2: option \NewDocumentCommand \setemojifont { m o } { \__emoji_if_preamble:TF - { \AtBeginDocument } + { + % The actual `\emoji_font:` command will be defined in the + % `\AtBeginDocument` hook, but it will precede our checking. + % So we need to "pretend" that it's defined. + \cs_set_eq:NN \emoji_font: \prg_do_nothing: + \AtBeginDocument + } { \use:n } { \IfValueTF {#2} @@ -49,6 +56,8 @@ } % Define `\emoji_font:` when used. +% #1: name +% #2: option \cs_new_protected:Npn \emoji_set_font:nn #1#2 { \setfontface \emoji_font: {#1} [ Renderer = HarfBuzz, #2 ] } \cs_new_protected:Npn \emoji_set_font:n #1 @@ -81,14 +90,6 @@ You~should~use~"\setemojifont"~to~set~a~font. } -% If the user doesn't set emoji font explicitly, then detect and set default -% fonts automatically. -\AtBeginDocument - { - \cs_if_exist_use:NF \emoji_font: - { \__emoji_detect_font: } - } - % The main command for use emoji. % #1: name \NewDocumentCommand \emoji { m } @@ -117,10 +118,12 @@ \cs_new_protected:Npn \emoji_print:n #1 { \group_begin: + \exp_args:Nv \__emoji_ltj_set_range:n { c__emoji_ #1 _tl } \emoji_font: \tl_use:c { c__emoji_ #1 _tl } \group_end: } +\cs_new_eq:NN \__emoji_ltj_set_range:n \use_none:n % Define new emoji. They are stored in tl constants internally. % For special characters (#), we first change their catcode to 12 (other), @@ -151,14 +154,17 @@ \cs_set:Npn \__emoji_subgroup:n #1 {} % Input the emoji definition file. -% This file is generated by a Python scripts from Unicode and GitHub data. +% This file is generated by a Python script from Unicode and GitHub data. \file_input:n { emoji-table.def } -% Compatibility with hyperref. -% `\emoji{...}` will be turned to a normal character sequence. +\cs_new_protected:Npn \__emoji_if_package_loaded:nT #1#2 + { \@ifpackageloaded {#1} {#2} {} } + \AtBeginDocument { - \@ifpackageloaded { hyperref } + % Compatibility with hyperref. + % `\emoji{...}` will be turned to a normal character sequence. + \__emoji_if_package_loaded:nT { hyperref } { \pdfstringdefDisableCommands { @@ -166,7 +172,29 @@ { \tl_use:c { c__emoji_ #1 _tl } } } } - {} + + % Compatibility with luatexja. + % Emoji should be "ALchar" so that the correct font can be used. + \__emoji_if_package_loaded:nT { luatexja } + { + \cs_set_protected:Npn \__emoji_ltj_set_range:n #1 + { + \tl_set:Nx \l_tmpa_tl + { \tl_map_function:nN {#1} \__emoji_encode_from_char:n } + % Range 4 means "characters usually not in Japanese fonts". + % `\ltjdefcharrange` does not accespt empty value, so we need to + % remove extra comma. + \exp_args:Nnx \ltjdefcharrange {4} { \tl_tail:N \l_tmpa_tl } + } + % 0-7F are always treated as an ALchar and can't be customized. + \cs_new:Npn \__emoji_encode_from_char:n #1 + { \int_compare:nNnF {`#1} < {"80} {,`#1} } + } + + % If the user doesn't set emoji font explicitly, then detect and set default + % fonts automatically. + \cs_if_exist:NF \emoji_font: + { \__emoji_detect_font: } } \endinput |