The STIX Two Math font leaves large gaps between some pairs of characters, such as 'dp' or 'df'. The Lua otf font handler is able to reduce these gaps for some pairs (e.g., 'ab' or 'ad'), but it seems unable to reduce the space following the letter d and the letter f (e.g., for 'dp' and 'fa').
My code is below, with a screenshot of the result. I have defined a math version with reduced kerns (version=changekern
). For the ordered pairs in \teststringone
, the kerning can be reduced using the kerntest
font feature called by version=changekern
. For the ordered pairs in \textstringtwo
, the feature has no effect on the separation of characters. In particular, the space following d or f cannot be reduced. (The adjustments are set quite large to make them obvious.)
Is this a problem with the STIX Two Math font -- or something else?
I am using STIX Two Math Version 2.13 b171 (STIXTwoMath-Regular-3.otf).
% !TEX TS-program = Lualatex
\documentclass[10pt]{article}
\usepackage{luacode}
\begin{luacode}
fonts.handlers.otf.addfeature {
name = "kerntest",
type = "kern",
data = {
[0x1d44e] = { [0x1d44f] = -100, -- mathematical italic small a and b
[0x1d450] = -100, -- mathematical italic small a and c
[0x1d451] = -100, -- mathematical italic small a and d
[0x1d453] = -150, -- mathematical italic small a and f
[0x1d45d] = -150}, -- mathematical italic small a and p
[0x1d451] = { [0x1d44e] = -200, -- mathematical italic small d and a
[0x1d44f] = -200, -- mathematical italic small d and b
[0x1d453] = -250, -- mathematical italic small d and f
[0x1d45d] = -250}, -- mathematical italic small d and p
[0x1d453] = { [0x1d44e] = -250, -- mathematical italic small f and a
[0x1d45d] = -250}, -- mathematical italic small f and p
[0x1d45d] = { [0x1d451] = -50}, -- mathematical italic small p and d
}
}
\end{luacode}
\def\teststringone{$ab$ $ac$ $ad$ $af$ $ap$ $pd$}
\def\teststringtwo{$da$ $db$ $df$ $dp$ $fa$ $fd$}
\usepackage{unicode-math}
\setmainfont{STIX Two Text}[RawFeature={kerntest}]
\setmathfont[Scale=MatchUppercase]{STIX Two Math}
\setmathfont[version=changekern,Scale=MatchUppercase,RawFeature={kerntest}]{STIX Two Math}
\begin{document}
\teststringone
\teststringtwo
\mathversion{changekern}
\teststringone
\teststringtwo
\end{document}
d\mkern-1mu p
, but am hoping to have a more general solution.) I assume that f is also italic corrected?