From 6cb460aa7997a4f5f57af8d7ba7202e837a424ce Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
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

