Posted by:
SpaceyT-17 For Indic scripts, Uniscribe of Windows Vista does a neat job of reordering pre-base vowel signs around half-form glyphs. Some similar reordering logic should be applied for Reph.
Say I enter the Bengali characters < Ra Halant C1 Halant C2 Ikaar >, where C2 is not Ba, Ra or Ya (i.e. it has no below-base or post-base form). As a result, C2 is the base consonant for this syllable. Also, there is no conjunct glyph for < C1 Halant C2 > defined in the cjct feature.
As Vrinda has half-form glyphs for almost all consonants (including C1), the following happens:
reorder1: C1 Halant C2 (Ra Halant)rphf Ikaar
cmap: gC1 gHalant gC2 (gRa gHalant)rphf gIkaar
rphf: gC1 gHalant gC2 gReph gIkaar
half: gC1.half gC2 gReph gIkaar // gC1.half is a half-form glyph
reorder2: gIkaar gC1.half gC2 gReph // gIkaar reorders to the left of gC1.half

rendering of Vrinda, which contains a half-form glyph of C1
However, a font without a half-form glyph of C1 would cause the following:
reorder1: C1 Halant C2 (Ra Halant)rphf Ikaar
cmap: gC1 gHalant gC2 (gRa gHalant)rphf gIkaar
rphf: gC1 gHalant gC2 gReph gIkaar
half: gC1 gHalant gC2 gReph gIkaar // no change
reorder2: gC1 gHalant gIkaar gC2 gReph // gIkaar reorders to the left of gC2 only
haln: gC1.haln gIkaar gC2 gReph