mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Revert "Try to compute row height like it should be done"
This is not done right at all. The best is to revert for now and
think about how to do it properly.
This reverts commit 66a3d64346
.
This commit is contained in:
parent
051a1a56a9
commit
6df593049c
@ -376,11 +376,8 @@ void Row::finalizeLast()
|
||||
|
||||
if (elt.type == STRING) {
|
||||
dim_.wid -= elt.dim.wid;
|
||||
FontMetrics const & fm = theFontMetrics(elt.font);
|
||||
elt.dim.wid = fm.width(elt.str);
|
||||
elt.dim.wid = theFontMetrics(elt.font).width(elt.str);
|
||||
dim_.wid += elt.dim.wid;
|
||||
dim_.asc = fm.maxAscent() + fm.leading();
|
||||
dim_.des = fm.maxDescent();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,6 @@
|
||||
#include "support/convert.h"
|
||||
#include "support/debug.h"
|
||||
#include "support/lassert.h"
|
||||
#include "support/lyxlib.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <cmath>
|
||||
@ -62,10 +61,6 @@ using frontend::FontMetrics;
|
||||
|
||||
namespace {
|
||||
|
||||
// the somewhat arbitrary leading added between rows. This is 20% of
|
||||
// the characters height, inluding the possible leading of the font.
|
||||
// 20% is a standard value used by LaTeX and word processors.
|
||||
double const extra_leading = 0.2;
|
||||
|
||||
int numberOfLabelHfills(Paragraph const & par, Row const & row)
|
||||
{
|
||||
@ -1155,19 +1150,27 @@ void TextMetrics::setRowHeight(Row & row) const
|
||||
// Initial value for ascent (useful if row is empty).
|
||||
Font const font = displayFont(row.pit(), row.pos());
|
||||
FontMetrics const & fm = theFontMetrics(font);
|
||||
int maxasc = fm.maxAscent() + fm.leading();
|
||||
int maxdes = fm.maxDescent();
|
||||
int maxasc = int(fm.maxAscent() * spacing_val);
|
||||
int maxdes = int(fm.maxDescent() * spacing_val);
|
||||
|
||||
// Find the ascent/descent of the row contents
|
||||
for (Row::Element const & e : row) {
|
||||
maxasc = max(maxasc, e.dim.ascent());
|
||||
maxdes = max(maxdes, e.dim.descent());
|
||||
if (e.inset) {
|
||||
maxasc = max(maxasc, e.dim.ascent());
|
||||
maxdes = max(maxdes, e.dim.descent());
|
||||
} else {
|
||||
FontMetrics const & fm2 = theFontMetrics(e.font);
|
||||
maxasc = max(maxasc, int(fm2.maxAscent() * spacing_val));
|
||||
maxdes = max(maxdes, int(fm2.maxDescent() * spacing_val));
|
||||
}
|
||||
}
|
||||
|
||||
// Add some leading (split between before and after)
|
||||
int const leading = support::iround(extra_leading * (maxasc + maxdes));
|
||||
row.dim().asc = int((maxasc + leading - leading / 2) * spacing_val);
|
||||
row.dim().des = int((maxdes + leading / 2) * spacing_val);
|
||||
// This is nicer with box insets
|
||||
++maxasc;
|
||||
++maxdes;
|
||||
|
||||
row.dim().asc = maxasc;
|
||||
row.dim().des = maxdes;
|
||||
}
|
||||
|
||||
|
||||
@ -2017,8 +2020,7 @@ void TextMetrics::completionPosAndDim(Cursor const & cur, int & x, int & y,
|
||||
|
||||
int defaultRowHeight()
|
||||
{
|
||||
FontMetrics const & fm = theFontMetrics(sane_font);
|
||||
return support::iround(fm.maxHeight() * (1 + extra_leading) + fm.leading());
|
||||
return int(theFontMetrics(sane_font).maxHeight() * 1.2);
|
||||
}
|
||||
|
||||
} // namespace lyx
|
||||
|
@ -60,8 +60,6 @@ public:
|
||||
virtual int maxAscent() const = 0;
|
||||
/// return the maximum descent of the font
|
||||
virtual int maxDescent() const = 0;
|
||||
/// return the default leading of the font (often 0)
|
||||
virtual int leading() const = 0;
|
||||
/// return default dimension of the font.
|
||||
/// \warning \c width is set to zero.
|
||||
virtual Dimension const defaultDimension() const = 0;
|
||||
|
@ -111,12 +111,6 @@ int GuiFontMetrics::maxDescent() const
|
||||
}
|
||||
|
||||
|
||||
int GuiFontMetrics::leading() const
|
||||
{
|
||||
return metrics_.leading();
|
||||
}
|
||||
|
||||
|
||||
int GuiFontMetrics::em() const
|
||||
{
|
||||
return QFontInfo(font_).pixelSize();
|
||||
|
@ -36,7 +36,6 @@ public:
|
||||
|
||||
virtual int maxAscent() const;
|
||||
virtual int maxDescent() const;
|
||||
virtual int leading() const;
|
||||
virtual Dimension const defaultDimension() const;
|
||||
virtual int em() const;
|
||||
virtual int xHeight() const;
|
||||
|
Loading…
Reference in New Issue
Block a user