From 6cb460aa7997a4f5f57af8d7ba7202e837a424ce Mon Sep 17 00:00:00 2001 From: David Tardon Date: Wed, 24 Jan 2018 23:01:38 +0100 Subject: [PATCH 05/12] fix outline text color --- Scribus/scribus/plugins/import/revenge/rawpainter.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Scribus/scribus/plugins/import/revenge/rawpainter.cpp b/Scribus/scribus/plugins/import/revenge/rawpainter.cpp index 912b74f63..273fe8738 100644 --- a/Scribus/scribus/plugins/import/revenge/rawpainter.cpp +++ b/Scribus/scribus/plugins/import/revenge/rawpainter.cpp @@ -1636,8 +1636,6 @@ void RawPainter::openSpan(const librevenge::RVNGPropertyList &propList) } if (propList["style:text-scale"]) textCharStyle.setFontSize(textCharStyle.fontSize() * fromPercentage(QString(propList["style:text-scale"]->getStr().cstr()))); - if (propList["fo:color"]) - textCharStyle.setFillColor(parseColor(QString(propList["fo:color"]->getStr().cstr()))); if (propList["style:font-name"]) { QString fontVari; @@ -1677,7 +1675,18 @@ void RawPainter::openSpan(const librevenge::RVNGPropertyList &propList) if (propList["style:text-line-through-style"]) styleEffects |= ScStyle_Strikethrough; if (propList["style:text-outline"] && propList["style:text-outline"]->getInt()) + { styleEffects |= ScStyle_Outline; + textCharStyle.setFillColor("None"); + } + if (propList["fo:color"]) + { + const QString color = parseColor(QString(propList["fo:color"]->getStr().cstr())); + if (styleEffects & ScStyle_Outline) + textCharStyle.setStrokeColor(color); + else + textCharStyle.setFillColor(color); + } if (propList["style:text-shadow"]) // TODO: parse offsets styleEffects |= ScStyle_Shadowed; if (propList["fo:hyphenate"]) -- 2.14.3