LinLibertine 等宽字体中是否确实缺少西里尔字母?

LinLibertine 等宽字体中是否确实缺少西里尔字母?

如果你考虑这个 MWE,那么对我lualatex来说不是显示texttt{Привет, мир!}但非等宽西里尔文本显示正常。

\documentclass[notitlepage,oneside]{article}

\usepackage{fontspec}
\usepackage{libertine}

\usepackage{polyglossia}
\setdefaultlanguage{russian}
\setotherlanguage{english}

\begin{document}
This text renders fine: Этот текст в порядке.

However, this does not: \texttt{Привет, мир!}
\end{document}

添加\newfontfamily{\cyrillicfonttt}{LinLibertine}打印效果texttt{Привет, мир!}很好。为什么我需要指定\newfontfamily是否LinLibertine能够显示西里尔文?

otfinfo -s /usr/share/fonts/OTF/LinLibertine_M.otf                                                   :(
DFLT        Default
cyrl        Cyrillic
grek        Greek
hebr        Hebrew
latn        Latin
latn.AZE    Latin/Azeri
latn.CRT    Latin/Crimean Tatar
latn.DEU    Latin/German
latn.MOL    Latin/Moldavian
latn.ROM    Latin/Romanian
latn.TRK    Latin/Turkish

答案1

虽然LinLibertine_M.otf广告涵盖了cyrlgrekhebr,但它没有显示属于这些字母的字形。

下面是获取的字体表的图片fontforge,显示了西里尔字母的范围:

西里尔

没有显示任何字形。otfinfo -g结果相同:没有输出西里尔文字形名称。所以,是的:Linux Libertine Mono 不支持西里尔文。

相关内容