X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetQuotes.cpp;h=1295f27f0753e0949fa11144ea9f9ddc4f193345;hb=9c4929ca406091267dafa40f5e083a27db046bf6;hp=0792e15e91dbbb66a3f43c6f239e39d170f1b82f;hpb=3f27f951cbc2521edfbf78792839d61306bdb978;p=lyx.git diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp index 0792e15e91..1295f27f07 100644 --- a/src/insets/InsetQuotes.cpp +++ b/src/insets/InsetQuotes.cpp @@ -230,14 +230,15 @@ void InsetQuotes::draw(PainterInfo & pi, int x, int y) const { // FIXME: should we add a language or a font parameter member? docstring const text = displayString(); - + FontInfo font = pi.base.font; + font.setPaintColor(pi.textColor(font.realColor())); if (text.length() == 2 && text[0] == text[1]) { - pi.pain.text(x, y, text[0], pi.base.font); - int const t = theFontMetrics(pi.base.font) + pi.pain.text(x, y, text[0], font); + int const t = theFontMetrics(font) .width(','); - pi.pain.text(x + t, y, text[0], pi.base.font); + pi.pain.text(x + t, y, text[0], font); } else { - pi.pain.text(x, y, text, pi.base.font); + pi.pain.text(x, y, text, font); } } @@ -287,8 +288,11 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const } // Always guard against unfortunate ligatures (!` ?`) - if (prefixIs(qstr, "`")) - qstr.insert(0, "{}"); + if (prefixIs(qstr, "`")) { + char_type const lastchar = os.lastChar(); + if (lastchar == '!' || lastchar == '?') + qstr.insert(0, "{}"); + } os << from_ascii(qstr); }