Thanks for the pointer to the 2011 version of SLS
1134. After reading that and discussing further with Cibu,
here's a tentative proposal:
* The most logical[*] interpretation of the sequence 0DBB
0DCA 200D 0DBA is as Repaya+Ya. A standard (Unicode and/or
SLS) should call this out explicitly. ([*]Logical: In other
scripts, including Devanagari, Myanmar, etc. similar types of
modifiers that logically precede a letter are represented in
this way, sometimes without ZWJ or with a different character
in lieu of ZWJ. Also this interpretation plays well alongside
a hypothetical alternative encoding of Yansaya using a single
codepoint.)
* A standard (Unicode and/or SLS) should specify how
Ra+Yansaya should be encoded. SLS 1134 points out that
Ra+Yansaya is an incorrect spelling, yet in order to make this
point it has to show the glyph sequence for Ra+Yansaya. So
there is clearly some need to be able to render this, even if
it's only at this meta-linguistic level. Plus SLS 1134 is very
explicit that e.g. keyboarding should allow for letter
combinations to be entered even if they are not practically
useful. One possible way of encoding Ra+Yansaya is 0DBB 200C
0DCA 200D 0DBA, i.e. Ra ZWNJ Yansaya. This renders as intended
in HarfBuzz with NotoSansSinhala, but not with
LBhashitaComplex. If we had a clear directive regarding how
Ra+Yansaya should be represented, we could work on getting
fonts updated.