Einrichten einer serifenlosen mathematischen Schriftart mit Combofont: großes Integral falsch

Einrichten einer serifenlosen mathematischen Schriftart mit Combofont: großes Integral falsch

Ich spiele gerade herum und versuche, in Lualatex eine serifenlose Schriftart mit Kombinationsschriften zu erstellen. Für den Test verwende ich als Basismathematikschriftart TeX Gyre Pagella Math und versuche, Glyphen aus anderen Mathematik- und Textschriften einzubinden.

Bei Zahlen und Buchstaben funktioniert es schon, aber jetzt hänge ich beim Integral fest. Ich kann das Textstilintegral von TeX Gyre Dejavu Math verwenden, aber das Displaystilintegral ist falsch. Hat jemand eine Idee, wie man das korrigieren kann?

(Dies ist eine Testdatei! Sie hat also keinen Anspruch auf Schönheit. Beispielsweise verwendet die Schriftart im Schreibschriftstil andere Stärken, damit man besser erkennen kann, ob die Kombination funktioniert.)

%needs lualatex!
\documentclass[parskip=full,fleqn]{scrartcl}

\usepackage[math-style=upright]{unicode-math}
\usepackage{combofont}

\setmainfont{Fira Sans}

\setupcombofont{FiraMath}
 {%
 file:texgyrepagella-math.otf:mode=base;script=math;language=DFLT; at #1pt,
 file:firasans-light.otf at #1pt,
 file:firasans-lightitalic.otf at #1pt,
 file:texgyredejavu-math.otf at #1pt
 }
 {%
 {},
 0x30-0x39,
 0x61-0x7A*0x03B1-0x03C9,
 0x222B
 }

\setupcombofont{FiraMathScript}
 {%
 file:texgyrepagella-math.otf:mode=base;script=math;language=DFLT;+ssty=0 at #1pt,
 file:firasans-regular.otf at #1pt,
 file:firasans-regularitalic.otf at #1pt,
 file:texgyredejavu-math.otf at #1pt
 }
 {%
 {},
 0x30-0x39,
 0x61-0x7A*0x03B1-0x03C9,
 0x222B
 }

\setupcombofont{FiraMathScriptScript}
 {%
 file:texgyrepagella-math.otf:mode=base;script=math;language=DFLT;+ssty=1 at #1pt,
 file:firasans-semibold.otf at #1pt,
 file:firasans-semibolditalic.otf at #1pt,
 file:texgyredejavu-math.otf at #1pt
 }
 {%
 {},
 0x30-0x39,
 0x61-0x7A*0x03B1-0x03C9,
 0x222B
 }

% Mathversion bold need Script and ScriptScript declarations too!
\setupcombofont{FiraMathBold}
 {%
 file:texgyrepagella-math.otf:mode=base;script=math;language=DFLT; at #1pt,
 file:firasans-regular.otf at #1pt,
 file:firasans-regularitalic.otf at #1pt,
 file:texgyredejavu-math.otf at #1pt
 }
 {%
 {},
 0x30-0x39,
 0x61-0x7A*0x03B1-0x03C9,
 0x222B
 }


\DeclareFontFamily{TU}{FiraMath}{}
\DeclareFontShape {TU}{FiraMath}{m}{n}
  {
    <-7> combo*FiraMathScriptScript
   <7-10>combo*FiraMathScript
   <10-> combo*FiraMath
  }{}

\DeclareFontShape {TU}{FiraMath}{bx}{n} {<->combo*FiraMathBold}{}

% better start with a real math font, so that
% unicode-math sets everything up
\setmathfont{TeX Gyre Pagella Math}%

% Perhaps some other symbol fonts will need setup too
\SetSymbolFont{operators}{normal}{TU}{FiraMath}{m}{n}
\SetSymbolFont{operators}{bold}{TU}{FiraMath}{bx}{n}


\begin{document}

\minisec{Test some symbols}

$\int f(x)^2$

\[\int f(x)^2 \]

\end{document}

Bildbeschreibung hier eingeben

Antwort1

Wenn Sie nur Unicode-Mathematik verwenden mit

% better start with a real math font, so that
% unicode-math sets everything up
\setmathfont{TeX Gyre Pagella Math}%

also entfernen Sie den ganzen Combo-Font-Kram und fügen Sie hinzu \showoutput, sehen Sie

.....\l_fontspec_font ∫
....\glue(\thinmuskip) 1.82497
....\l_fontspec_font f

für den Textstil \int faber

.......\l_fontspec_font 

verwandte Informationen