diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-10-18 17:34:18 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-10-18 17:34:18 (GMT) |
commit | 99ac3283e74d8d33479f9ef58a018b0d9a25e3b3 (patch) | |
tree | f53ec492ebc0f64050a98cbe3ef66823e6f001f0 /Tools | |
parent | d8eeeae4a6d2c9d6cd412154fcfaa68d24fe6145 (diff) | |
download | cpython-99ac3283e74d8d33479f9ef58a018b0d9a25e3b3.zip cpython-99ac3283e74d8d33479f9ef58a018b0d9a25e3b3.tar.gz cpython-99ac3283e74d8d33479f9ef58a018b0d9a25e3b3.tar.bz2 |
Verify that lower-higher case delta are 16-bit.
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/unicode/makeunicodedata.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py index 5e949b3..3b2fd11 100644 --- a/Tools/unicode/makeunicodedata.py +++ b/Tools/unicode/makeunicodedata.py @@ -223,15 +223,21 @@ def makeunicodetype(unicode, trace): flags |= UPPER_MASK # use delta predictor for upper/lower/title if record[12]: - upper = (int(record[12], 16) - char) & 0xffff + upper = int(record[12], 16) - char + assert -32768 <= upper <= 32767 + upper = upper & 0xffff else: upper = 0 if record[13]: - lower = (int(record[13], 16) - char) & 0xffff + lower = int(record[13], 16) - char + assert -32768 <= lower <= 32767 + lower = lower & 0xffff else: lower = 0 if record[14]: - title = (int(record[14], 16) - char) & 0xffff + title = int(record[14], 16) - char + assert -32768 <= lower <= 32767 + title = title & 0xffff else: title = 0 # decimal digit, integer digit @@ -322,6 +328,8 @@ def makeunicodename(unicode, trace): wordlist = words.items() # sort on falling frequency + # XXX: different Python versions produce a different order + # for words with equal frequency wordlist.sort(lambda a, b: len(b[1])-len(a[1])) # figure out how many phrasebook escapes we need |