我正在使用一种 OTF 字体,它有小写字母,但没有斜体或倾斜小写字母,而且我正在处理的大型文档中有很多地方需要斜体小写字母。我知道我可以用一个接一个地做这件事,\newcommand
但我希望避免需要返回整个文档并找出所有编译不正确的情况,只需将假斜体小写字母定义为整个文档的形状。我尝试了以下方法,但没有产生效果:
\setmainfont{Sabon LT Std}[
Numbers=OldStyle,
Ligatures=Common,
ItalicFeatures={
SmallCapsFeatures = {FakeSlant=0.2}}]
有什么建议么?
编辑:Sabon LT Std 字体的罗马字母中有小写字母,但是斜体中没有,其他字体也没有。
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Sabon LT Std}[
UprightFont = *-roman,
BoldFont = *-bold,
ItalicFont = *-italic,
BoldItalicFont = *-bolditalic,
Numbers=OldStyle,
Ligatures=Common]
\begin{document}
\textsc{Small caps}
\textit{Italics}
\textit{\textsc{Italic small caps}}
\end{document}
答案1
我没有你的字体,但这个对我来说很好用
\documentclass{article}
\usepackage{fontspec}
\setmainfont[
ItalicFeatures =
{
SmallCapsFont={Arial},
SmallCapsFeatures={FakeSlant=-0.2,RawFeature={+smcp}}
},
BoldItalicFeatures={
SmallCapsFont={Arial/B},
SmallCapsFeatures={FakeSlant=-0.2,RawFeature={+smcp}}
}
]{TeX Gyre Termes}
\begin{document}
normal
\textsc{Small caps}
\textit{Italics}
\textit{\textsc{Italic small caps}}
\textit{\textsc{Italic \bfseries small caps}}
\textbf{\textit{Some \textsc{Italic small caps}}}
\end{document}