Further testing has shown that the intended functioning was getting confused by switching off XeTeXuseglyphmetrics. I’m considering this a bug, and unfortunately people are probably used to it, since XeTeXuseglyphmetrics was normally turned off by the python code. In fixing that, I’ve also fixed the partly implemented negative value = absolute position.
Intended default value:\def\UnderlineLower{0.2em}
Old, buggy behaviour \def\UnderlineLower{0.2em}
New absolute position: \def\UnderlineLower{-0.2em)
Set to zero:
Set to -0.1:
My suggestion for a tooltip:
This sets how far (in ems) underline is below the text
and what it is relative to. If positive or zero, it is the distance
below the bottom of any descenders. If negative,
it is the distance below the baseline. There is (now) no way
to use underlining to cross out text.