On the topic of fonts, I was flabbergasted to discover that the Khmer
alphabet in Unicode needed a very recent version of Uniscribe to work in
any reasonable fashion. An older version (1.409.2600.1106 of
usp10.dll, dated 2002) couldn't handle such simple tasks as preposing
the preposed vowels! What would the problem be here? Where does
the information that vowels are preposed reside? I had assumed it lay
in the font - does it reside in Uniscribe instead?

The issue matters because I was contemplating repairing and re-
encoding a Lanna font, and I was wondering whether I should allow for
phonetic ordering rather than typewriter-inspired ordering. The font I
have is set up for a TIS-620 8-bit encoding with data entry from a
Kedmanee keyboard, which makes using it very counter-intuitive in a
Unicode environment. If fonts can't encode re-ordering I suspect I can't
use the private-use area encoding for phonetic ordering.