答案1
更新 2021-01-20
erewhon 字体包 1.113 版本已修复该问题。
原始答案
T2A-erewhon-TLF.fd
定义西里尔文 erewhon 字体的文件有
\DeclareFontShape{T2A}{erewhon-TLF}{b}{scsl}{
<-> \erewhon@@scale Erewhon-BoldSlanted-tlf-sc-t2a
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{b}{sc}{
<-> \erewhon@@scale Erewhon-Bold-tlf-sc-t2a
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{b}{scit}{
<-> ssub * erewhon-TLF/b/scsl
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{m}{scsl}{
<-> \erewhon@@scale Erewhon-RegularSlanted-tlf-sc-t2a
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{m}{sc}{
<-> \erewhon@@scale Erewhon-Regular-tlf-sc-t2a
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{m}{scit}{
<-> ssub * erewhon-TLF/m/scsl
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{bx}{scsl}{
<-> ssub * erewhon-TLF/b/scsl
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{bx}{sc}{
<-> ssub * erewhon-TLF/b/sc
}{}
\DeclareFontShape{T2A}{erewhon-TLF}{bx}{scit}{
<-> ssub * erewhon-TLF/b/scit
}{}
(仅显示与小型大写字母相关的条目)。
\scshape\bfseries
因此,生效时选择的字体应该是Erewhon-Bold-tlf-sc-t2a
,如果我请求,这确实是所报告的内容\fontname\font
,它会打印当前的外部字体名称。
另一方面,在提示符下运行pdflatex nfssfont
并发出Erewhon-Bold-tlf-sc-t2a
(仅显示与西里尔文相关的部分)。 使用 可获得类似的结果Erewhon-BoldSlanted-tlf-sc-t2a
。
只有常规字体和倾斜字体(如果需要斜体也会使用)才具有正确的小型大写字母字形。
不幸的是,OpenType 版本也存在同样的问题,所以除非字体开发人员发布修复程序,否则你似乎很不走运。
答案2
使用 OpenType 版本的字体,您可以伪造它,直到他们成功。此 MWE 需要 LuaLaTeX 或 XeLaTeX 和 TeX Live 2020。
\documentclass[russian]{article}
\tracinglostchars=2
\usepackage{babel}
\usepackage{unicode-math}
\defaultfontfeatures[Erewhon]{
Scale = 1.0,
UprightFont = *-Regular,
BoldFont = *-Bold,
BoldFeatures = { SmallCapsFont = *-Regular,
SmallCapsFeatures = { Letters= SmallCaps,
FakeBold = 1.75}
},
ItalicFont = *-Italic,
SlantedFont = *-RegularSlanted,
BoldItalicFont = *-BoldItalic,
BoldItalicFeatures = { SmallCapsFont = *-RegularSlanted,
SmallCapsFeatures = { Letters= SmallCaps,
FakeBold = 1.75}
},
BoldSlantedFont = *-BoldSlanted,
BoldSlantedFeatures = { SmallCapsFont = *-RegularSlanted,
SmallCapsFeatures = { Letters= SmallCaps,
FakeBold = 1.75}
},
Extension = .otf }
\babelfont{rm}
[Language=Default]{Erewhon}
\setmathfont{Erewhon Math}
\begin{document}
\noindent Lorem Ipsum Лорем Ипсум \textbf{Lorem Ipsum Лорем Ипсум} \\
\textsc{Lorem Ipsum Лорем Ипсум \textbf{Lorem Ipsum Лорем Ипсум}} \\
\itshape Lorem Ipsum Лорем Ипсум \textbf{Lorem Ipsum Лорем Ипсум} \\
\itshape\textsc{Lorem Ipsum Лорем Ипсум \textbf{Lorem Ipsum Лорем Ипсум}} \\
\slshape Lorem Ipsum Лорем Ипсум \textbf{Lorem Ipsum Лорем Ипсум} \\
\slshape\textsc{Lorem Ipsum Лорем Ипсум \textbf{Lorem Ipsum Лорем Ипсум}}
\end{document}