好的,接下来的问题是,我在 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/