diff --git a/src/complex/arabic_table.rs b/src/complex/arabic_table.rs index f19e6c7d..27357240 100644 --- a/src/complex/arabic_table.rs +++ b/src/complex/arabic_table.rs @@ -4,105 +4,126 @@ use super::arabic::JoiningType::{self, GroupAlaph as A, GroupDalathRish as DR, D #[rustfmt::skip] pub const JOINING_TABLE: &[JoiningType] = &[ - /* Arabic */ - - /* 0600 */ U, U, U, U, U, U, X, X, U, X, X, U, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 0620 */ D, U, R, R, R, R, D, R, D, R, D, D, D, D, D, R, R, R, R, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 0640 */ D, D, D, D, D, D, D, D, R, D, D, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 0660 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, D, D, X, R, R, R, U, R, R, R, D, D, D, D, D, D, D, D, - /* 0680 */ D, D, D, D, D, D, D, D, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, D, D, D, D, D, D, - /* 06A0 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 06C0 */ R, D, D, R, R, R, R, R, R, R, R, R, D, R, D, R, D, D, R, R, X, R, X, X, X, X, X, X, X, U, X, X, - /* 06E0 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, R, R, X, X, X, X, X, X, X, X, X, X, D, D, D, X, X, D, - /* Syriac */ - - /* 0700 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, T, A, X, D, D, D, DR, DR, R, R, R, D, D, D, D, R, D, - /* 0720 */ D, D, D, D, D, D, D, D, R, D, DR, D, R, D, D, DR, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 0740 */ X, X, X, X, X, X, X, X, X, X, X, X, X, R, D, D, - /* Arabic Supplement */ - - /* 0740 */ D, D, D, D, D, D, D, D, D, R, R, R, D, D, D, D, - /* 0760 */ D, D, D, D, D, D, D, D, D, D, D, R, R, D, D, D, D, R, D, R, R, D, D, D, R, R, D, D, D, D, D, D, - /* FILLER */ - - /* 0780 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 07A0 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* NKo */ - - /* 07C0 */ X, X, X, X, X, X, X, X, X, X, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 07E0 */ D, D, D, D, D, D, D, D, D, D, D, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, D, X, X, X, X, X, - /* FILLER */ - - /* 0800 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 0820 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* Mandaic */ - - /* 0840 */ R, D, D, D, D, D, R, R, D, R, D, D, D, D, D, D, D, D, D, D, R, D, R, R, R, X, X, X, X, X, X, X, - /* Syriac Supplement */ - - /* 0860 */ D, U, D, D, D, D, U, R, D, R, R, X, X, X, X, X, - /* Arabic Extended-B */ - - /* 0860 */ R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, - /* 0880 */ R, R, R, D, D, D, D, U, U, D, D, D, D, D, R, X, U, U, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* Arabic Extended-A */ - - /* 08A0 */ D, D, D, D, D, D, D, D, D, D, R, R, R, U, R, D, D, R, R, D, D, D, D, D, D, R, D, D, D, D, D, D, - /* 08C0 */ D, D, D, D, D, D, D, D, D, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 08E0 */ X, X, U, - /* Mongolian */ - - /* 1800 */ U, D, X, X, D, X, X, X, U, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 1820 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 1840 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 1860 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, X, X, X, X, X, X, X, - /* 1880 */ U, U, U, U, U, T, T, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 18A0 */ D, D, D, D, D, D, D, D, D, X, D, - /* General Punctuation */ - - /* 2000 */ U, D, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 2020 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, U, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 2040 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 2060 */ X, X, X, X, X, X, U, U, U, U, - /* Phags-pa */ - - /* A840 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* A860 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, L, U, - /* Manichaean */ - - /* 10AC0 */ D, D, D, D, D, R, U, R, U, R, R, U, U, L, R, R, R, R, R, D, D, D, D, L, D, D, D, D, D, R, D, D, - /* 10AE0 */ D, R, U, U, R, X, X, X, X, X, X, D, D, D, D, R, - /* Psalter Pahlavi */ - - /* 10B80 */ D, R, D, R, R, R, D, D, D, R, D, D, R, D, R, R, D, R, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 10BA0 */ X, X, X, X, X, X, X, X, X, R, R, R, R, D, D, U, - /* Hanifi Rohingya */ - - /* 10D00 */ L, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 10D20 */ D, D, R, D, - /* Sogdian */ - - /* 10F20 */ D, D, D, R, D, D, D, D, D, D, D, D, D, D, D, D, - /* 10F40 */ D, D, D, D, D, U, X, X, X, X, X, X, X, X, X, X, X, D, D, D, R, X, X, X, X, X, X, X, X, X, X, X, - /* 10F60 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* Old Uyghur */ - - /* 10F60 */ D, D, D, D, R, R, D, D, D, D, D, D, D, D, D, D, - /* 10F80 */ D, D, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* 10FA0 */ X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, - /* Chorasmian */ - - /* 10FA0 */ D, U, D, D, R, R, R, U, D, R, R, D, D, R, D, D, - /* 10FC0 */ U, D, R, R, D, U, U, U, U, R, D, L, - /* Kaithi */ - - /* 110A0 */ U, X, X, - /* 110C0 */ X, X, X, X, X, X, X, X, X, X, X, X, X, U, - /* Adlam */ - - /* 1E900 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 1E920 */ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, D, - /* 1E940 */ D, D, D, D, X, X, X, X, X, X, X, T, + + /* Arabic */ + + /* 0600 */ U,U,U,U,U,U,X,X,U,X,X,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 0620 */ D,U,R,R,R,R,D,R,D,R,D,D,D,D,D,R,R,R,R,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 0640 */ D,D,D,D,D,D,D,D,R,D,D,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 0660 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,D,D,X,R,R,R,U,R,R,R,D,D,D,D,D,D,D,D, + /* 0680 */ D,D,D,D,D,D,D,D,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,D,D,D,D,D,D, + /* 06A0 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 06C0 */ R,D,D,R,R,R,R,R,R,R,R,R,D,R,D,R,D,D,R,R,X,R,X,X,X,X,X,X,X,U,X,X, + /* 06E0 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,R,R,X,X,X,X,X,X,X,X,X,X,D,D,D,X,X,D, + + /* Syriac */ + + /* 0700 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,T,A,X,D,D,D,DR,DR,R,R,R,D,D,D,D,R,D, + /* 0720 */ D,D,D,D,D,D,D,D,R,D,DR,D,R,D,D,DR,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 0740 */ X,X,X,X,X,X,X,X,X,X,X,X,X,R,D,D, + + /* Arabic Supplement */ + + /* 0740 */ D,D,D,D,D,D,D,D,D,R,R,R,D,D,D,D, + /* 0760 */ D,D,D,D,D,D,D,D,D,D,D,R,R,D,D,D,D,R,D,R,R,D,D,D,R,R,D,D,D,D,D,D, + + /* FILLER */ + + /* 0780 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 07A0 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + + /* NKo */ + + /* 07C0 */ X,X,X,X,X,X,X,X,X,X,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 07E0 */ D,D,D,D,D,D,D,D,D,D,D,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,D,X,X,X,X,X, + + /* FILLER */ + + /* 0800 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 0820 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + + /* Mandaic */ + + /* 0840 */ R,D,D,D,D,D,R,R,D,R,D,D,D,D,D,D,D,D,D,D,R,D,R,R,R,X,X,X,X,X,X,X, + + /* Syriac Supplement */ + + /* 0860 */ D,U,D,D,D,D,U,R,D,R,R,X,X,X,X,X, + + /* Arabic Extended-B */ + + /* 0860 */ R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R, + /* 0880 */ R,R,R,D,D,D,D,U,U,D,D,D,D,D,R,X,U,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + + /* Arabic Extended-A */ + + /* 08A0 */ D,D,D,D,D,D,D,D,D,D,R,R,R,U,R,D,D,R,R,D,D,D,D,D,D,R,D,D,D,D,D,D, + /* 08C0 */ D,D,D,D,D,D,D,D,D,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 08E0 */ X,X,U, + + /* Mongolian */ + + /* 1800 */ U,D,X,X,D,X,X,X,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 1820 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 1840 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 1860 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,X,X,X,X,X,X,X, + /* 1880 */ U,U,U,U,U,T,T,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 18A0 */ D,D,D,D,D,D,D,D,D,X,D, + + /* General Punctuation */ + + /* 2000 */ U,D,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 2020 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,U,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 2040 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 2060 */ X,X,X,X,X,X,U,U,U,U, + + /* Phags-pa */ + + /* A840 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* A860 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,L,U, + + /* Manichaean */ + + /* 10AC0 */ D,D,D,D,D,R,U,R,U,R,R,U,U,L,R,R,R,R,R,D,D,D,D,L,D,D,D,D,D,R,D,D, + /* 10AE0 */ D,R,U,U,R,X,X,X,X,X,X,D,D,D,D,R, + + /* Psalter Pahlavi */ + + /* 10B80 */ D,R,D,R,R,R,D,D,D,R,D,D,R,D,R,R,D,R,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 10BA0 */ X,X,X,X,X,X,X,X,X,R,R,R,R,D,D,U, + + /* Hanifi Rohingya */ + + /* 10D00 */ L,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 10D20 */ D,D,R,D, + + /* Sogdian */ + + /* 10F20 */ D,D,D,R,D,D,D,D,D,D,D,D,D,D,D,D, + /* 10F40 */ D,D,D,D,D,U,X,X,X,X,X,X,X,X,X,X,X,D,D,D,R,X,X,X,X,X,X,X,X,X,X,X, + /* 10F60 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + + /* Old Uyghur */ + + /* 10F60 */ D,D,D,D,R,R,D,D,D,D,D,D,D,D,D,D, + /* 10F80 */ D,D,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + /* 10FA0 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, + + /* Chorasmian */ + + /* 10FA0 */ D,U,D,D,R,R,R,U,D,R,R,D,D,R,D,D, + /* 10FC0 */ U,D,R,R,D,U,U,U,U,R,D,L, + + /* Kaithi */ + + /* 110A0 */ U,X,X, + /* 110C0 */ X,X,X,X,X,X,X,X,X,X,X,X,X,U, + + /* Adlam */ + + /* 1E900 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 1E920 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D, + /* 1E940 */ D,D,D,D,X,X,X,X,X,X,X,T, ]; const JOINING_OFFSET_0X0600: usize = 0; @@ -121,46 +142,46 @@ pub fn joining_type(u: char) -> JoiningType { match u >> 12 { 0x0 => { if (0x0600..=0x08E2).contains(&u) { - return JOINING_TABLE[u as usize - 0x0600 + JOINING_OFFSET_0X0600] + return JOINING_TABLE[u as usize - 0x0600 + JOINING_OFFSET_0X0600]; } } 0x1 => { if (0x1806..=0x18AA).contains(&u) { - return JOINING_TABLE[u as usize - 0x1806 + JOINING_OFFSET_0X1806] + return JOINING_TABLE[u as usize - 0x1806 + JOINING_OFFSET_0X1806]; } } 0x2 => { if (0x200C..=0x2069).contains(&u) { - return JOINING_TABLE[u as usize - 0x200C + JOINING_OFFSET_0X200C] + return JOINING_TABLE[u as usize - 0x200C + JOINING_OFFSET_0X200C]; } } 0xA => { if (0xA840..=0xA873).contains(&u) { - return JOINING_TABLE[u as usize - 0xA840 + JOINING_OFFSET_0XA840] + return JOINING_TABLE[u as usize - 0xA840 + JOINING_OFFSET_0XA840]; } } 0x10 => { if (0x10AC0..=0x10AEF).contains(&u) { - return JOINING_TABLE[u as usize - 0x10AC0 + JOINING_OFFSET_0X10AC0] + return JOINING_TABLE[u as usize - 0x10AC0 + JOINING_OFFSET_0X10AC0]; } if (0x10B80..=0x10BAF).contains(&u) { - return JOINING_TABLE[u as usize - 0x10B80 + JOINING_OFFSET_0X10B80] + return JOINING_TABLE[u as usize - 0x10B80 + JOINING_OFFSET_0X10B80]; } if (0x10D00..=0x10D23).contains(&u) { - return JOINING_TABLE[u as usize - 0x10D00 + JOINING_OFFSET_0X10D00] + return JOINING_TABLE[u as usize - 0x10D00 + JOINING_OFFSET_0X10D00]; } if (0x10F30..=0x10FCB).contains(&u) { - return JOINING_TABLE[u as usize - 0x10F30 + JOINING_OFFSET_0X10F30] + return JOINING_TABLE[u as usize - 0x10F30 + JOINING_OFFSET_0X10F30]; } } 0x11 => { if (0x110BD..=0x110CD).contains(&u) { - return JOINING_TABLE[u as usize - 0x110BD + JOINING_OFFSET_0X110BD] + return JOINING_TABLE[u as usize - 0x110BD + JOINING_OFFSET_0X110BD]; } } 0x1E => { if (0x1E900..=0x1E94B).contains(&u) { - return JOINING_TABLE[u as usize - 0x1E900 + JOINING_OFFSET_0X1E900] + return JOINING_TABLE[u as usize - 0x1E900 + JOINING_OFFSET_0X1E900]; } } _ => {} @@ -168,4 +189,3 @@ pub fn joining_type(u: char) -> JoiningType { X } - diff --git a/src/complex/indic_table.rs b/src/complex/indic_table.rs index 5302e36b..4e9fbd2b 100644 --- a/src/complex/indic_table.rs +++ b/src/complex/indic_table.rs @@ -165,7 +165,7 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* 0B38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_T), /* 0B40 */ (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_L), /* 0B48 */ (ISC_M,IMC_TL), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_LR),(ISC_M,IMC_TLR), (ISC_V,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), - /* 0B50 */ (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_M, IMC_T), (ISC_M, IMC_T), (ISC_M, IMC_TR), + /* 0B50 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_TR), /* 0B58 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), /* 0B60 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), /* 0B68 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), @@ -200,11 +200,11 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* 0C20 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), /* 0C28 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), /* 0C30 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), - /* 0C38 */ (ISC_C, IMC_x), (ISC_C, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_N, IMC_B), (ISC_A, IMC_x), (ISC_M, IMC_T), (ISC_M, IMC_T), + /* 0C38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), /* 0C40 */ (ISC_M,IMC_T), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), /* 0C48 */ (ISC_M,IMC_TB), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_V,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x), /* 0C50 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_B), (ISC_x,IMC_x), - /* 0C58 */ (ISC_C, IMC_x), (ISC_C, IMC_x), (ISC_C, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_CD, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), + /* 0C58 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), /* 0C60 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), /* 0C68 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), /* 0C70 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), @@ -223,7 +223,7 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* 0CC0 */ (ISC_M,IMC_TR), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_TR), /* 0CC8 */ (ISC_M,IMC_TR), (ISC_x,IMC_x), (ISC_M,IMC_TR), (ISC_M,IMC_TR), (ISC_M,IMC_T), (ISC_V,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x), /* 0CD0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), - /* 0CD8 */ (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_x, IMC_x), (ISC_CD, IMC_x), (ISC_C, IMC_x), (ISC_x, IMC_x), + /* 0CD8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), /* 0CE0 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), /* 0CE8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), /* 0CF0 */ (ISC_x,IMC_x),(ISC_CWS,IMC_x),(ISC_CWS,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), @@ -231,7 +231,7 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* Malayalam */ - /* 0D00 */ (ISC_Bi, IMC_T), (ISC_Bi, IMC_T), (ISC_Bi, IMC_R), (ISC_Vs, IMC_R), (ISC_Bi, IMC_x), (ISC_VI, IMC_x), (ISC_VI, IMC_x), (ISC_VI, IMC_x), + /* 0D00 */ (ISC_Bi,IMC_T), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_Bi,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), /* 0D08 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), /* 0D10 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), /* 0D18 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), @@ -240,7 +240,7 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* 0D30 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), /* 0D38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_PK,IMC_T), (ISC_PK,IMC_T), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), /* 0D40 */ (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_M,IMC_L), (ISC_M,IMC_L), - /* 0D48 */ (ISC_M, IMC_L), (ISC_x, IMC_x), (ISC_M, IMC_LR), (ISC_M, IMC_LR), (ISC_M, IMC_LR), (ISC_V, IMC_T), (ISC_CPR, IMC_T), (ISC_x, IMC_x), + /* 0D48 */ (ISC_M,IMC_L), (ISC_x,IMC_x), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_V,IMC_T),(ISC_CPR,IMC_T), (ISC_x,IMC_x), /* 0D50 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_M,IMC_R), /* 0D58 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), /* 0D60 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), @@ -250,7 +250,7 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* Sinhala */ - /* 0D80 */ (ISC_x, IMC_x), (ISC_Bi, IMC_T), (ISC_Bi, IMC_R), (ISC_Vs, IMC_R), (ISC_x, IMC_x), (ISC_VI, IMC_x), (ISC_VI, IMC_x), (ISC_VI, IMC_x), + /* 0D80 */ (ISC_x,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), /* 0D88 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), /* 0D90 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), /* 0D98 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), @@ -275,7 +275,7 @@ const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ /* 1020 */ (ISC_C,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), /* 1028 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_B), /* 1030 */ (ISC_M,IMC_B), (ISC_M,IMC_L), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_Bi,IMC_T), (ISC_TM,IMC_B), - /* 1038 */ (ISC_Vs, IMC_R), (ISC_IS, IMC_x), (ISC_PK, IMC_T), (ISC_CM, IMC_R), (ISC_CM, IMC_TBL), (ISC_CM, IMC_B), (ISC_CM, IMC_B), (ISC_C, IMC_x), + /* 1038 */ (ISC_Vs,IMC_R), (ISC_IS,IMC_x), (ISC_PK,IMC_T), (ISC_CM,IMC_R),(ISC_CM,IMC_TBL), (ISC_CM,IMC_B), (ISC_CM,IMC_B), (ISC_C,IMC_x), /* 1040 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), /* 1048 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_x,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), /* 1050 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R),