[tools] Make hb-unicode-code work with Python 3
authorKhaled Hosny <khaledhosny@eglug.org>
Sun, 26 Mar 2017 08:48:53 +0000 (10:48 +0200)
committerKhaled Hosny <khaledhosny@eglug.org>
Sun, 26 Mar 2017 08:50:32 +0000 (10:50 +0200)
Related to https://github.com/behdad/harfbuzz/pull/445

test/shaping/hb_test_tools.py

index 7473982..052974d 100644 (file)
@@ -46,6 +46,17 @@ try:
 except NameError:
        unichr = chr
 
+try:
+       unicode = unicode
+except NameError:
+       unicode = str
+
+def tounicode(s, encoding='ascii', errors='strict'):
+       if not isinstance(s, unicode):
+               return s.decode(encoding, errors)
+       else:
+               return s
+
 class ColorFormatter:
 
        class Null:
@@ -445,7 +456,7 @@ class Unicode:
 
        @staticmethod
        def decode (s):
-               return u','.join ("U+%04X" % ord (u) for u in unicode (s, 'utf-8')).encode ('utf-8')
+               return u','.join ("U+%04X" % ord (u) for u in tounicode (s, 'utf-8'))
 
        @staticmethod
        def parse (s):