Revert "Inherit outer font in text-in-math environments"

This reverts commit f0dccbf3fb.

Unfortunately, the font taken into account is the font at the
current cursor position rather than the font at the corresponding
math inset.
This commit is contained in:
Enrico Forestieri 2023-11-02 02:05:13 +01:00
parent f0dccbf3fb
commit de6d0bfa3f
2 changed files with 8 additions and 11 deletions

View File

@ -10,10 +10,8 @@
#include <config.h> #include <config.h>
#include "MetricsInfo.h"
#include "BufferView.h" #include "BufferView.h"
#include "Cursor.h" #include "ColorSet.h"
#include "LyXRC.h" #include "LyXRC.h"
#include "MetricsInfo.h" #include "MetricsInfo.h"
@ -67,8 +65,7 @@ Changer MetricsBase::changeFontSet(string const & name)
string const oldname = fontname; string const oldname = fontname;
fontname = name; fontname = name;
if (isMathFont(name) || isMathFont(oldname)) if (isMathFont(name) || isMathFont(oldname))
font = isTextFont(name) ? bv->cursor().getFont().fontInfo() font = sane_font;
: sane_font;
augmentFont(font, name); augmentFont(font, name);
font.setSize(rc->old.font.size()); font.setSize(rc->old.font.size());
font.setStyle(rc->old.font.style()); font.setStyle(rc->old.font.style());

View File

@ -81,14 +81,14 @@ void InsetMathBox::htmlize(HtmlStream & ms) const
void InsetMathBox::metrics(MetricsInfo & mi, Dimension & dim) const void InsetMathBox::metrics(MetricsInfo & mi, Dimension & dim) const
{ {
Changer dummy = mi.base.changeFontSet("text"); Changer dummy = mi.base.changeFontSet("textnormal");
cell(0).metrics(mi, dim); cell(0).metrics(mi, dim);
} }
void InsetMathBox::draw(PainterInfo & pi, int x, int y) const void InsetMathBox::draw(PainterInfo & pi, int x, int y) const
{ {
Changer dummy = pi.base.changeFontSet("text"); Changer dummy = pi.base.changeFontSet("textnormal");
cell(0).draw(pi, x, y); cell(0).draw(pi, x, y);
} }
@ -131,7 +131,7 @@ InsetMathFBox::InsetMathFBox(Buffer * buf)
void InsetMathFBox::metrics(MetricsInfo & mi, Dimension & dim) const void InsetMathFBox::metrics(MetricsInfo & mi, Dimension & dim) const
{ {
Changer dummy = mi.base.changeFontSet("text"); Changer dummy = mi.base.changeFontSet("textnormal");
cell(0).metrics(mi, dim); cell(0).metrics(mi, dim);
// 1 pixel space, 1 frame, 1 space // 1 pixel space, 1 frame, 1 space
dim.wid += 2 * 3; dim.wid += 2 * 3;
@ -145,7 +145,7 @@ void InsetMathFBox::draw(PainterInfo & pi, int x, int y) const
Dimension const dim = dimension(*pi.base.bv); Dimension const dim = dimension(*pi.base.bv);
pi.pain.rectangle(x + 1, y - dim.ascent() + 1, pi.pain.rectangle(x + 1, y - dim.ascent() + 1,
dim.width() - 2, dim.height() - 2, Color_foreground); dim.width() - 2, dim.height() - 2, Color_foreground);
Changer dummy = pi.base.changeFontSet("text"); Changer dummy = pi.base.changeFontSet("textnormal");
cell(0).draw(pi, x + 3, y); cell(0).draw(pi, x + 3, y);
} }
@ -219,7 +219,7 @@ InsetMathMakebox::InsetMathMakebox(Buffer * buf, bool framebox)
void InsetMathMakebox::metrics(MetricsInfo & mi, Dimension & dim) const void InsetMathMakebox::metrics(MetricsInfo & mi, Dimension & dim) const
{ {
Changer dummy = mi.base.changeFontSet("text"); Changer dummy = mi.base.changeFontSet("textnormal");
Dimension wdim; Dimension wdim;
static docstring bracket = from_ascii("["); static docstring bracket = from_ascii("[");
@ -250,7 +250,7 @@ void InsetMathMakebox::metrics(MetricsInfo & mi, Dimension & dim) const
void InsetMathMakebox::draw(PainterInfo & pi, int x, int y) const void InsetMathMakebox::draw(PainterInfo & pi, int x, int y) const
{ {
Changer dummy = pi.base.changeFontSet("text"); Changer dummy = pi.base.changeFontSet("textnormal");
BufferView const & bv = *pi.base.bv; BufferView const & bv = *pi.base.bv;
int w = mathed_char_width(pi.base.font, '['); int w = mathed_char_width(pi.base.font, '[');