從字體中取得彩色字符

從字體中取得彩色字符

撲克牌(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 中,因此您應該能夠在沒有路徑的情況下載入它。但正如解釋得很好在背頁,您可能想嘗試 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 數據

相關內容