如果你考虑这个 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
广告涵盖了cyrl
、grek
和hebr
,但它没有显示属于这些字母的字形。
下面是获取的字体表的图片fontforge
,显示了西里尔字母的范围:
没有显示任何字形。otfinfo -g
结果相同:没有输出西里尔文字形名称。所以,是的:Linux Libertine Mono 不支持西里尔文。