Liberation Mono:当前的罗马字体不包含西里尔字母!

Liberation Mono:当前的罗马字体不包含西里尔字母!

好的,接下来的问题是,我在 XeLaTeX 文档中使用 Liberation 字体:

\setmainfont{Liberation Serif}
\setsansfont{Liberation Sans}
\setmonofont{Liberation Mono}

\setmainlanguage{ukrainian}
\setotherlanguage{english}

解放衬线解放无正常工作。但是当出现错误时

软件包 polyglossia 错误:当前罗马字体不包含西里尔文!请使用 \newfontfamily 定义 \cyrillicfont。

出现在文档的最末尾,等宽字体首次作为 URL 出现。

我的朋友在 Mac 上也没有遇到这样的问题。

这是 Linux 的 Tex-live 发行版的问题,还是解放单色

答案1

另外,在我的计算机上,Liberation Mono 字体没有显示任何有关可用脚本的信息,因此当当前脚本是西里尔文时,Polyglossia 无法正确激活它。

解决此问题的方法是定义一个\cyrillicfonttt

\newfontfamily{\cyrillicfonttt}{Liberation Mono}

请参阅 Polyglossia 文档的第 4 节。

注意:错误信息确实具有误导性。我相信 Polyglossia 的开发网站上已经提交了一份错误报告。


添加Liberation 字体的 2.00.1 版不存在这个问题,至少对于西里尔文来说是这样;输出otfinfo -s

% otfinfo -s LiberationMono-Regular.ttf
cyrl        Cyrillic
cyrl.MKD    Cyrillic/Macedonian
cyrl.SRB    Cyrillic/Serbian
hebr        Hebrew

而上一个测试版本是空的。新版本于 2012 年 10 月 4 日发布,可从以下网址获取https://fedorahosted.org/liberation-fonts/

相关内容