tools/ucd.py: parse CodePoint/CodeRange entries to their numerical values.

This commit is contained in:
Reece H. Dunn
2012-12-21 20:53:33 +00:00
parent 2813950acc
commit a77e5a142c
+11 -4
View File
@@ -22,17 +22,19 @@ import sys
class CodePoint:
def __init__(self, x):
self.codepoint = x
self.codepoint = int(x, 16)
def __repr__(self):
return self.codepoint
return '%04X' % self.codepoint
def __str__(self):
return self.codepoint
return '%04X' % self.codepoint
class CodeRange:
def __init__(self, x):
self.first, self.last = x.split('..')
f, l = x.split('..')
self.first = CodePoint(f)
self.last = CodePoint(l)
def __repr__(self):
return '%s..%s' % (self.first, self.last)
@@ -40,11 +42,16 @@ class CodeRange:
def __str__(self):
return '%s..%s' % (self.first, self.last)
def size(self):
return self.last.codepoint - self.first.codepoint + 1
def codepoint(x):
if '..' in x:
return CodeRange(x)
if ' ' in x:
return [CodePoint(c) for c in x.split()]
if x == '':
return None
return CodePoint(x)
def string(x):