equal
deleted
inserted
replaced
30 */ |
30 */ |
31 |
31 |
32 #ifndef __INDICREORDERING_H |
32 #ifndef __INDICREORDERING_H |
33 #define __INDICREORDERING_H |
33 #define __INDICREORDERING_H |
34 |
34 |
|
35 /** |
|
36 * \file |
|
37 * \internal |
|
38 */ |
|
39 |
35 #include "LETypes.h" |
40 #include "LETypes.h" |
36 #include "OpenTypeTables.h" |
41 #include "OpenTypeTables.h" |
|
42 |
|
43 U_NAMESPACE_BEGIN |
37 |
44 |
38 // Characters that get refered to by name... |
45 // Characters that get refered to by name... |
39 #define C_SIGN_ZWNJ 0x200C |
46 #define C_SIGN_ZWNJ 0x200C |
40 #define C_SIGN_ZWJ 0x200D |
47 #define C_SIGN_ZWJ 0x200D |
41 |
48 |
138 inline static le_bool hasBelowBaseForm(CharClass charClass); |
145 inline static le_bool hasBelowBaseForm(CharClass charClass); |
139 |
146 |
140 static const IndicClassTable *getScriptClassTable(le_int32 scriptCode); |
147 static const IndicClassTable *getScriptClassTable(le_int32 scriptCode); |
141 }; |
148 }; |
142 |
149 |
143 class IndicReordering { |
150 class IndicReordering /* not : public UObject because all methods are static */ { |
144 public: |
151 public: |
145 static le_int32 getWorstCaseExpansion(le_int32 scriptCode); |
152 static le_int32 getWorstCaseExpansion(le_int32 scriptCode); |
146 |
153 |
147 static le_int32 reorder(const LEUnicode *theChars, le_int32 charCount, le_int32 scriptCode, |
154 static le_int32 reorder(const LEUnicode *theChars, le_int32 charCount, le_int32 scriptCode, |
148 LEUnicode *outChars, LEGlyphStorage &glyphStorage, |
155 LEUnicode *outChars, LEGlyphStorage &glyphStorage, |
154 |
161 |
155 private: |
162 private: |
156 // do not instantiate |
163 // do not instantiate |
157 IndicReordering(); |
164 IndicReordering(); |
158 |
165 |
159 static le_int32 findSyllable(const IndicClassTable *classTable, const LEUnicode *chars, |
166 static le_int32 findSyllable(const IndicClassTable *classTable, const LEUnicode *chars, le_int32 prev, le_int32 charCount); |
160 le_int32 prev, le_int32 charCount); |
|
161 |
167 |
162 }; |
168 }; |
163 |
169 |
164 inline le_int32 IndicClassTable::getWorstCaseExpansion() const |
170 inline le_int32 IndicClassTable::getWorstCaseExpansion() const |
165 { |
171 { |
303 inline le_bool IndicClassTable::hasBelowBaseForm(LEUnicode ch) const |
309 inline le_bool IndicClassTable::hasBelowBaseForm(LEUnicode ch) const |
304 { |
310 { |
305 return hasBelowBaseForm(getCharClass(ch)); |
311 return hasBelowBaseForm(getCharClass(ch)); |
306 } |
312 } |
307 |
313 |
|
314 U_NAMESPACE_END |
308 #endif |
315 #endif |