Description of problem: this problem is quite confusing, so describing it throughly. Repaya form of the conjuncts can be prosuced in two ways. 1st is with 200D (Zero width Non-Joiner) and 2nd is without 200D. The shape of any combination for both the cases should be different. Now for Both, with and without 200D, the shape appearing, is the same. Now the 1st problem is the shape appearing now for both, should be for the combination which is without 200D only. And 2nd problem is there is not correct shape available with the combination which is with 200D. For Example : Combination with 200D : 0D9A + 0DBB + 0DCA + 200D + 0D9A : Actually for this type of combination, there is no proper shape available now. This is to be implemented still. Combination without 200D : 0D9A + 0DBB + 0DCA + 0D9A : The shape now showing, is the proper shape for this type of combination which is without 200D. Version-Release number of selected component (if applicable): fonts-sinhala-0.2-4 pango-1.14.4-1.cf6 scim-sinhala-0.2.0-1.fc6 How reproducible: Always Steps to Reproduce: 1. Open gedit 2. Activate SCIM with CTRL+SPACE. 3. Select RAWCODE from the scim-table in Others 4. Type the unicode sequentially as given in the 1st comment but without 'U' and '+'. 5. Observe the result. Actual results: Shapes are showing same for both the set of repaya form Expected results: Shape should different for each set of Repaya form. Additional info: The list of Combinations with and without 200D is given in the first comment as its a big list!!
Unicode Combinations with 200D : U+0D9A U+0DBB U+0DCA U+200D U+0D9A U+0D9B U+0DBB U+0DCA U+200D U+0D9A U+0D9C U+0DBB U+0DCA U+200D U+0D9A U+0D9D U+0DBB U+0DCA U+200D U+0D9A U+0D9E U+0DBB U+0DCA U+200D U+0D9A U+0D9F U+0DBB U+0DCA U+200D U+0D9A U+0DA0 U+0DBB U+0DCA U+200D U+0D9A U+0DA1 U+0DBB U+0DCA U+200D U+0D9A U+0DA2 U+0DBB U+0DCA U+200D U+0D9A U+0DA3 U+0DBB U+0DCA U+200D U+0D9A U+0DA4 U+0DBB U+0DCA U+200D U+0D9A U+0DA5 U+0DBB U+0DCA U+200D U+0D9A U+0DA6 U+0DBB U+0DCA U+200D U+0D9A U+0DA7 U+0DBB U+0DCA U+200D U+0D9A U+0DA8 U+0DBB U+0DCA U+200D U+0D9A U+0DA9 U+0DBB U+0DCA U+200D U+0D9A U+0DAA U+0DBB U+0DCA U+200D U+0D9A U+0DAB U+0DBB U+0DCA U+200D U+0D9A U+0DAC U+0DBB U+0DCA U+200D U+0D9A U+0DAD U+0DBB U+0DCA U+200D U+0D9A U+0DAE U+0DBB U+0DCA U+200D U+0D9A U+0DAF U+0DBB U+0DCA U+200D U+0D9A U+0DB0 U+0DBB U+0DCA U+200D U+0D9A U+0DB1 U+0DBB U+0DCA U+200D U+0D9A U+0DB3 U+0DBB U+0DCA U+200D U+0D9A U+0DB4 U+0DBB U+0DCA U+200D U+0D9A U+0DB5 U+0DBB U+0DCA U+200D U+0D9A U+0DB6 U+0DBB U+0DCA U+200D U+0D9A U+0DB7 U+0DBB U+0DCA U+200D U+0D9A U+0DB8 U+0DBB U+0DCA U+200D U+0D9A U+0DB9 U+0DBB U+0DCA U+200D U+0D9A U+0DBA U+0DBB U+0DCA U+200D U+0D9A U+0DBB U+0DBB U+0DCA U+200D U+0D9A U+0DBD U+0DBB U+0DCA U+200D U+0D9A U+0DC0 U+0DBB U+0DCA U+200D U+0D9A U+0DC1 U+0DBB U+0DCA U+200D U+0D9A U+0DC2 U+0DBB U+0DCA U+200D U+0D9A U+0DC3 U+0DBB U+0DCA U+200D U+0D9A U+0DC4 U+0DBB U+0DCA U+200D U+0D9A U+0DC5 U+0DBB U+0DCA U+200D U+0D9A U+0DC6 U+0DBB U+0DCA U+200D U+0D9A U+0D9A U+0DBB U+0DCA U+200D U+0DBA U+0DCA U+200D U+0DBA Unicode Combinations without 200D : U+0D9A U+0DBB U+0DCA U+0D9A U+0D9B U+0DBB U+0DCA U+0D9A U+0D9C U+0DBB U+0DCA U+0D9A U+0D9D U+0DBB U+0DCA U+0D9A U+0D9E U+0DBB U+0DCA U+0D9A U+0D9F U+0DBB U+0DCA U+0D9A U+0DA0 U+0DBB U+0DCA U+0D9A U+0DA1 U+0DBB U+0DCA U+0D9A U+0DA2 U+0DBB U+0DCA U+0D9A U+0DA3 U+0DBB U+0DCA U+0D9A U+0DA4 U+0DBB U+0DCA U+0D9A U+0DA5 U+0DBB U+0DCA U+0D9A U+0DA6 U+0DBB U+0DCA U+0D9A U+0DA7 U+0DBB U+0DCA U+0D9A U+0DA8 U+0DBB U+0DCA U+0D9A U+0DA9 U+0DBB U+0DCA U+0D9A U+0DAA U+0DBB U+0DCA U+0D9A U+0DAB U+0DBB U+0DCA U+0D9A U+0DAC U+0DBB U+0DCA U+0D9A U+0DAD U+0DBB U+0DCA U+0D9A U+0DAE U+0DBB U+0DCA U+0D9A U+0DAF U+0DBB U+0DCA U+0D9A U+0DB0 U+0DBB U+0DCA U+0D9A U+0DB1 U+0DBB U+0DCA U+0D9A U+0DB3 U+0DBB U+0DCA U+0D9A U+0DB4 U+0DBB U+0DCA U+0D9A U+0DB5 U+0DBB U+0DCA U+0D9A U+0DB6 U+0DBB U+0DCA U+0D9A U+0DB7 U+0DBB U+0DCA U+0D9A U+0DB8 U+0DBB U+0DCA U+0D9A U+0DB9 U+0DBB U+0DCA U+0D9A U+0DBA U+0DBB U+0DCA U+0D9A U+0DBB U+0DBB U+0DCA U+0D9A U+0DBD U+0DBB U+0DCA U+0D9A U+0DC0 U+0DBB U+0DCA U+0D9A U+0DC1 U+0DBB U+0DCA U+0D9A U+0DC2 U+0DBB U+0DCA U+0D9A U+0DC3 U+0DBB U+0DCA U+0D9A U+0DC4 U+0DBB U+0DCA U+0D9A U+0DC5 U+0DBB U+0DCA U+0D9A U+0DC6 U+0DBB U+0DCA U+0D9A U+0D9A U+0DBB U+0DCA U+0DBA U+0DCA U+0DBA
1. The entire bug can be summerized as: Combination of: consonant + u0DCA + u0D9A does not produce the repaya form. 2. The bug description says, consonant + u0DCA + u0D9A should not produce any substitution and consonant + u0DCA + u200D + u0D9A should produce substitution. This description is logically wrong since it demands use of Zero-Width-Non-Joiner(u200D) for combining two consonants and a straight combination to be desplayed without any substitution. Though its technically possible, it can not be recommanded. I will need to study this issue in detail and verify the implementations in the font for other similar cases.
CORRRECTION: In previous comment, the combinations are: 1. u0DBB + u0DCA + consonant (and not consonant + u0DCA + u0D9A ) 2. u0DBB + u0DCA + u200D + consonant (and not consonant + u0DCA + u200d + u0D9A )
The character u0DBB gets a post-base *reph* form. In pango its class bit is currently '_ct', it should be '_rv' similar to u0930 of devanagari.
The character u0DBB gets a above-base *reph* form. In pango its class bit is currently '_ct', it should be '_rv' similar to u0930 of devanagari.
The Comment #5 is correction to Comment #4.
According to the standards accepted by govt. agencies in Srilanka, the rephaya form should be displayed as a combination of 0DBB + 0DCA + 200D + Consonant Though it technically adds lot of redendancy work in font development, this standard is accepted by most of the Sinhala fonts. Also its not very convincing to use rephaya(reph) forms in this way while all other Indic scripts have a general standard for it. Though this is what Sinhala community has been using for developing i18n tools. Changing it all would be lot difficult. I found the glyphs for most rephaya forms present in the font but they are missing the ligature rules. Thus this bug can be solved in font, no modification needed in Pango.
Created attachment 137294 [details] Patch to fix all rephaya problems Font was missing GSUB rules for the rephaya forms. I have added these rules.
Thanks Rahul. Built into fonts-sinhala-0.2.1-1
Created attachment 153939 [details] Tested Images for verification
Created attachment 153941 [details] Tested Image2 for verification
snavin, can you please check above combination whether those are correct or not?
A S Alam, I have checked above combination, those are correct.
So this is fixed now?
based on comment #13, it is marked fixed, if found further issue, please reopen issue, thanks