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.

したがって、フォントに欠陥がある可能性が非常に高く、また、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}

ここに画像の説明を入力してください

関連情報