From 6df8c42e59f7dbe00d585525d1ce7e91a42411ca Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Mon, 9 Apr 2018 12:18:24 +0200 Subject: [PATCH] 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. --- src/mathed/MathRow.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mathed/MathRow.cpp b/src/mathed/MathRow.cpp index 345962096f..561081556e 100644 --- a/src/mathed/MathRow.cpp +++ b/src/mathed/MathRow.cpp @@ -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; -- 2.39.5