![在多语系统中设置语言变体会从字体中删除小写字母](https://linux22.com/image/437691/%E5%9C%A8%E5%A4%9A%E8%AF%AD%E7%B3%BB%E7%BB%9F%E4%B8%AD%E8%AE%BE%E7%BD%AE%E8%AF%AD%E8%A8%80%E5%8F%98%E4%BD%93%E4%BC%9A%E4%BB%8E%E5%AD%97%E4%BD%93%E4%B8%AD%E5%88%A0%E9%99%A4%E5%B0%8F%E5%86%99%E5%AD%97%E6%AF%8D.png)
我遇到了polyglossia
和某些字体之间的奇怪交互(尽管我只测试过)。当为语言Libertinus Serif
指定语言变体时,小写字母在 Libertinus 字体中不起作用。bokmal
norwegian
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage[variant = bokmal]{norwegian}
\usepackage{fontspec}
\setmainfont{Libertinus Serif}
\begin{document}
\textsc{abc}
\end{document}
LaTeX 字体警告:字体形状
TU/LibertinusSerif(1)/m/sc
未定义(字体)
TU/LibertinusSerif(1)/m/n
在第 9 行输入中使用。
删除语言变体或使用默认字体时,小写字母会照常显示。虽然我认为这是某种奇怪的错误,但我想知道在修复之前如何解决这个问题。
答案1
您可以重置小型大写字母的语言:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage[variant = bokmal]{norwegian}
\usepackage{fontspec}
\setmainfont{Libertinus Serif}[SmallCapsFont={Libertinus Serif},SmallCapsFeatures={Language=Default,Letters = SmallCaps}]
\begin{document}
\textsc{abc}
\end{document}