implement primary and canonical composition, and hence NFC/NFKC
commitdb0110475c0db5dc3cb1bb12de0b0c475880899e
authorChristophe Rhodes <csr21@cantab.net>
Sat, 18 May 2013 12:37:55 +0000 (18 13:37 +0100)
committerChristophe Rhodes <csr21@cantab.net>
Sat, 18 May 2013 19:04:05 +0000 (18 20:04 +0100)
tree5f293c9f7ebb2e32f7b4f1c7f4f0c79cae193263
parentd0895e12b8275044532ce9a6041b91043cd69d4a
implement primary and canonical composition, and hence NFC/NFKC

Read in the non-algorithmically-specified composition exclusions from
Unicode's CompositionExclusions.txt file, and generate a hash table
using the concatenated 42 bits of code points.  This is a bit of a
sucky hash-table key, particularly on 32-bit platforms; I have a plan
to reduce the key to 24 bits (using some auxiliary information in ucd)
but the advantage of getting this try in is...

... hook in NFC/NFKC into normalization tests, and check that tests
pass.
src/code/target-char.lisp
tests/unicode-normalization.impure.lisp
tools-for-build/CompositionExclusions.txt [new file with mode: 0644]
tools-for-build/ucd.lisp