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, in 的本機版本,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.

因此,該字體很可能有問題,而且由於它是在 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}

在此輸入影像描述

相關內容