L2/11-110 Date: April 17, 2011 Subject: Reserving CCC values From: Mark Davis Please add the following to the agenda and doc registry. ==== Normalization routines are increasingly being implemented on a variety of devices, including low memory devices. For those circumstances, it is useful to be able to pack a byte with both Canonical_Combining_Class values and some extra information, such as an NFKC_QC flag. For example, one can do a fast and compact table for implementing isNFD by using a value (such as 0xFF) to represent NFKC_QC=No. As long as some values in CCC are unused, such compaction would be safe. We currently use only 55 of the possible CCC values. Because we don't anticipate coming anywhere near needing all 255 possible values for CCC, I suggest that we permanently reserve some values such as 250..255, allowing them to be used for such 'table-packing'. The top value currently used is 240, so 250 and above would be safe, and easy to test. We could give them values such as RESERVED-250 (abbreviated R250), and so on. See http://unicode.org/Public/UNIDATA/extracted/DerivedCombiningClass.txt, and http://unicode.org/Public/UNIDATA/PropertyValueAliases.txt