在 Linux 上,使用 XeLaTeX 找到的字体无法在 LuaLaTeX 中找到

在 Linux 上,使用 XeLaTeX 找到的字体无法在 LuaLaTeX 中找到

以下 MWE 可以使用 XeLaTeX 正确构建,但不能使用 LuaLaTeX 正确构建。

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TimesNewRomanPSMT}
\setmathfont{CambriaMath}
\begin{document}
Test text in Times 

\textbf{Bold in Times}

$\mathrm{And this is in Cambria} i = \sin{\theta}$
\begin{equation}
\gamma = \sqrt{\rho R T}
\end{equation}
\end{document}

LuaLaTeX 产生的错误是:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "CambriaMath" cannot be found.
...
l.5 \setmathfont{CambriaMath}

我使用的是 Ubuntu 12.04 和 vanilla TeXLive 2013。我从 Windows 机器复制了 Times New Roman 和 Cambria Math 字体,并将它们安装进去/usr/local/share/fonts,然后运行sudo fc-cache -fsv重建缓存。我读了一些关于font-not-found错误的问题(确实有很多!)但我找不到 XeLaTeX 可以工作而 LuaLaTeX 不能工作的地方。

其他故障排除信息:

1) 注释掉该\setmathfont行(以便它能够构建)会导致 LuaLaTeX 无法找到 Times New Roman 的粗体字体形状。如果TimesNewRomanPSMT更改为,则timesnewroman一切正常。

2)的输出luaotfload-tool -i --find="Cambria Math"

luaotfload | resolve : Font "Cambria Math" found!
luaotfload | resolve : Resolved file name "/usr/local/share/fonts/truetype/myfonts/CAMBRIA.TTC", subfont nr. "1"
** 1 Cambria Math **************************************************************

          familyname: Cambria Math
            fontname: CambriaMath
            fullname: Cambria Math
         italicangle: 0
             version: 5.96
              weight: Book

3)luaotfload-names.lua.gz(解压至luaotfload-names.lua)显示所有已安装的 Cambria 字体变体,fullpath其中条目指向正确的目录

4)Windows 上一切正常

我如何让 LuaLaTeX 找到 Cambria Math 字体?

相关内容