From 98ad6fe25d30b3c1b1c79ae4169fe6501f05e9e6 Mon Sep 17 00:00:00 2001
From: Ulrich Brammer <ubrammer@t-online.de>
Date: Tue, 11 Feb 2014 23:49:47 +0100
Subject: Renables non-asci characters in the Override string in Drawing
 projections

---
 src/Mod/Draft/Draft.py |   29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py
index 55dc894..f083c9a 100644
--- a/src/Mod/Draft/Draft.py
+++ b/src/Mod/Draft/Draft.py
@@ -1636,20 +1636,20 @@ def getSVG(obj,scale=1,linewidth=0.35,fontsize=12,fillstyle="shape color",direct
         return svg
         
     def getText(color,fontsize,fontname,angle,base,text):
-        svg = '<text fill="'
-        svg += getrgb(color) +'" font-size="'
+        svg = u'<text fill="'
+        svg += getrgb(color) +u'" font-size="'
         svg += str(fontsize) + '" '
-        svg += 'style="text-anchor:middle;text-align:center;'
-        svg += 'font-family:'+ fontname +'" '
-        svg += 'transform="rotate('+str(math.degrees(angle))
-        svg += ','+ str(base.x) + ',' + str(base.y) + ') '
-        svg += 'translate(' + str(base.x) + ',' + str(base.y) + ') '
+        svg += u'style="text-anchor:middle;text-align:center;'
+        svg += u'font-family:'+ fontname +'" '
+        svg += u'transform="rotate('+str(math.degrees(angle))
+        svg += u','+ str(base.x) + ',' + str(base.y) + u') '
+        svg += u'translate(' + str(base.x) + u',' + str(base.y) + u') '
         #svg += 'scale('+str(tmod/2000)+',-'+str(tmod/2000)+') '
-        svg += 'scale(1,-1) '
-        svg += '" freecad:skip="1"'
-        svg += '>\n'
-        svg += text
-        svg += '</text>\n'
+        svg += u'scale(1,-1) '
+        svg += u'" freecad:skip="1"'
+        svg += u'>\n'
+        svg += text.decode('utf-8')
+        svg += u'</text>\n'
         return svg
 
         
@@ -3109,8 +3109,9 @@ class _ViewProviderDimension(_ViewProviderDraft):
                 fstring = "%." + str(getParam("dimPrecision",2)) + "f"
             self.string = (fstring % l)
             if obj.ViewObject.Override:
-                self.string = unicode(obj.ViewObject.Override).encode("latin1").replace("$dim",self.string)
-            self.text.string = self.text3d.string = self.string
+                self.string = unicode(obj.ViewObject.Override).encode("utf-8").replace("$dim",self.string)
+            self.text.string = self.string.decode('utf-8').encode('latin1')
+            self.text3d.string = self.string.decode('utf-8').encode('latin1')
 
             # set the distance property
             if round(obj.Distance,precision()) != round(l,precision()):
-- 
1.7.10.4

