jdk/src/share/native/sun/font/layout/ArabicShaping.cpp
changeset 16891 91e99bed64ae
parent 7486 6a36b1ebc620
child 22330 cafb826672bd
equal deleted inserted replaced
16890:36b30720a997 16891:91e99bed64ae
    56     (dual-width joiner) which are both unshaped and non_joining or
    56     (dual-width joiner) which are both unshaped and non_joining or
    57     dual-joining, respectively.
    57     dual-joining, respectively.
    58 */
    58 */
    59 ArabicShaping::ShapeType ArabicShaping::getShapeType(LEUnicode c)
    59 ArabicShaping::ShapeType ArabicShaping::getShapeType(LEUnicode c)
    60 {
    60 {
    61     const ClassDefinitionTable *joiningTypes = (const ClassDefinitionTable *) ArabicShaping::shapingTypeTable;
    61   LEErrorCode success = LE_NO_ERROR;
    62     le_int32 joiningType = joiningTypes->getGlyphClass(c);
    62   const LEReferenceTo<ClassDefinitionTable> joiningTypes((const ClassDefinitionTable *) ArabicShaping::shapingTypeTable,
    63 
    63                                                          ArabicShaping::shapingTypeTableLen);
    64     if (joiningType >= 0 && joiningType < ArabicShaping::JT_COUNT) {
    64   le_int32 joiningType = joiningTypes->getGlyphClass(joiningTypes, c, success);
    65         return ArabicShaping::shapeTypes[joiningType];
    65 
    66     }
    66   if (joiningType >= 0 && joiningType < ArabicShaping::JT_COUNT && LE_SUCCESS(success)) {
    67 
    67     return ArabicShaping::shapeTypes[joiningType];
    68     return ArabicShaping::ST_NOSHAPE_NONE;
    68   }
       
    69 
       
    70   return ArabicShaping::ST_NOSHAPE_NONE;
    69 }
    71 }
    70 
    72 
    71 #define isolFeatureTag LE_ISOL_FEATURE_TAG
    73 #define isolFeatureTag LE_ISOL_FEATURE_TAG
    72 #define initFeatureTag LE_INIT_FEATURE_TAG
    74 #define initFeatureTag LE_INIT_FEATURE_TAG
    73 #define mediFeatureTag LE_MEDI_FEATURE_TAG
    75 #define mediFeatureTag LE_MEDI_FEATURE_TAG