1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __CANONSHAPING_H 8 #define __CANONSHAPING_H 9 10 #include "LETypes.h" 11 12 U_NAMESPACE_BEGIN 13 14 class LEGlyphStorage; 15 16 class U_LAYOUT_API CanonShaping /* not : public UObject because all members are static */ 17 { 18 public: 19 static const le_uint8 glyphSubstitutionTable[]; 20 static const size_t glyphSubstitutionTableLen; 21 static const le_uint8 glyphDefinitionTable[]; 22 static const size_t glyphDefinitionTableLen; 23 24 static void reorderMarks(const LEUnicode *inChars, le_int32 charCount, le_bool rightToLeft, 25 LEUnicode *outChars, LEGlyphStorage &glyphStorage); 26 27 private: 28 static void sortMarks(le_int32 *indices, const le_int32 *combiningClasses, le_int32 index, le_int32 limit); 29 }; 30 31 U_NAMESPACE_END 32 #endif 33