Home | History | Annotate | Download | only in layout
      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