从字体中获取彩色字符

从字体中获取彩色字符

扑克牌 (Unicode 块)我发现


在此处输入图片描述


Chrome 浏览器说这应该是字体 TwemojiMozilla.ttf

我可以在我的 TeXLive 中找到此字体,c:/texlive/2022/texmf-dist/fonts/truetype/public/twemoji-colr/
也可以在 CTAN 上找到该字体:https://ctan.org/texarchive/fonts/twemoji-colr

为什么下面的代码不起作用?

在此处输入图片描述

我如何获得它彩色字形

% TeX Program = lualatex
% alternativ:
% arara: lualatex
\documentclass{article}  

\usepackage{fontspec}  

\newfontfamily\myfontA{TwemojiMozilla.ttf}[
Path="c:/texlive/2022/texmf-dist/fonts/truetype/public/twemoji-colr/"
]

\newfontfamily\myfontB{TwemojiMozilla.ttf}

\begin{document}
\section{With Path}
{\myfontA\char"1F0CF ABCDEFG}

\section{Without Path}
{\myfontB\char"1F0CF ABCDEFG}
\end{document}

答案1

由于字体包含在 TeXLive 中,因此您应该能够在没有路径的情况下加载它。但正如解释的那样在 Overleaf,您可能想尝试 Harfbuzz 渲染器(带有 LuaLaTeX)。请注意,该字体不包含拉丁字母的字符。

\documentclass{article}
\usepackage{fontspec}  

\newfontfamily\myfontA[Renderer=HarfBuzz]{TwemojiMozilla.ttf}

\begin{document}
{\myfontA\char"1F0CF} ABCDEFG

\bigskip

{\Huge\myfontA\char"1F0CF}
\end{document}

在此处输入图片描述

但要注意,上面的链接也很好地解释了彩色字体有不同的方法,两种是基于矢量的(一种使用 SVG [实际上是 SVG␣,带有尾随空格] 表,一种使用 COLR/CPAL 表),两种是基于光栅的(一种使用 CBDT/CBLC 表,一种使用 sbix 表)。

如何访问这些字体中的字形取决于使用的技术。使用 Harfbuzz 渲染器,您至少应该能够使用利用 COLR/CPAL 和 CBDT/CBLC 表的字体。

对于 SVG 字体,请替换Renderer=HarfbuzzRawFeature={+svg}

我目前不确定如何使用利用 sbix 表的字体,因为存储在那里的数据可能有各种格式,但据我所知Harfbuzz 支持 PNG 数据

相关内容