TL2025がリリースされたので,早速ダウンロードして使っています.
LuaLaTeXでunicode-mathを使って数式フォントを変更しているのですが,STIX2とNewComputerModernで積分記号が直立体になってしまいます.
TL2024ではこのようなことはありませんでした.
サンプル図は,左がTL2025(各フォントで記述),右がTL2024(積分記号だけフォントを変更しており,他はTeX Gyre Termes Math)です.
どなたかこのあたりの事情と対応策(STIX2とNCMの積分記号をスラントにする)についてご存知でしたら,ご教示いただければ幸いです.
TL2024の STIXTwo-Math-Regular.otf をfontforgeで開いてみました
積分記号 U+222B に対していくつか異なるグリフが存在しています.
U+222B uni222Bdsp ← これがTL2024のSTIX2のディスプレイの\intのようです
U+222B uni222B.updsp ← これがTL2025のSTIX2のディスプレイの\intのようです.ちょっと大きい
uni222B.dspだったところがuni222B.updspに変わったように思えます.
\iint U+222C には uni222C.dsp(斜め)と uni222C.updsp(立体)のグリフがあるようですが,
これは dsp のままになってるということなのでしょうか
(どこでどうやって選択してるんでしょう?)
TL2024のGaramond-Math.otfだとU+222Bの字形は一個だけのようなので
Garamond-Mathだと \int は変わらないのではないかと想像します.
積分記号 U+222B に対していくつか異なるグリフが存在しています.
U+222B uni222Bdsp ← これがTL2024のSTIX2のディスプレイの\intのようです
U+222B uni222B.updsp ← これがTL2025のSTIX2のディスプレイの\intのようです.ちょっと大きい
uni222B.dspだったところがuni222B.updspに変わったように思えます.
\iint U+222C には uni222C.dsp(斜め)と uni222C.updsp(立体)のグリフがあるようですが,
これは dsp のままになってるということなのでしょうか
(どこでどうやって選択してるんでしょう?)
TL2024のGaramond-Math.otfだとU+222Bの字形は一個だけのようなので
Garamond-Mathだと \int は変わらないのではないかと想像します.
すでに調べていると思いますので、参考になるか否かわかりませんが、
TL2024 TL2025 で処理したログからスタイルファイルのバージョン情報なを比較すると
NewComputerModernMath/B
に関する処理で以下のような差分が生じています。
(念の為、私が比較したものも添付しておきます。)
-
で始まる部分は TL2024 で +
の部分がTL2025 のものです。
-(load cache: extra_newcmmath-regular.luc)
-
-Package fontspec Info:
-(fontspec) Could not resolve font "NewComputerModernMath/B" (it
-(fontspec) probably doesn't exist).
-
+(load cache: extra_newcmmath-regular.luc)(load cache: extra_newcmmath-bold.luc)
なお、読み込んだファイルで上記に関係なさそうなものは texmf-dist/tex/latex/tex-ini-files/lualatexquotejobname.lua に
差分がありますが、--- tex-ini-files 20223-11-17:
のタイポミスの修正だけでした。
NewCMやSTIX2の\int
(U+222B)は実は伸長可能になっていて、
(例えばNewCMの17.7節を参照)
組立になる段階のグリフは必然的に“垂直型”になります。
そこで、グリフを様々な大きさに伸長させてみます。
\documentclass{article}
\usepackage[a6paper,scale=0.9]{geometry}
\usepackage{unicode-math}
\setmathfont{NewCMMath-Book.otf}%[StylisticSet=2]
\newcommand*\Do[1]{%<br /> \Uleft\Udelimiter 0 0 "222B<br /> \rule{1pt}{\dimeval{0.25em*#1}}
\Uright.}
\begin{document}
\[
A\Do{1}\Do{2}\Do{3}\Do{4}\Do{5}\Do{6}
\Do{7}\Do{8}B
\]
\end{document}
TeX Live 2024と2025での結果を比べると、どうやら2025では
「displaystyleのデフォルトの(“斜め型”の)グリフが拾えなくなっている」
ように見えます。
結局、この動作がバグなのか意図的なのかはわかりませんが……。

unicode-mathを使わず,デフォルトのLatin Modernであれば積分上下限の位置は正常です.
\documentclass[fleqn]{article}
\begin{document}
Without unicode-math
\[ \int_a^b f(x)\,dx\quad\textrm{LM} \]
\end{document}
====
一方,unicode-mathを使うと前田さんご指摘の状況になるようです.
\documentclass[fleqn]{article}
\usepackage{unicode-math}
\begin{document}
With unicode-math
\[ \int_a^b f(x)\,dx\quad\textrm{LM} \]
\setmathfont{NewComputerModern Math}
\[ \int_a^b f(x)\,dx\quad\textrm{NCM} \]
\setmathfont{STIX Two Math}
\[ \int_a^b f(x)\,dx\quad\textrm{STIX2} \]
\end{document}
またunicode-mathを使わずに\usepackage{newcomputermodern}とすると,同じように積分上下限が離れて配置されます.
\documentclass[fleqn]{article}
\usepackage{newcomputermodern}
\begin{document}
Without unicode-math
\[ \int_a^b f(x)\,dx\quad\textrm{NCM} \]
\end{document}
luatex MLには私から報告しておきます.
\documentclass[fleqn]{article}
\begin{document}
Without unicode-math
\[ \int_a^b f(x)\,dx\quad\textrm{LM} \]
\end{document}
====
一方,unicode-mathを使うと前田さんご指摘の状況になるようです.
\documentclass[fleqn]{article}
\usepackage{unicode-math}
\begin{document}
With unicode-math
\[ \int_a^b f(x)\,dx\quad\textrm{LM} \]
\setmathfont{NewComputerModern Math}
\[ \int_a^b f(x)\,dx\quad\textrm{NCM} \]
\setmathfont{STIX Two Math}
\[ \int_a^b f(x)\,dx\quad\textrm{STIX2} \]
\end{document}
またunicode-mathを使わずに\usepackage{newcomputermodern}とすると,同じように積分上下限が離れて配置されます.
\documentclass[fleqn]{article}
\usepackage{newcomputermodern}
\begin{document}
Without unicode-math
\[ \int_a^b f(x)\,dx\quad\textrm{NCM} \]
\end{document}
luatex MLには私から報告しておきます.


