From da4f1bda47d24adf0baeb82ef0b46d47ed520b86 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Sat, 17 May 2014 12:32:04 -0300 Subject: [PATCH] Draft: Used replace strategy in latin1 encodings - issue #853 --- src/Mod/Draft/Draft.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index c83947317..b2d57ac73 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -3217,9 +3217,9 @@ class _ViewProviderDimension(_ViewProviderDraft): if coin.COIN_MAJOR_VERSION >= 4: self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string) else: - self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string).decode("latin1") + self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string).decode("latin1","replace") except: - self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string).decode("latin1") + self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string).decode("latin1","replace") self.text.string = self.text3d.string = self.string # set the distance property @@ -3497,7 +3497,14 @@ class _ViewProviderAngularDimension(_ViewProviderDraft): else: self.string = DraftGui.displayExternal(a,getParam("dimPrecision",2),'Angle',su) if obj.ViewObject.Override: - self.string = obj.ViewObject.Override.decode("utf8").encode("latin1").replace("$dim",self.string) + try: + from pivy import coin + if coin.COIN_MAJOR_VERSION >= 4: + self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string) + else: + self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string).decode("latin1","replace") + except: + self.string = obj.ViewObject.Override.encode("utf8").replace("$dim",self.string).decode("latin1","replace") self.text.string = self.text3d.string = self.string # check display mode