Amiguity(?) in Sinhala named sequences

Asmus Freytag asmusf at
Fri Oct 14 13:09:28 CDT 2016

This is an interesting question.

It seems the task of parsing a text into sequences depends on the 
purpose. Not all sequences of interest are named and, in the general 
case, not all attempts at parsing may be unique. In this case, it looks 
like the named sequences would correspond to a specific (ligated) glyph 
that matches a user-perceived unit of the writing system.

Such a parsing task is akin to scanning, for example, strings using the 
Latin script for ligatures - while trying to emulate the rules that were 
in effect during days of hot metal typesetting for certain languages. 
For example, it wasn't enough to know that a certain cluster of letters 
might have a ligature glyph, one would also have to know whether the 
cluster straddled a (compound) word boundary or not. Just knowing the 
specification of ligated sequences alone would not be enough to identify 
a correct parse.

Such rules, however, are usually not part of the Unicode standard.

The situation here is similar; the standard simply specifies that a 
certain sequence of code points has a collective name. In case of 
ambiguities, you'll have to turn to external sources to resolve them.

Now, if this isthe only such ambiguity (or one of a very small number) 
and if identification of the correct sequence is essential for selecting 
the correct rendering, I don't see why the script description for 
Sinhala couldn't be augmented to discuss that issue.

In which case, the way to proceed is to assemble the full set of facts 
and submit them to the UTC using the reporting form on the website.


On 10/14/2016 10:07 AM, Martin Jansche wrote:
> For Sinhala, the following named sequences are defined (for good reasons):
> I'll abbreviate these as Yansaya, Rakaransaya, and Repaya, and I'll 
> write Ya for 0DBA and Ra for 0DBB.
> Note that these give rise to two potentially ambiguous codepoint 
> strings, namely
>   0DBB 0DCA 200D 0DBA
>   0DBB 0DCA 200D 0DBB
> I'll concentrate on the first, as all arguments apply to the second 
> one analogously.
> At a first glance, the sequence 0DBB 0DCA 200D 0DBA has two possible 
> parses:
>   0DBB + 0DCA 200D 0DBA, i.e. Ra + Yansaya
>   0DBB 0DCA 200D + 0DBA, i.e. Repaya + Ya
> First question: Does the standard give any guidance as to which one is 
> the intended parse? The section on Sinhala in the Unicode Standard is 
> silent about this. Is there a general principle I'm missing?
> Sri Lanka Standard SLS 1134 (2004 draft) states that Ra+Yansaya is not 
> used and is considered incorrect, suggesting that the second parse 
> (Repaya+Ya) should be the default interpretation of this sequence. 
> However, SLS 1134 does not address the potential ambiguity of this 
> sequence explicitly and the description there could be read as 
> informative, not normative.
> Second question: Given that one parse of this sequence should be the 
> default, how does one represent the non-default parse?
> In most cases one can guess what the intended meaning is, but I 
> suspect this is somewhat of a gray area. In practice, trying to render 
> these problematic sequences and their neighbors in HarfBuzz with a 
> variety of fonts results in a variety of outcomes (including 
> occasionally unexpected glyph choices). If the meaning of these 
> sequences is not well defined, that would partly explain the variation 
> across fonts.
> Am I missing something fundamental? If not, it seems this issue should 
> be called out explicit in some part of the standard.
> Regards,
> -- martin

More information about the Unicode mailing list