为什么 XeLaTeX 无法从 .fontspec 文件中检测 NewCM10-Regular.otf?

为什么 XeLaTeX 无法从 .fontspec 文件中检测 NewCM10-Regular.otf?

我想使用NewCM10-Regular.otf。当像这样加载时,它可以与两个 Unicode 引擎完美配合:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{NewCM10-Regular.otf}

\begin{document}
hello world
\end{document}

如果我将其嵌入到 sty 文件中并像这样加载它,它也会起作用:

\documentclass{article}
\usepackage{foo}

\begin{document}
hello world
\end{document}

foo.sty有这个:

\ProvidesPackage{foo}
\RequirePackage{fontspec}
\setmainfont{NewCM10-Regular.otf}

但如果我使用自定义.fontspec文件,这会失败。假设 sty 文件包含:

\ProvidesPackage{foo}
\RequirePackage{fontspec}
\setmainfont{myfont}

.tex并且在我的和所在的同一文件夹中.sty,如果我myfont.fontspec使用以下代码创建一个:

\defaultfontfeatures[myfont]{UprightFont = {NewCM10-Regular.otf}}

它适用于lualatex,但不能xelatex。有趣的是,如果我将字体从 更改为NewCM10-Regular.otfCharisSIL它又可以适用于这两个引擎。那么xelatex.fontspec文件和到底有什么问题NewCM10-Regular.otf

附言:我在 GNU/Linux 上使用完全更新的 TL2022。

相关内容