我刚刚更新了我的系统以使用 TexLive 2019,自更新以来,一些以前可以使用的功能Hoefler Text
似乎不再起作用了。
我在替代字形方面遇到了问题,这可能是由于我的编码不佳造成的,但我最大的问题是小写字母。我现在收到以下错误,并且在编译后的 PDF 中它会恢复为标准大小写。我尝试过的其他字体似乎不是这种情况。我应该注意,我是在 中这样做的XeLaTex
。
LaTeX Font Warning: Font shape TU/HoeflerText(1)/m/sc undefined (Font)
using TU/HoeflerText(1)/m/n instead on input line 6."
在更新之前,它一直运行正常,现在为什么会失败?有什么原因吗?有简单的解决方法吗?
答案1
我对最新的 TL2019 没有任何问题,
\documentclass{article}
\usepackage{fontspec}
\setmainfont{HoeflerText-Roman.otf}[
BoldFont = HoeflerText-Bold.otf,
BoldFeatures = {SmallCapsFont = HoeflerText-BoldSC.otf},
ItalicFont = HoeflerText-RegularItalic.otf,
ItalicFeatures = {SmallCapsFont = HoeflerText-RegularItalicSC.otf},
BoldItalicFont = HoeflerText-BoldItalic.otf,
BoldItalicFeatures = {SmallCapsFont = HoeflerText-BoldItalicSC.otf},
SmallCapsFont = HoeflerText-RomanSC.otf,
]
\begin{document}
foo \textsc{Weather}
\bfseries
foo \textsc{Weather}
\itshape
foo \textsc{Weather}
\mdseries
foo \textsc{Weather}
\end{document}
答案2
我在 Mactex 2020.04.07(使用 TeX Live 2020)中也遇到了同样的问题。我的错误消息是:
LaTeX Font Warning: Font shape `TU/HoeflerText(0)/m/sc' undefined
我不知道为什么你的字体是这样的HoeflerText(1)
而我的是这样的HoeflerText(0)
。
为了使小型大写字母发挥作用,我添加了:
\DeclareFontShape{TU}{HoeflerText(0)}{m}{sc}%
{<-> "Hoefler\space Text:Letter\space Case=Small\space Caps"}{}
回到序言。
如果您想要粗体、斜体和粗斜体的小写字母,您还应该添加:
% Bold small caps
\DeclareFontShape{TU}{HoeflerText(0)}{b}{sc}%
{<-> "Hoefler\space Text\space Black:Letter\space Case=Small\space Caps"}{}
% Italic small caps
\DeclareFontShape{TU}{HoeflerText(0)}{m}{scit}%
{<-> "Hoefler\space Text\space Italic:Letter\space Case=Small\space Caps"}{}
% Bold italic small caps
\DeclareFontShape{TU}{HoeflerText(0)}{b}{scit}%
{<-> "Hoefler\space Text\space Black\space Italic:Letter\space Case=Small\space Caps"}{}