当尝试使用字体 Fira Sans 中的希腊符号时unicode-math
,我注意到运行lualatex
我的文档会占用大量 RAM。我将问题归结为一个最小的工作示例:
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{latinmodern-math.otf}
% each of the following \setmathfont lines adds around 1GB of used RAM
\setmathfont{FiraSans-Regular.otf}[range=up/{greek,Greek}]
\setmathfont{FiraSans-Italic.otf}[range=it/{greek,Greek}]
\setmathfont{FiraSans-Bold.otf}[range=bfup/{greek,Greek}]
\setmathfont{FiraSans-BoldItalic.otf}[range=bfit/{greek,Greek}]
\usepackage{xfrac}
\begin{document}
$\sfrac{1}{2}$
\end{document}
运行这个程序lualatex
会占用大约 4GB 内存(而且需要很长时间才能完成)。对于较长的文档,占用的内存会更多,最终会占满我可用的所有 RAM。
我注意到,运行此程序时,在输出的以下部分(在此期间内存使用量持续增加)执行似乎需要花费大量时间:
(load luc: ~/.texlive2018/texmf-var/luatex-cache/generic/fonts/otl/lmroman7-regular.luc) (load luc: ~/.texlive2018/texmf-var/luatex-cache/generic/fonts/otl/lmroman5-regular.luc)
xelatex
在几分之一秒内处理同一个例子,并且没有意外使用内存(也许并不奇怪,因为上面的行与luatex
的字体缓存有关)。
这是怎么回事?我能做些什么?除了 Fira Sans 之外,其他字体似乎不会出现这种情况。
我正在从 Ubuntu 18.10 存储库运行 TeX Live(“这是 LuaTeX,版本 1.07.0(TeX Live 2019/dev/Debian)”)。