From ed4efa5d22803e21881839a9f46492e15eae6962 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Wed, 24 Jan 2018 21:02:39 +0100
Subject: [PATCH 01/12] better way to handle unit conversion

---
 Scribus/scribus/plugins/import/revenge/rawpainter.cpp | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/Scribus/scribus/plugins/import/revenge/rawpainter.cpp b/Scribus/scribus/plugins/import/revenge/rawpainter.cpp
index 6bebb3bd0..06e4c3d27 100644
--- a/Scribus/scribus/plugins/import/revenge/rawpainter.cpp
+++ b/Scribus/scribus/plugins/import/revenge/rawpainter.cpp
@@ -1767,13 +1767,15 @@ void RawPainter::insertField(const librevenge::RVNGPropertyList &propList)
 
 double RawPainter::valueAsPoint(const librevenge::RVNGProperty *prop)
 {
-	double value = 0.0;
-	QString str = QString(prop->getStr().cstr()).toLower();
-	if (str.endsWith("in"))
-		value = prop->getDouble() * 72.0;
-	else
-		value = prop->getDouble();
-	return value;
+	switch (prop->getUnit())
+	{
+		case librevenge::RVNG_INCH:
+			return prop->getDouble() * 72.0;
+		case librevenge::RVNG_TWIP:
+			return prop->getDouble() / 20.0;
+		default:
+			return prop->getDouble();
+	}
 }
 
 void RawPainter::applyFill(PageItem* ite)
-- 
2.14.3

