From: Jean-Marc Lasgouttes Date: Mon, 9 Apr 2018 10:18:24 +0000 (+0200) Subject: Set a minimal height for math rows X-Git-Tag: 2.3.1~86 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=f33d0789f6360e0b196e738d025360c2ef793b42;p=features.git 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 6df8c42e59f7dbe00d585525d1ce7e91a42411ca) --- 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;