If we do not modify current version of NFC jamo handling behavior,
we should add some (L)(LV) <==> LLV equivalence for correct rendering
implementation.
Well, it's too late to change NFC. For a rendering engine, the best
approach may to map the input to a sequence of basic (non-cluster) Jamos,
and then let the font and font support mechanisms deal with contectual
(sub)glyph selection, ligature (sub)glyph selection and (sub)glyph
positioning. Note that a handfull of glyph variants are used for each
basic Hangul Jamo letter. I don't know to what extent ligatures may
be needed. Both of these are font matters, not encoding matters.
For efficiency, in a rendering engine, syllable characters that do
not have adjacent Jamos may use precomposed glyphs.
Another partial jamo combination is also found in
NFC's handling of (choseong+jongseong+ ancient jongseong) sequence.
: LVFa ---> (LV)(Fa)
Martin Duerst had said the latter normaliation may not be a fault, but
(LV)(Fa) is just an intermediate form of hangul syllable.
Not quite. Its a (single) complete syllable, represented using two
characters, one of which is a (conjoining!!) syllable character.
(As Unicode stands, there is nothing intermediate about it.)
Kind regards
/kent k