我想在我正在写的文本中添加(Matrix)“红色药丸”字形。更困难和痛苦的是,我的文档最初来自 pandoc,后来变成了 beamer、powerpoint 和 slidy。
通常,对于乳胶中的红色药丸,我只需创建一个包含药丸图像的小型 png 文件,将其绑定到宏,重复使用它,然后就完成了。不幸的是,powerpoint 似乎不支持内联图形(仅显示图形;你能相信吗?),所以我需要使用药丸字形。
我的困惑很早就开始了。无论我在终端中选择哪种字体,我的 macos 终端(和文本编辑)都显示相同的 unicode 药丸。它从某个地方拉出了一个药丸(我也不太喜欢它,因为它在 macos 上是双色的,但至少它看起来像药丸!)---我不知道从哪里来。我在字体簿应用程序中四处寻找,看看能否找到像药丸一样的表情符号 unicode 的地方,但它们似乎不在那里。
好的,但这些不是 latex 问题。当我尝试通过 lualatex 运行生成的 beamer 源时,日志通知我
Missing character: There is no
答案1
使用当前的 texsystem,您可以使用 albatross 来查询字体。在终端上调用
albatross U+1F48A
它应该会给出一个字体列表。在我的系统(Windows)上,它为您的字形找到了以下字体。其中一些可以着色,这里的技术细节可能有所不同:一些需要 harfbuzz 渲染器,其他可以使用 lua 代码着色。但我不知道 pandoc 和 powerpoint 如何处理这些字体。
扩展字体以添加字形并非易事,而且许可证是否允许也不清楚。
\documentclass{article}
\usepackage{fontspec}
\directlua{fonts.handlers.otf.registerpalette("demo", {
{ g = 0 },
{ g = 0 },
{ r = 0 },
{ r = 0, b= 1, g= 1},
}
)}
\begin{document}
{\fontspec{Segoe UI Symbol} ^^^^^^01f48a}
{\fontspec{Segoe UI Emoji}^^^^^^01f48a}
{\fontspec{file:seguiemj.ttf:mode=node;colr=yes;}^^^^^^01f48a}
{\fontspec{file:seguiemj.ttf:mode=node;colr=demo;}^^^^^^01f48a}
{\fontspec{EmojiOne Color}^^^^^^01f48a}
{\fontspec{Noto Color Emoji}[Renderer=Harfbuzz]^^^^^^01f48a}
{\fontspec{Noto Emoji}^^^^^^01f48a}
{\fontspec{Twemoji Mozilla}[Renderer=Harfbuzz]^^^^^^01f48a}
\end{document}