考虑以下 MWE:
\documentclass[varwidth]{standalone}
\usepackage{ifluatex}
\usepackage{ifxetex}
\usepackage{metalogo}
\usepackage{fontspec}
\setmainfont{Bembo}[BoldFont = Bembo Bold]
\newfontface\bembo{Bembo}
\newfontface\bembobold{Bembo Bold}
\newfontface\bemboboldos{Bembo Bold Oldstyle Figures}
\makeatletter
\newcommand{\showfont}{\f@family{}}
\makeatother
\begin{document}
\ifxetex
\XeLaTeX
\fi
\ifluatex
\LuaLaTeX
\fi
\textbf{AVATAR 48} \showfont{}\\
\bembo AVATAR 48 \showfont{}\\
\bembobold AVATAR 48 \showfont{}\\
\bemboboldos AVATAR 48 \showfont{}
\end{document}
分别使用 XeLaTeX 和 LuaLaTeX 生成的输出如下:
\setmainfont
请注意,XeLaTeX 在第二行(使用 选择字体并使用 选择字体样式)中设置“Bembo Bold”字体时不使用字距调整\textbf
,但在第四行(使用 加载字体)中设置字距调整\newfontface
。此外,LuaLaTeX 始终可以正确调整字距。
这是为什么?