Currently we need to do three lookups:
- is it decomposable?
- if not decomposable:
- is it combining?
- combining class when reordering
We can have a single lookup table storing decomposability and combining class. This will get us all the information in one memory access. We may have to store the combining class in the buffer along with the char for later use when reordering is actually done.
It can potentially speed up both NFD and NFC normalizations. Whether it actually will and how much has to be seen by experimenting.