From: Jean-Marc Lasgouttes Date: Thu, 12 Jul 2007 13:25:44 +0000 (+0000) Subject: * Paragraph.cpp (simpleTeXOnePar): fix bug with size-changing X-Git-Tag: 1.6.10~9145 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=b995f7715c8d7ac138c751bf68fecb5329dd5cb5;p=lyx.git * Paragraph.cpp (simpleTeXOnePar): fix bug with size-changing macro followed by a space (bug 3382) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19057 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 9fc822753c..c11e934e97 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -67,6 +67,7 @@ using std::ostream; namespace lyx { using support::contains; +using support::suffixIs; using support::rsplit; @@ -2076,11 +2077,20 @@ bool Paragraph::simpleTeXOnePar(Buffer const & buf, font.language() != running_font.language()) && i != body_pos - 1) { - column += font.latexWriteStartChanges(os, bparams, + odocstringstream ods; + column += font.latexWriteStartChanges(ods, bparams, runparams, basefont, last_font); running_font = font; open_font = true; + docstring fontchange = ods.str(); + // check if the fontchange ends with a trailing blank + // (like "\small " (see bug 3382) + if (suffixIs(fontchange, ' ') && c == ' ') + os << fontchange.substr(0, fontchange.size() - 1) + << from_ascii("{}"); + else + os << fontchange; } if (c == ' ') {