Commit 5bb8f78d authored by Jack Jansen's avatar Jack Jansen

Added support for unicode strings (utxt).

parent 085eb1b3
...@@ -88,6 +88,11 @@ def pack(x, forcetype = None): ...@@ -88,6 +88,11 @@ def pack(x, forcetype = None):
return AE.AECreateDesc('doub', struct.pack('d', x)) return AE.AECreateDesc('doub', struct.pack('d', x))
if t == StringType: if t == StringType:
return AE.AECreateDesc('TEXT', x) return AE.AECreateDesc('TEXT', x)
if t == UnicodeType:
data = t.encode('utf16')
if data[:2] == '\xfe\xff':
data = data[2:]
return AE.AECreateDesc('utxt', data)
if t == ListType: if t == ListType:
list = AE.AECreateList('', 0) list = AE.AECreateList('', 0)
for item in x: for item in x:
...@@ -132,6 +137,8 @@ def unpack(desc): ...@@ -132,6 +137,8 @@ def unpack(desc):
return struct.unpack('b', desc.data)[0] return struct.unpack('b', desc.data)[0]
if t == typeChar: if t == typeChar:
return desc.data return desc.data
if t == typeUnicodeText:
return unicode(desc.data, 'utf16')
# typeColorTable coerced to typeAEList # typeColorTable coerced to typeAEList
# typeComp coerced to extended # typeComp coerced to extended
# typeData returned as unknown # typeData returned as unknown
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment