Lines Matching refs:KhmerClassTable
38 _xx = KhmerClassTable::CC_RESERVED,
39 _sa = KhmerClassTable::CC_SIGN_ABOVE | KhmerClassTable::CF_DOTTED_CIRCLE | KhmerClassTable::CF_POS_ABOVE,
40 _sp = KhmerClassTable::CC_SIGN_AFTER | KhmerClassTable::CF_DOTTED_CIRCLE| KhmerClassTable::CF_POS_AFTER,
41 _c1 = KhmerClassTable::CC_CONSONANT | KhmerClassTable::CF_CONSONANT,
42 _c2 = KhmerClassTable::CC_CONSONANT2 | KhmerClassTable::CF_CONSONANT,
43 _c3 = KhmerClassTable::CC_CONSONANT3 | KhmerClassTable::CF_CONSONANT,
44 _rb = KhmerClassTable::CC_ROBAT | KhmerClassTable::CF_POS_ABOVE | KhmerClassTable::CF_DOTTED_CIRCLE,
45 _cs = KhmerClassTable::CC_CONSONANT_SHIFTER | KhmerClassTable::CF_DOTTED_CIRCLE | KhmerClassTable::CF_SHIFTER,
46 _dl = KhmerClassTable::CC_DEPENDENT_VOWEL | KhmerClassTable::CF_POS_BEFORE | KhmerClassTable::CF_DOTTED_CIRCLE,
47 _db = KhmerClassTable::CC_DEPENDENT_VOWEL | KhmerClassTable::CF_POS_BELOW | KhmerClassTable::CF_DOTTED_CIRCLE,
48 _da = KhmerClassTable::CC_DEPENDENT_VOWEL | KhmerClassTable::CF_POS_ABOVE | KhmerClassTable::CF_DOTTED_CIRCLE | KhmerClassTable::CF_ABOVE_VOWEL,
49 _dr = KhmerClassTable::CC_DEPENDENT_VOWEL | KhmerClassTable::CF_POS_AFTER | KhmerClassTable::CF_DOTTED_CIRCLE,
50 _co = KhmerClassTable::CC_COENG | KhmerClassTable::CF_COENG | KhmerClassTable::CF_DOTTED_CIRCLE,
53 _va = _da | KhmerClassTable::CF_SPLIT_VOWEL,
54 _vr = _dr | KhmerClassTable::CF_SPLIT_VOWEL
76 static const KhmerClassTable::CharClass khmerCharClasses[] =
95 static const KhmerClassTable khmerClassTable = {0x1780, 0x17df, khmerCharClasses};
102 KhmerClassTable::CharClass KhmerClassTable::getCharClass(LEUnicode ch) const
120 const KhmerClassTable *KhmerClassTable::getKhmerClassTable()
237 // Each horizontal line is ordered exactly the same way as the values in KhmerClassTable
282 // KhmerClassTable::CC_DEPENDENT_VOWEL, which is common to all dependent vowels
295 static const le_int8 khmerStateTable[][KhmerClassTable::CC_COUNT] =
336 le_int32 KhmerReordering::findSyllable(const KhmerClassTable *classTable, const LEUnicode *chars, le_int32 prev, le_int32 charCount)
342 KhmerClassTable::CharClass charClass = (classTable->getCharClass(chars[cursor]) & KhmerClassTable::CF_CLASS_MASK);
362 const KhmerClassTable *classTable = KhmerClassTable::getKhmerClassTable();
365 KhmerClassTable::CharClass charClass;
385 if (charClass & KhmerClassTable::CF_SPLIT_VOWEL) {
391 if (charClass & KhmerClassTable::CF_POS_BEFORE) {
400 if ( (charClass & KhmerClassTable::CF_COENG) && (i + 1 < syllable) &&
401 ( (classTable->getCharClass(chars[i + 1]) & KhmerClassTable::CF_CLASS_MASK) == KhmerClassTable::CC_CONSONANT2) )
417 if (classTable->getCharClass(chars[prev]) & KhmerClassTable::CF_DOTTED_CIRCLE) {
426 if (charClass & KhmerClassTable::CF_POS_BEFORE) {
436 switch (charClass & KhmerClassTable::CF_POS_MASK) {
437 case KhmerClassTable::CF_POS_ABOVE :
441 case KhmerClassTable::CF_POS_AFTER :
445 case KhmerClassTable::CF_POS_BELOW :
452 if ( (charClass & KhmerClassTable::CF_COENG) && i + 1 < syllable ) {
453 if ( (classTable->getCharClass(chars[i + 1]) & KhmerClassTable::CF_CLASS_MASK)
454 == KhmerClassTable::CC_CONSONANT3) {
471 if ( (charClass & KhmerClassTable::CF_SHIFTER) && (i + 1 < syllable) ) {
472 if ((classTable->getCharClass(chars[i + 1]) & KhmerClassTable::CF_ABOVE_VOWEL)
474 && ( (classTable->getCharClass(chars[i + 1]) & KhmerClassTable::CF_CLASS_MASK) == C_VOWEL_AA)
475 && ( (classTable->getCharClass(chars[i + 2]) & KhmerClassTable::CF_CLASS_MASK) == C_SIGN_NIKAHIT))
476 || (i + 3 < syllable && (classTable->getCharClass(chars[i + 3]) & KhmerClassTable::CF_ABOVE_VOWEL))
478 && ( (classTable->getCharClass(chars[i + 3]) & KhmerClassTable::CF_CLASS_MASK) == C_VOWEL_AA)
479 && ( (classTable->getCharClass(chars[i + 4]) & KhmerClassTable::CF_CLASS_MASK) == C_SIGN_NIKAHIT) ) )