Lines Matching defs:classTable
257 void decomposeReorderMatras ( const IndicClassTable *classTable, le_int32 beginSyllable, le_int32 nextSyllable, le_int32 inv_count ) {
262 if ( classTable->isMatra(fOutChars[i+inv_count])) {
263 IndicClassTable::CharClass matraClass = classTable->getCharClass(fOutChars[i+inv_count]);
264 if ( classTable->isSplitMatra(matraClass)) {
267 const SplitMatra *splitMatra = classTable->getSplitMatra(matraClass);
273 matraClass = classTable->getCharClass(piece);
345 le_bool noteMatra(const IndicClassTable *classTable, LEUnicode matra, le_uint32 matraIndex, FeatureMask matraFeatures, le_bool wordStart)
347 IndicClassTable::CharClass matraClass = classTable->getCharClass(matra);
357 const SplitMatra *splitMatra = classTable->getSplitMatra(matraClass);
362 IndicClassTable::CharClass pieceClass = classTable->getCharClass(piece);
376 void noteVowelModifier(const IndicClassTable *classTable, LEUnicode vowelModifier, le_uint32 vowelModifierIndex, FeatureMask vowelModifierFeatures)
378 IndicClassTable::CharClass vmClass = classTable->getCharClass(vowelModifier);
400 void noteStressMark(const IndicClassTable *classTable, LEUnicode stressMark, le_uint32 stressMarkIndex, FeatureMask stressMarkFeatures)
402 IndicClassTable::CharClass smClass = classTable->getCharClass(stressMark);
622 le_int32 IndicReordering::findSyllable(const IndicClassTable *classTable, const LEUnicode *chars, le_int32 prev, le_int32 charCount)
629 IndicClassTable::CharClass charClass = classTable->getCharClass(chars[cursor]);
659 const IndicClassTable *classTable = IndicClassTable::getScriptClassTable(scriptCode);
661 if(classTable==NULL) {
666 if (classTable->scriptFlags & SF_MPRE_FIXUP) {
679 le_int32 syllable = findSyllable(classTable, chars, prev, charCount);
684 if (classTable->isStressMark(chars[markStart - 1])) {
686 output.noteStressMark(classTable, chars[markStart], markStart, tagArray1);
689 if (markStart != prev && classTable->isVowelModifier(chars[markStart - 1])) {
691 output.noteVowelModifier(classTable, chars[markStart], markStart, tagArray1);
696 while (output.noteMatra(classTable, chars[matra], matra, tagArray1, !lastInWord) && matra != prev) {
702 switch (classTable->getCharClass(chars[prev]) & CF_CLASS_MASK) {
746 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) != 0) {
750 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) != 0) {
755 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) == 0) {
762 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) == 0) {
780 if (length > 2 && classTable->isReph(chars[prev]) && classTable->isVirama(chars[prev + 1]) && chars[prev + 2] != C_SIGN_ZWNJ) {
784 if ((classTable->scriptFlags & SF_EYELASH_RA) != 0 &&
794 while (lastConsonant > baseLimit && !classTable->isConsonant(chars[lastConsonant])) {
803 le_int32 postBaseLimit = classTable->scriptFlags & SF_POST_BASE_LIMIT_MASK;
812 if (postBase < markStart && classTable->isNukta(chars[postBase])) {
820 charClass = classTable->getCharClass(chars[baseConsonant]);
828 (baseConsonant > baseLimit && !classTable->isVirama(chars[baseConsonant - 1])) ||
835 hasPreBaseForm && classTable->isVirama(chars[baseConsonant - 1])) {
881 charClass = classTable->getCharClass(ch);
882 nextClass = classTable->getCharClass(chars[i + 1]);
901 if (bcSpan < markStart && classTable->isNukta(chars[bcSpan])) {
906 (classTable->isVirama(chars[bcSpan]) || classTable->isAlLakuna(chars[bcSpan]))) {
922 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) != 0) {
942 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) == 0) {
948 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) != 0) {
971 if (lastConsonant < matra && classTable->isVirama(chars[matra])) {
977 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) == 0) {
985 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) == 0) {
1101 const IndicClassTable *classTable = IndicClassTable::getScriptClassTable(scriptCode);
1104 IndicReordering::getDynamicProperties(dynProps,classTable);
1111 le_int32 nextSyllable = findSyllable(classTable, chars, beginSyllable, charCount);
1117 if ( classTable->isConsonant(chars[firstConsonant]) ) {
1130 if ( classTable->isConsonant(chars[baseConsonant]) &&
1131 !classTable->hasBelowBaseForm(chars[baseConsonant]) &&
1132 !classTable->hasPostBaseForm(chars[baseConsonant]) ) {
1136 if ( classTable->isConsonant(chars[baseConsonant]) ) {
1146 if ( classTable->isReph(chars[beginSyllable]) &&
1147 beginSyllable+1 < nextSyllable && classTable->isVirama(chars[beginSyllable+1]) &&
1157 if ( classTable->isVirama(chars[beginSyllable]) ||
1158 classTable->isMatra(chars[beginSyllable]) ||
1159 classTable->isVowelModifier(chars[beginSyllable]) ||
1160 classTable->isNukta(chars[beginSyllable]) ) {
1180 if ( i == beginSyllable && i < baseConsonant && classTable->isReph(chars[i]) &&
1181 i+1 < nextSyllable && classTable->isVirama(chars[i+1])) {
1192 if ( classTable->isMatra(chars[i])) {
1194 if ( classTable->hasAboveBaseForm(chars[i])) {
1196 } else if ( classTable->hasBelowBaseForm(chars[i])) {
1204 if ( classTable->isVirama(chars[i]) && (i+1 == nextSyllable) ) {
1206 if ( classTable->isConsonant(chars[i-1]) ) {
1218 output.decomposeReorderMatras(classTable,beginSyllable,nextSyllable,inv_count);
1228 void IndicReordering::getDynamicProperties( DynamicProperties *, const IndicClassTable *classTable ) {
1243 for ( currentChar = classTable->firstChar ; currentChar <= classTable->lastChar ; currentChar++ ) {
1244 if ( classTable->isVirama(currentChar)) {
1251 for ( currentChar = classTable->firstChar ; currentChar <= classTable->lastChar ; currentChar++ ) {
1252 if ( classTable->isConsonant(currentChar)) {