LuaLaTeX 1.0.4 的多语言行为存在问题。可能是错误?

LuaLaTeX 1.0.4 的多语言行为存在问题。可能是错误?

我使用 LuaLaTeX 通过不同的发行版编译了相同的代码:

LuaLaTeX 0.95.0/TeXLive 2016

LuaLaTeX 1.0.4/MiKTeX 2.9.6236

已更新至最新版本。

不幸的是,我得到了不同的polyglossia行为结果。

使用以下代码:


%%============================ Compiler Directives =======================%%
%%                                                                        %%
% !TeX program = lualatex                                    
% !TeX encoding = utf8
% !TeX spellcheck = uk_UA

\documentclass{article}

%%============================ languagee ann encodings ===================%%

\usepackage{polyglossia}
\setmainlanguage{ukrainian}
\setotherlanguage{russian}
\setotherlanguage{english}
\setsansfont{Arial}
\setmainfont{Times New Roman}
\setmonofont{Consolas}
\defaultfontfeatures{Ligatures={TeX}}
\usepackage[math-style=TeX]{unicode-math}

%%========================================================================%%

\begin{document}

Some text

Якийсь текст

Какой-то текст

\end{document}

LuaLaTeX 0.95.0/TeXLive 2016 运行良好。


但是 LuaLaTeX 1.0.4/MiKTeX 2.9.6236 产生错误:

! Package polyglossia Error: The current roman font does not contain the Cyrillic script!
(polyglossia)                Please define \cyrillicfont with \newfontfamily.

See the polyglossia package documentation for explanation.

主要问题是:为什么LuaLaTeX 1.0.4/MiKTeX 2.9.6236我只需要使用任何其他非直观的构造来使用与拉丁语不同的字体?

这是 LuaLaTeX 1.0.4 的一个错误吗?

我注意到所选字体中存在必要的符号。

日志档案

答案1

从您的日志文件中可以看出您正在使用 times.ttf 的本地版本,并且E:/Projects/LaTeX/Z_LaTeX_XP/Fizmatlit/localtexmf/fonts/truetype/times.ttf还可以看到该字体没有正确的脚本功能:

. fontspec info: "no-scripts"
. 
. Font "TimesNewRoman" does not contain any OpenType `Script' information.

因此字体很可能存在错误,而且由于字体是 in a,localtexmf因此也很可能只有 miktex 系统在使用它,这就可以解释为什么只有 miktex 无法工作。这种类型的错误通常取决于具体的字体文件,因此很容易依赖于系统和字体。

答案2

与 LuaTeX 1.0.4 兼容:

\documentclass{article}
\usepackage[math-style=TeX]{unicode-math}
\usepackage{libertine}
\setmonofont[Scale=0.9,FakeStretch=0.9]{Consolas}
\newfontface\cyrillicfont{Linux Libertine O}
\usepackage{polyglossia}
\setmainlanguage{ukrainian}
\setotherlanguage{russian}
\setotherlanguage{english}

\begin{document}

    Some text

    Якийсь текст

    Какой-то текст

\ttfamily   
    Some text

    Якийсь текст

    Какой-то текст
\end{document}

在此处输入图片描述

相关内容