X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetlatexaccent.C;h=94c1e2b19c0757d3e573aefdb98a01c2f925b77e;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=720c858fc484d086e9c651e33fea8d9999bc4f00;hpb=8b67659646c6850377cb9f44a2a0a22c0e80840c;p=lyx.git diff --git a/src/insets/insetlatexaccent.C b/src/insets/insetlatexaccent.C index 720c858fc4..94c1e2b19c 100644 --- a/src/insets/insetlatexaccent.C +++ b/src/insets/insetlatexaccent.C @@ -24,11 +24,11 @@ #include "support/lstrings.h" -using lyx::char_type; -using lyx::docstring; -using lyx::odocstream; -using lyx::support::contains; -using lyx::support::trim; + +namespace lyx { + +using support::contains; +using support::trim; using std::endl; using std::string; @@ -242,10 +242,10 @@ void InsetLatexAccent::checkContents() } -void InsetLatexAccent::metrics(MetricsInfo & mi, Dimension & dim) const +bool InsetLatexAccent::metrics(MetricsInfo & mi, Dimension & dim) const { LyXFont & font = mi.base.font; - lyx::frontend::FontMetrics const & fm = theFontMetrics(font); + frontend::FontMetrics const & fm = theFontMetrics(font); // This function is a bit too simplistic and is just a // "try to make a fit for all accents" approach, to @@ -273,7 +273,9 @@ void InsetLatexAccent::metrics(MetricsInfo & mi, Dimension & dim) const docstring dcon(contents.begin(), contents.end()); dim.wid = fm.width(dcon) + 4; } + bool const changed = dim_ != dim; dim_ = dim; + return changed; } @@ -329,7 +331,7 @@ void InsetLatexAccent::drawAccent(PainterInfo const & pi, int x, int y, char_type accent) const { LyXFont const & font = pi.base.font; - lyx::frontend::FontMetrics const & fm = theFontMetrics(font); + frontend::FontMetrics const & fm = theFontMetrics(font); x -= fm.center(accent); y -= fm.ascent(ic); @@ -353,7 +355,7 @@ void InsetLatexAccent::draw(PainterInfo & pi, int x, int baseline) const if (lyxrc.font_norm_type == LyXRC::ISO_10646_1) font.setLanguage(english_language); - lyx::frontend::FontMetrics const & fm = theFontMetrics(font); + frontend::FontMetrics const & fm = theFontMetrics(font); if (candisp) { int x2 = int(x + (fm.rbearing(ic) - fm.lbearing(ic)) / 2); @@ -491,8 +493,7 @@ void InsetLatexAccent::draw(PainterInfo & pi, int x, int baseline) const } case HUNGARIAN_UMLAUT: - drawAccent(pi, x2 - fm.center('´'), baseline, '´'); - drawAccent(pi, x2 + fm.center('´'), baseline, '´'); + drawAccent(pi, x2, baseline, 0x02DD); break; case UMLAUT: @@ -575,7 +576,7 @@ void InsetLatexAccent::read(Buffer const &, LyXLex & lex) int InsetLatexAccent::latex(Buffer const &, odocstream & os, OutputParams const &) const { - os << lyx::from_ascii(contents); + os << from_ascii(contents); return 0; } @@ -583,15 +584,16 @@ int InsetLatexAccent::latex(Buffer const &, odocstream & os, int InsetLatexAccent::plaintext(Buffer const &, odocstream & os, OutputParams const &) const { - os << lyx::from_ascii(contents); + os << from_ascii(contents); return 0; } -int InsetLatexAccent::docbook(Buffer const &, ostream & os, +int InsetLatexAccent::docbook(Buffer const &, odocstream & os, OutputParams const &) const { - os << contents; + // FIXME UNICODE + os << from_ascii(contents); return 0; } @@ -619,3 +621,6 @@ ostream & operator<<(ostream & o, InsetLatexAccent::ACCENT_TYPES at) { return o << int(at); } + + +} // namespace lyx