在 XeTeX 中使用特定字体

在 XeTeX 中使用特定字体

我正在尝试在 LaTeX 文件中使用特定字体。但fontspec找不到我想要的字体。我使用

family file | grep -i helvetica

了解在 XeTeX 中使用名称fontspec

/usr/local/share/fonts/HelveticaNeueLTPro-UltLtIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 25 UltLt
/usr/local/share/fonts/HelveticaNeueLTPro-BdCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 57 Cn
/usr/local/share/fonts/HelveticaNeueLTPro-Lt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 45 Lt

.cls需要特定字体的部分是

\RequirePackage[quiet]{fontspec}
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}

\setmathfont{Latin Modern Math}

\newfontfamily\bodyfont[]{HelveticaNeueLT Pro 45 Lt}
\newfontfamily\thinfont[]{HelveticaNeueLT Pro 25 UltLt}
\newfontfamily\headingfont[]{HelveticaNeueLT Pro 57 Cn}

\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text, Color=textcolor]{HelveticaNeueLT Pro 45 Lt}

fontspec总是出现错误!

答案1

您需要使用 PostScript 名称,通常它与不带扩展名的文件名相同,但并非总是如此 --- 使用字体信息实用程序来确定它是什么:

\documentclass{minimal}
\RequirePackage[quiet]{fontspec}
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}
\begin{document}
\newfontfamily\bodyfont[]{HelveticaNeueLTStd-Lt}
\newfontfamily\thinfont[]{HelveticaNeueLTStd-UltLt}
\newfontfamily\headingfont[]{HelveticaNeueLTStd-Cn}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text, Color=textcolor]{HelveticaNeueLTStd-Lt}
Main. \bodyfont (bodyfont is same as main)\par
\thinfont Thin.\par
\headingfont Headingfont is condensed.
\end{document}

答案2

您可以使用文件名代替字体名,例如 Helvetica Neue LT Pro-Lt 45 Lt。

\setmainfont[Mapping=tex-text, Color=textcolor]{HelveticaNeueLTPro-Lt}

相关内容