From d67b57961f1902b4d27b223f8b0b400ab3d2062e Mon Sep 17 00:00:00 2001 From: ntakahas Date: Tue, 14 Oct 2008 10:54:47 +0000 Subject: [PATCH] Interpret CHCHJ as CHCH J rather than CH CHJ. --- FLT/MLYM-OTF.flt | 45 ++++++++++++++------------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/FLT/MLYM-OTF.flt b/FLT/MLYM-OTF.flt index e60b1a1..48426a1 100644 --- a/FLT/MLYM-OTF.flt +++ b/FLT/MLYM-OTF.flt @@ -10,7 +10,7 @@ ;;; For Malayalam OpenType fonts to draw the reformed Malayalam script. ;; Tested with the following fonts. All of these fonts require Halant -;; movement for syllable-final YA, LA and VA, but not for RA. +;; movement for syllable-final YA and VA, but not for RA and LA. ;; AnjaliOldLipi.ttf ;; Dyuthi3.ttf @@ -82,16 +82,16 @@ ("([CP](H[CP])*)(bA?|pA?|A)" < | (1 move-h) (3 = *) | >) - ;; Explicit Halant / forced chillu form is separated from the - ;; preceding characters. - ;;12 3 - ("(([CP]H)*)([CP]H[NJ])" - (1 < | cut-off | >) (3 < | = * | >)) + ;; Forced chillu form. + ;;1 2 3 + ("([CP](H[CP])*)(HJ)" + < | (1 move-h) (3 = =) | >) - ;; A syllable with no vowel signs/modifiers. + ;; A syllable with no vowel signs/modifiers, optionally followed by + ;; an H or an HN. ;;1 2 3 - ("([CP](H[CP])*)(H)?" - < | (1 move-h) (3 =) | >) + ("([CP](H[CP])*)(H|HN)?" + < | (1 move-h) (3 0x0D4D) | >) ;; Starting with an independent vowel. ("VA?" @@ -115,12 +115,6 @@ ;; Otherwise, final consonant is not P. No need to move H. (".+" = * 0x0D00))) - - ;; If there are some letters, make them a separate syllable. - (cut-off - (cond - ("([CP](H[CP])*)(H)?" - (1 move-h) (3 =)))) ) ;; Stage 2 @@ -128,24 +122,13 @@ (generator (0 (cond - ;; An ordinary syllable. The tested fonts make LA's below form - ;; with 1. 'half' + 'blws', 2. 'half' + 'pres' or 3. 'akhn'. - ;; 1 2 3 4 - (" (m)?([CPH]*)(Z)([PHbpA]*) " + ;; The tested fonts make LA's below form with 1. 'half' + 'blws', + ;; 2. 'half' + 'pres' or 3. 'akhn'. + ;; 1 2 3 4 + (" (m)?([CPH]*)(Z)([PHbpAJ]*) " | (1 =) (2 otf:mlym=akhn,half,pstf,pres,abvs,blws+) (3 =) (4 otf:mlym=pstf+) |) - ;; Explicit Halant. - (" ([CP]H)N " - | (1 = *) |) - - ;; Forced chillu form. According to Microsoft Typography - ;; - ;; 'chillu' glyphs are generated with the 'haln' feature. However, - ;; some fonts generate them with 'half'. - (" ([CP]HJ) " - | (1 otf:mlym=haln,half+) |) - ("." =)) *)) @@ -164,7 +147,7 @@ ;; Stage 4 ;; Apply remaining GSUB and GPOS features to all syllables. To get -;; correct Y-YA and V-VA conjunctions, we must apply 'psts' to the +;; correct Y.YA and V.VA conjunctions, we must apply 'psts' to the ;; entire syllable. (generator (0 -- 1.7.10.4