我想使用℔在 LuaLaTeX 中。不幸的是,似乎最常用的字体和中国2e从 1997 年开始 - 我发现的唯一一个据称支持这个符号的软件包 - 甚至在最新的 TeXlive 发行版中都不可用。
\documentclass{scrartcl}
\usepackage{microtype}
\begin{document}
L B bar = U+2114 = ℔
\end{document}
当TeX Gyre Bonum
通过 用作主字体时fontspec
,出现以下错误:
Gives: Missing character: There is no ℔ (U+2114) in font TeXGyreBonum:mode=node;language=dflt;+tlig;!
现在我只剩下两个选择(我想,如果还有更多,请纠正我):
- 找到一种方法来利用已有 23 年历史的软件包 (china2e)
- 找到支持该精确符号的字体
我怎样才能实现这两个目标(但我倾向于第二种选择)?
答案1
答案2
您可以从包含该符号的任何字体中取出符号。一种不改变主字体的好方法是使用 将字符设置为活动字符\newunicodechar
。
\documentclass{article}
\tracinglostchars=2
\usepackage{fontspec}
\usepackage{newcomputermodern}
\usepackage{newunicodechar}
\newfontfamily\symbolfont{Junicode}[Scale=MatchUppercase]
\newcommand\lbbar{{\symbolfont\symbol{"2114}}}
\newunicodechar{^^^^2114}{\lbbar} % ℔
\begin{document}
lb ℔
\end{document}
包含此字形的免费字体包括:Cardo、Code2000、DejaVu Sans、Everson Mono、FreeSerif、FreeSans、Junicode、Linux Libertine、Noto Sans、Noto Serif 和 Symbola。Noto 字体特别有用,因为它们有多种宽度和粗细,因此很可能至少有一种字体与您的其他字体相匹配。
答案3
LuaTeX 中可以使用 fontspec 的 fallback 机制将多种字体合并在一起。当缺少某个字符时,它会自动在 中搜索该字符Noto Sans
,其中存在该字符。您还可以设置更多 fallback 字体。这样,您就不必更改文档的主字体了。
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage{microtype}
\directlua{luaotfload.add_fallback("genericfallback",
{
"NotoSans:mode=node;"
})
}
\setmainfont{TeX Gyre Bonum}[RawFeature={fallback=genericfallback}]
\begin{document}
the brown fox jumped over the lazy dog ℔
\end{document}