TL2025でSTIX2とNewComputerModernの積分記号が変わった?

TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
返信数: 21
TL2025がリリースされたので,早速ダウンロードして使っています.
LuaLaTeXでunicode-mathを使って数式フォントを変更しているのですが,STIX2とNewComputerModernで積分記号が直立体になってしまいます.
TL2024ではこのようなことはありませんでした.

サンプル図は,左がTL2025(各フォントで記述),右がTL2024(積分記号だけフォントを変更しており,他はTeX Gyre Termes Math)です.

どなたかこのあたりの事情と対応策(STIX2とNCMの積分記号をスラントにする)についてご存知でしたら,ご教示いただければ幸いです.
添付 TL2025_integral.png
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
他にも積分記号が直立になるフォントがあるようです.
いくつか見ているのですが,LeteSansMath,Noto Sans Mathがやはり直立になります.
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- はやて (h20y6m) の投稿
手元の環境(Windows と Ubuntu)でも再現します。
簡単に TL2025 と TL2024 を比べてみましたが、パッケージのバージョンもフォントファイルの同一に見えますね。
違うのはエンジンバージョンだけに見えます。

バグなのか仕様変更なのかわかりませんがTL2025でLuaHBTeXエンジンの挙動が変わっているのかもしれません。
はやて (h20y6m) への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
はやてさん,ご確認をありがとうございます.

影響を受けるのは\intだけで,\iint, \iiint, \oint は正常のようです.
STIX2は同フォントの\iint等に比べてサイズも大きくなっているみたいです.
添付 TL2025_integral-test.png
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- 本田 知亮 の投稿
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 は変わらないのではないかと想像します.


本田 知亮 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- はやて (h20y6m) の投稿
なぜかはわかりませんが、問題のインテグラル記号はTL2025では ⌠ (U+2320) と ⌡ (U+2321) を上下に並べて出力されているようです。これらのグリフが立体なのかもしれません。
(なぜTL2025では分割されてしまうのかはわかりませんが……)
はやて (h20y6m) への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
本田さん,はやてさん,色々とご調査をいただきありがとうございます.

> 問題のインテグラル記号はTL2025では ⌠ (U+2320) と ⌡ (U+2321) を上下に並べて出力されている
これはNewComputerModernで顕著ですね.中央部がやたらと太いし,何か重なっているように見えますから.

やはりこれはLuaHBTeXのバグと考えて良いのでしょうか?

当面は,積分記号一式を影響を受けないフォントに割り当てて対処します.
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- 和田 勇 の投稿

すでに調べていると思いますので、参考になるか否かわかりませんが、 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: のタイポミスの修正だけでした。

はやて (h20y6m) への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- Z. R. の投稿

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のデフォルトの(“斜め型”の)グリフが拾えなくなっている」

ように見えます。

結局、この動作がバグなのか意図的なのかはわかりませんが……。


添付 image-newcmint-1.png
Z. R. への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
和田さん,Z.R.さん,調査と解説をありがとうございました.

> 「displaystyleのデフォルトの(“斜め型”の)グリフが拾えなくなっている」
\intだけがそうなるのは何だかなぁというのが率直なところです.
重積分や周回積分も出てくるような文書では,致命的です.

結局のところ,ワークアラウンドで「当面は影響を受けないフォントで数式を組み立てる」ということになるのでしょうね.
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- 前田 一貴 の投稿
ここだけで言っていても解決しなくて,私も少しテストしてみましたが原因はさっぱりわからないので,TeX Live か LuaTeX の ML に投げるのがよいように思いました.
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
前田さん,ご助言をありがとうございます.
ご指摘のようにMLに投げてみることにします.

p.s. NewCMでは4重積分もslantedではなくuprightになっていました.
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- 前田 一貴 の投稿
MLへの報告ありがとうございました.他に報告はないと思っていたのですが,ちょうど TeX.SE に昨日同じ報告があったようで,David さんがそれを教えてくれましたね.まだちゃんと読んでいないのですが,こちらにも参考までに.
https://tex.stackexchange.com/questions/738724/tl2025-lualatex-stix-2-upright-integral-symbol-has-become-the-default/738748#738748
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
前田さん,そうですね.このパッチをいちいち入れるのは面倒なので,早く修正が入るとありがたいです.

一方で,NewCM Mathの4重積分(\iiiint)がアップライトになるのはどうすればスラントにできるのでしょうね?
# こちらもMLに投げておきました
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
4重積分については,TL2024でも直立体でした.これはフォント側のようです(メンテナーに報告すると良いよとアドバイスをもらいました).
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- 前田 一貴 の投稿
r74611 でバイナリが更新されたようですが,積分記号は意図通りになったものの,今度は a と b の位置がおかしいような…….
添付 Screenshot 2025-03-14 at 18-08-06 test.pdf.png
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
かなり離れていますね.
TeX SEに掲載されていたTL2025初回リリースに対するパッチはうまく機能しているのですが...

tlmgrでr74611が見えるようになっても,インストールはできないですね.
m c への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- 前田 一貴 の投稿
> tlmgrでr74611が見えるようになっても,インストールはできないですね.

あれ,私は普通に update したらインストールされたのですが…….
もしかして,設定しているミラーサイトにまだ降りてきてないからかなあ.私は texlive.texjp.org を使っています.
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
私は北陸先端大を見ているのですが,その時点では降りてきていませんでした.
今は降りてきていますので,--excludeオプションで除外してアップデートをかけています.
# あれ,除外したはずなのにauto-installされちゃった(^^; 巻き戻さなくちゃ
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
ところでこの件は前田さんが報告されますか?
これは特定フォントの話ではないので,影響は非常に大きいです.
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
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には私から報告しておきます.
添付 with_unicode-math.png
添付 without_unicode-math_NCM.png
添付 without_unicode-math.png
前田 一貴 への返信

Re: TL2025でSTIX2とNewComputerModernの積分記号が変わった?

- m c の投稿
r74611はwithdrawになったように見えます.
先ほど別なマシンにtlmgr update --self --allをやってみたのですが,luatex関係のものは入ってきませんでした.
またtlmgr info --only-remote luahbtexで出てきたリビジョン番号は73848,tlmgr info --only-remote luatexは73850でした.