Home | History | Annotate | Download | only in layout

Lines Matching defs:classTable

232 	void decomposeReorderMatras ( const IndicClassTable *classTable, le_int32 beginSyllable, le_int32 nextSyllable, le_int32 inv_count ) {
237 if ( classTable->isMatra(fOutChars[i+inv_count])) {
238 IndicClassTable::CharClass matraClass = classTable->getCharClass(fOutChars[i+inv_count]);
239 if ( classTable->isSplitMatra(matraClass)) {
242 const SplitMatra *splitMatra = classTable->getSplitMatra(matraClass);
248 matraClass = classTable->getCharClass(piece);
320 le_bool noteMatra(const IndicClassTable *classTable, LEUnicode matra, le_uint32 matraIndex, FeatureMask matraFeatures, le_bool wordStart)
322 IndicClassTable::CharClass matraClass = classTable->getCharClass(matra);
332 const SplitMatra *splitMatra = classTable->getSplitMatra(matraClass);
337 IndicClassTable::CharClass pieceClass = classTable->getCharClass(piece);
351 void noteVowelModifier(const IndicClassTable *classTable, LEUnicode vowelModifier, le_uint32 vowelModifierIndex, FeatureMask vowelModifierFeatures)
353 IndicClassTable::CharClass vmClass = classTable->getCharClass(vowelModifier);
375 void noteStressMark(const IndicClassTable *classTable, LEUnicode stressMark, le_uint32 stressMarkIndex, FeatureMask stressMarkFeatures)
377 IndicClassTable::CharClass smClass = classTable->getCharClass(stressMark);
597 le_int32 IndicReordering::findSyllable(const IndicClassTable *classTable, const LEUnicode *chars, le_int32 prev, le_int32 charCount)
604 IndicClassTable::CharClass charClass = classTable->getCharClass(chars[cursor]);
634 const IndicClassTable *classTable = IndicClassTable::getScriptClassTable(scriptCode);
636 if (classTable==NULL) {
641 if (classTable->scriptFlags & SF_MPRE_FIXUP) {
654 le_int32 syllable = findSyllable(classTable, chars, prev, charCount);
659 if (classTable->isStressMark(chars[markStart - 1])) {
661 output.noteStressMark(classTable, chars[markStart], markStart, tagArray1);
664 if (markStart != prev && classTable->isVowelModifier(chars[markStart - 1])) {
666 output.noteVowelModifier(classTable, chars[markStart], markStart, tagArray1);
671 while (output.noteMatra(classTable, chars[matra], matra, tagArray1, !lastInWord) && matra != prev) {
677 switch (classTable->getCharClass(chars[prev]) & CF_CLASS_MASK) {
721 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) != 0) {
725 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) != 0) {
730 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) == 0) {
737 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) == 0) {
755 if (length > 2 && classTable->isReph(chars[prev]) && classTable->isVirama(chars[prev + 1]) && chars[prev + 2] != C_SIGN_ZWNJ) {
759 if ((classTable->scriptFlags & SF_EYELASH_RA) != 0 &&
769 while (lastConsonant > baseLimit && !classTable->isConsonant(chars[lastConsonant])) {
778 le_int32 postBaseLimit = classTable->scriptFlags & SF_POST_BASE_LIMIT_MASK;
787 if (postBase < markStart && classTable->isNukta(chars[postBase])) {
795 charClass = classTable->getCharClass(chars[baseConsonant]);
803 (baseConsonant > baseLimit && !classTable->isVirama(chars[baseConsonant - 1])) ||
810 hasPreBaseForm && classTable->isVirama(chars[baseConsonant - 1])) {
856 charClass = classTable->getCharClass(ch);
857 nextClass = classTable->getCharClass(chars[i + 1]);
876 if (bcSpan < markStart && classTable->isNukta(chars[bcSpan])) {
881 (classTable->isVirama(chars[bcSpan]) || classTable->isAlLakuna(chars[bcSpan]))) {
897 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) != 0) {
917 if ((classTable->scriptFlags & SF_MATRAS_AFTER_BASE) == 0) {
923 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) != 0) {
946 if (lastConsonant < matra && classTable->isVirama(chars[matra])) {
952 if ((classTable
960 if ((classTable->scriptFlags & SF_REPH_AFTER_BELOW) == 0) {
1076 const IndicClassTable *classTable = IndicClassTable::getScriptClassTable(scriptCode);
1077 if (classTable == NULL) {
1082 IndicReordering::getDynamicProperties(dynProps,classTable);
1089 le_int32 nextSyllable = findSyllable(classTable, chars, beginSyllable, charCount);
1095 if ( classTable->isConsonant(chars[firstConsonant]) ) {
1108 if ( classTable->isConsonant(chars[baseConsonant]) &&
1109 !classTable->hasBelowBaseForm(chars[baseConsonant]) &&
1110 !classTable->hasPostBaseForm(chars[baseConsonant]) ) {
1114 if ( classTable->isConsonant(chars[baseConsonant]) ) {
1124 if ( classTable->isReph(chars[beginSyllable]) &&
1125 beginSyllable+1 < nextSyllable && classTable->isVirama(chars[beginSyllable+1]) &&
1135 if ( classTable->isVirama(chars[beginSyllable]) ||
1136 classTable->isMatra(chars[beginSyllable]) ||
1137 classTable->isVowelModifier(chars[beginSyllable]) ||
1138 classTable->isNukta(chars[beginSyllable]) ) {
1158 if ( i == beginSyllable && i < baseConsonant && classTable->isReph(chars[i]) &&
1159 i+1 < nextSyllable && classTable->isVirama(chars[i+1])) {
1170 if ( classTable->isMatra(chars[i])) {
1172 if ( classTable->hasAboveBaseForm(chars[i])) {
1174 } else if ( classTable->hasBelowBaseForm(chars[i])) {
1182 if ( classTable->isVirama(chars[i]) && (i+1 == nextSyllable) ) {
1184 if ( classTable->isConsonant(chars[i-1]) ) {
1196 output.decomposeReorderMatras(classTable,beginSyllable,nextSyllable,inv_count);
1206 void IndicReordering::getDynamicProperties( DynamicProperties *, const IndicClassTable *classTable ) {
1221 for ( currentChar = classTable->firstChar ; currentChar <= classTable->lastChar ; currentChar++ ) {
1222 if ( classTable->isVirama(currentChar)) {
1229 for ( currentChar = classTable->firstChar ; currentChar <= classTable->lastChar ; currentChar++ ) {
1230 if ( classTable->isConsonant(currentChar)) {