Le 09/04/2018 à 12:20, Jean-Marc Lasgouttes a écrit :
commit 6df8c42e59f7dbe00d585525d1ce7e91a42411ca
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date: Mon Apr 9 12:18:24 2018 +0200
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.
Riki,
This should go in 2.3.X.
JMarc
---
src/mathed/MathRow.cpp | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/mathed/MathRow.cpp b/src/mathed/MathRow.cpp
index 3459620..5610815 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;