Description of problem: In Malayalam, we have a lot of conjuncts. The conjuncts(lets call X) are formed with the combination of two consonants(say A and B) with another character called chillu (U + 0D4D). Thus we have the equation A + chillu + B = X Here, if we use another chillu and then another consonant(say C), the conjuct X gets splitted up into its original form ie, A and B, and the final result will be A with chillu and another conjuct formed using B and C if any GSUB rule exist for these B and C. This splitting doesnt happen if C = U + 0D35 or U + 0D2F or U + 0D30 This is found to happen with the following conjuncts: U+0d15 U+0d4d U+0d35 U+0d16 U+0d4d U+0d35 U+0d17 U+0d4d U+0d35 U+0d18 U+0d4d U+0d35 U+0d19 U+0d4d U+0d35 U+0d1a U+0d4d U+0d35 U+0d1b U+0d4d U+0d35 U+0d1c U+0d4d U+0d35 U+0d1d U+0d4d U+0d35 U+0d1e U+0d4d U+0d35 U+0d1f U+0d4d U+0d35 U+0d20 U+0d4d U+0d35 U+0d21 U+0d4d U+0d35 U+0d22 U+0d4d U+0d35 U+0d23 U+0d4d U+0d35 U+0d24 U+0d4d U+0d35 U+0d25 U+0d4d U+0d35 U+0d26 U+0d4d U+0d35 U+0d27 U+0d4d U+0d35 U+0d28 U+0d4d U+0d35 U+0d2a U+0d4d U+0d35 U+0d2b U+0d4d U+0d35 U+0d2c U+0d4d U+0d35 U+0d2d U+0d4d U+0d35 U+0d2e U+0d4d U+0d35 U+0d30 U+0d4d U+0d35 U+0d31 U+0d4d U+0d35 U+0d32 U+0d4d U+0d35 U+0d33 U+0d4d U+0d35 U+0d34 U+0d4d U+0d35 U+0d35 U+0d4d U+0d35 U+0d36 U+0d4d U+0d35 U+0d37 U+0d4d U+0d35 U+0d38 U+0d4d U+0d35 U+0d39 U+0d4d U+0d35 U+0d15 U+0d4d U+0d15 U+0d1a U+0d4d U+0d1a U+0d1f U+0d4d U+0d1f U+0d24 U+0d4d U+0d24 U+0d2a U+0d4d U+0d2a U+0d17 U+0d4d U+0d17 U+0d1c U+0d4d U+0d1c U+0d21 U+0d4d U+0d21 U+0d26 U+0d4d U+0d26 U+0d2c U+0d4d U+0d2c U+0d19 U+0d4d U+0d19 U+0d1e U+0d4d U+0d1e U+0d23 U+0d4d U+0d23 U+0d28 U+0d4d U+0d28 U+0d2e U+0d4d U+0d2e U+0d2f U+0d4d U+0d2f U+0d32 U+0d4d U+0d32 U+0d35 U+0d4d U+0d35 U+0d36 U+0d4d U+0d36 U+0d38 U+0d4d U+0d38 U+0d33 U+0d4d U+0d33 U+0d15 U+0d4d U+0d24 U+0d15 U+0d4d U+0d37 U+0d17 U+0d4d U+0d28 U+0d17 U+0d4d U+0d2e U+0d19 U+0d4d U+0d15 U+0d1a U+0d4d U+0d1b U+0d1c U+0d4d U+0d1e U+0d1e U+0d4d U+0d1a U+0d23 U+0d4d U+0d1f U+0d23 U+0d4d U+0d2e U+0d24 U+0d4d U+0d25 U+0d24 U+0d4d U+0d2e U+0d24 U+0d4d U+0d2d U+0d24 U+0d4d U+0d38 U+0d26 U+0d4d U+0d27 U+0d28 U+0d4d U+0d24 U+0d28 U+0d4d U+0d25 U+0d28 U+0d4d U+0d26 U+0d28 U+0d4d U+0d27 U+0d28 U+0d4d U+0d2a U+0d28 U+0d4d U+0d2e U+0d28 U+0d4d U+0d31 U+0d2c U+0d4d U+0d26 U+0d2c U+0d4d U+0d27 U+0d36 U+0d4d U+0d1a U+0d37 U+0d4d U+0d1f U+0d38 U+0d4d U+0d25 U+0d39 U+0d4d U+0d28 U+0d39 U+0d4d U+0d2e Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: Explaining with one example. 1.Open kbabel application 2.Type U + 0D15 (say A) 3.Type U + 0D4D (chillu) 4.Type U + 0D15 (say B) 5.Type U + 0D4D (chillu) 6.Type any consonant from (U + 0D15) - (U + 0D39) except (U + 0D35),(U + 0D2F), (U + 0D30) (say C) Actual results: When the above steps are done, if there exists a conjuct for the combination B and C, then the already formed conjuct of A and B gets splitted and new conjuct is formed using B and C, else they are simply displayed in the key sequence. Expected results: When the above steps are done, the second chillu must be applied to the conjuct formed using A and B ie, this must be considered as a single character and then the rule must be aplied to that. Additional info:
*Wrong glyph class for ligatures* might be causing this issue.
This is not a problem at all! Infact the font has been developed with that intent. The class definition is not a problem. Though the shape change of ligatures can be avoided by changing the flag for ligature to be 'akhn' i.e. the feature 'Akhand', which generally can not be expected for all the ligatures. Though if there are some special features in malayalam regarding the more than two consonant combinations, Ani will have to give detailed requirements, shapes of the final glyphs. The problem can be then solved in font file, by changing feature flags and may require additional intermediate half glyphs for the ligatures, as in case of the ligature 'kSsa'(u0915+u094d+u0937). Ani, please give your shape requirements for the final glyphs in all these cases, so that the solution can be finalized.
Rahul, In malayalam we have different type of conjuncts. Each conjunct once formed are considered as another stand alone characters and if a chillu is followed by them it should be applied to the the conjuct considering it as one single character. Here, problem occurs in two type of conjuncts Type 1: (consonant + chillu + same consonant), which is used to stress emphasis on that consonant. They are: [unicodes and the corresponding keys] (U +0D15) + (U + 0D4D) + (U + 0D15) // key K + key D + key K (U +0D17) + (U + 0D4D) + (U + 0D17) // key I + key D + key I (U +0D19) + (U + 0D4D) + (U + 0D19) // (shift+key U) + key D + (shift+key U) (U +0D1A) + (U + 0D4D) + (U + 0D1A) // key ; + key D + key ; (U +0D1C) + (U + 0D4D) + (U + 0D1C) // key P + key D + key P (U +0D1E) + (U + 0D4D) + (U + 0D1E) // (shift+key ]) + key D + (shift+key ]) (U +0D1F) + (U + 0D4D) + (U + 0D1F) // key ' + key D + key ' (U +0D21) + (U + 0D4D) + (U + 0D21) // key [ + key D + key [ (U +0D23) + (U + 0D4D) + (U + 0D23) // (shift+key C) + key D + (shift+key C) (U +0D24) + (U + 0D4D) + (U + 0D24) // key L + key D + key L (U +0D26) + (U + 0D4D) + (U + 0D26) // key O + key D + key O (U +0D28) + (U + 0D4D) + (U + 0D28) // key V + key D + key V (U +0D2A) + (U + 0D4D) + (U + 0D2A) // key H + key D + key H (U +0D2C) + (U + 0D4D) + (U + 0D2C) // key Y + key D + key Y (U +0D2E) + (U + 0D4D) + (U + 0D2E) // key C + key D + key C (U +0D2F) + (U + 0D4D) + (U + 0D2F) // key / + key D + key / (U +0D32) + (U + 0D4D) + (U + 0D32) // key N + key D + key N (U +0D33) + (U + 0D4D) + (U + 0D33) // (shift+key N) + key D + (shift+key N) (U +0D35) + (U + 0D4D) + (U + 0D35) // key B + key D + key B (U +0D36) + (U + 0D4D) + (U + 0D36) // (shift+key M) + key D + (shift+key M) (U +0D38) + (U + 0D4D) + (U + 0D38) // key M + key D + key M NOTE: 0D31 (key J) also falls in this category, but does not have problem. Type 2: (consonant + chillu + another consonant) (U + 0D15) + (U + 0D4D) + (U + 0D24) // key K + key D + key H (U + 0D15) + (U + 0D4D) + (U + 0D37) // key K + key D + (shift+key ,) (U + 0D17) + (U + 0D4D) + (U + 0D28) // key I +key D + key V (U + 0D1A) + (U + 0D4D) + (U + 0D1B) // key; + key D + (shift+key ;) (U + 0D1C) + (U + 0D4D) + (U + 0D1E) // key P + key D + (shift+key ]) (U + 0D1E) + (U + 0D4D) + (U + 0D1A) // (shift+key ]) + key D + key ; (U + 0D23) + (U + 0D4D) + (U + 0D1F) // (shift+key C) + key D + key ' (U + 0D23) + (U + 0D4D) + (U + 0D2E) // (shift+key C) + key D + key C (U + 0D24) + (U + 0D4D) + (U + 0D25) // key L + key D + (shift+key L) (U + 0D24) + (U + 0D4D) + (U + 0D2E) // key L + key D + key C (U + 0D24) + (U + 0D4D) + (U + 0D2D) // key L + key D + (shift+key Y) (U + 0D24) + (U + 0D4D) + (U + 0D38) // key L + key D + key M (U + 0D26) + (U + 0D4D) + (U + 0D27) // key O + key D + (shift+key O) (U + 0D28) + (U + 0D4D) + (U + 0D25) // key V + key D + (shift+key L) (U + 0D28) + (U + 0D4D) + (U + 0D26) // key V + key D + key O (U + 0D28) + (U + 0D4D) + (U + 0D27) // key V + key D + (shift+key O) (U + 0D28) + (U + 0D4D) + (U + 0D2A) // key V + key D + key H (U + 0D28) + (U + 0D4D) + (U + 0D2E) // key V + key D + key C (U + 0D2C) + (U + 0D4D) + (U + 0D26) // key Y + key D + key O (U + 0D2C) + (U + 0D4D) + (U + 0D27) // key Y + key D + (shift+key O) (U + 0D36) + (U + 0D4D) + (U + 0D1A) // (shift+key M) + key D + key ; (U + 0D37) + (U + 0D4D) + (U + 0D1F) // (shift+key ,) + key D + key ' (U + 0D38) + (U + 0D4D) + (U + 0D25) // key M + key D + (shift+key L) (U + 0D39) + (U + 0D4D) + (U + 0D28) // key U + key D + key V
Created attachment 137177 [details] Patch This patch changes all the ligature tags to 'akhn', and thus solve the problem of triple combinations. It also fixes few other bugs, #206387, #202163.
Which group (Pri A, B, or C) of the bugs does this belong to??
Its a Pri B bug.
it is working fine, as mention in comment #3, tested with following version: fonts-malayalam-2.1.5-1.fc7