Stix Two Math は lualatex でキャッシュを書き換え続けます

Stix Two Math は lualatex でキャッシュを書き換え続けます

Tex Live バージョン:TeX 3.14159265 (TeX Live 2020)

この MWE は、次の場所で使用されます。

\documentclass[a4paper]{article}

\usepackage{unicode-math}
\setmainfont{Tex Gyre Schola}[Scale=0.97]
\setmathfont{Tex Gyre Schola Math}[Scale=MatchLowercase]
\setmathfont[range={\int,\iint}]{Stix Two Math}
\setsansfont{TeX Gyre Heros}[Scale=MatchLowercase]
\setmonofont{inconsolatan}[Scale=MatchLowercase,StylisticSet={1,3}]

\begin{document}

\section*{The first section}
The quick brown fox jumps over the lazy dog's back.
\begin{equation}
  x=\alpha + \beta
\end{equation}
The quick brown fox jumps over the lazy dog's back.

\verb!The quick brown fox jumps \emph{emphasized} over the lazy dog's back.!

\end{document}

lualatex は問題なく通過し、期待どおりに .pdf が生成されます。

私の問題はフォント キャッシュに関係しています。...texmf-var/luatex-cache/generic-dev/fonts/otl以下は、MWE を実行する前のフォント キャッシュのリストです。

Created at 2020-08-31 16:30 with ls -ltr, i.e. latest file last.
    .
    .
    .
-rw-rw-r-- 1 leif leif  337751 2020-08-29 14:36 texgyreschola-regular.lua
-rw-rw-r-- 1 leif leif  204144 2020-08-29 14:36 texgyreschola-regular.luc
-rw-rw-r-- 1 leif leif  333538 2020-08-29 14:36 texgyreschola-bolditalic.lua
-rw-rw-r-- 1 leif leif  198037 2020-08-29 14:36 texgyreschola-bolditalic.luc
    .
    .
    .
-rw-rw-r-- 1 leif leif  722234 2020-08-30 12:47 stix2text-regular.lua
-rw-rw-r-- 1 leif leif  466687 2020-08-30 12:47 stix2text-regular.luc
    .
    .
-rw-rw-r-- 1 leif leif  764569 2020-08-30 12:47 stix2text-italic.lua
-rw-rw-r-- 1 leif leif  477285 2020-08-30 12:47 stix2text-italic.luc
-rw-rw-r-- 1 leif leif 1042702 2020-08-31 15:03 stix2math.lua
-rw-rw-r-- 1 leif leif  628077 2020-08-31 15:03 stix2math.luc

MWEを実行すると、キャッシュは次のようになります。

Created at 2020-08-31 16:44 with ls -ltr, i.e. latest file last.
    .
    .
    .
-rw-rw-r-- 1 leif leif  764569 2020-08-30 12:47 stix2text-italic.lua
-rw-rw-r-- 1 leif leif  477285 2020-08-30 12:47 stix2text-italic.luc
-rw-rw-r-- 1 leif leif 1042702 2020-08-31 16:44 stix2math.lua
-rw-rw-r-- 1 leif leif  628077 2020-08-31 16:44 stix2math.luc

ご覧のとおり、他のすべてのエントリは変更されていませんが、 の 2 つのファイルはstix2math書き換えられています。

なぜ文句を言うのか、とあなたは思うかもしれません。結局のところ、lualatex は約 2MB しか書き換えません。これは私のマシンでは数秒しかかかりません。その理由は、私がlatexmkドキュメントの処理に使用しており、別の実行が必要かどうかを判断するときにキャッシュ内のファイルが考慮されるlatexmkからです。キャッシュ内のファイルは実行ごとに変更されるため、latexmk完了した作業は考慮されず、実行の最大数に達するまで続行されます。

私の質問は

  • lualatexキャッシュファイルを書き換えないようにする方法はありますか?

または

  • latexmkもう一度実行する必要があるかどうかを判断するときに、フォント キャッシュ ファイルを無視する方法はありますか?

編集stix2math.luaの2回の実行の差分を取ったところlualatex <file>、次のように始まりました。

--- before.lua  2020-08-31 18:10:56.636561526 +0200
+++ after.lua   2020-08-31 18:11:29.024059824 +0200
@@ -658,9 +658,9 @@
    ["math"]={
     ["accent"]=440,
     ["kerns"]={
-     ["bottomleft"]=20,
-     ["bottomright"]=19,
-     ["topright"]=19,
+     ["bottomleft"]=19,
+     ["bottomright"]=20,
+     ["topright"]=20,
     },
    },
    ["name"]="M",
@@ -22748,7 +22748,7 @@
        ["kern"]=100,
       },
      },
-     ["topright"]=20,
+     ["topright"]=19,
     },
    },
    ["unicode"]=119813,

そして、通常、多くの項目で 1 つのユニットが変更され、このように続きます。

関連情報