Set a minimal height for math rows

The value used here is the x height. It would be nice to see what the
TeXbook really says.

This makes a big difference with \tilde{.}, for example.

(cherry picked from commit 6df8c42e59)
This commit is contained in:
Jean-Marc Lasgouttes 2018-04-09 12:18:24 +02:00
parent 705302f6de
commit f33d0789f6

View File

@ -236,7 +236,10 @@ int MathRow::after(int i) const
void MathRow::metrics(MetricsInfo & mi, Dimension & dim)
{
dim.asc = 0;
frontend::FontMetrics const & fm = theFontMetrics(mi.base.font);
// FIXME: this is the minimal ascent seen empirically, check
// what the TeXbook says.
dim.asc = fm.ascent('x');
dim.wid = 0;
// In order to compute the dimension of macros and their
// arguments, it is necessary to keep track of them.
@ -284,7 +287,7 @@ void MathRow::metrics(MetricsInfo & mi, Dimension & dim)
}
break;
case BOX:
d = theFontMetrics(mi.base.font).dimension('I');
d = fm.dimension('I');
if (e.color != Color_none) {
// allow for one pixel before/after the box.
d.wid += e.before + e.after + 2;