17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 /*
27 *
28 * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
29 *
30 */
31
32 #ifndef __CANONSHAPING_H
33 #define __CANONSHAPING_H
34
35 #include "LETypes.h"
36
37 class LEGlyphStorage;
38
39 class CanonShaping
40 {
41 public:
42 static const le_uint8 glyphSubstitutionTable[];
43 static const le_uint8 glyphDefinitionTable[];
44
45 static void reorderMarks(const LEUnicode *inChars, le_int32 charCount,
46 le_bool rightToLeft, LEUnicode *outChars, LEGlyphStorage &glyphStorage);
47
48 private:
49 static void sortMarks(le_int32 *indices, const le_int32 *combiningClasses,
50 le_int32 index, le_int32 limit);
51 };
52
53 #endif
|
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 /*
27 *
28 * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
29 *
30 */
31
32 #ifndef __CANONSHAPING_H
33 #define __CANONSHAPING_H
34
35 #include "LETypes.h"
36
37 U_NAMESPACE_BEGIN
38
39 class LEGlyphStorage;
40
41 class U_LAYOUT_API CanonShaping /* not : public UObject because all members are static */
42 {
43 public:
44 static const le_uint8 glyphSubstitutionTable[];
45 static const size_t glyphSubstitutionTableLen;
46 static const le_uint8 glyphDefinitionTable[];
47 static const size_t glyphDefinitionTableLen;
48
49 static void reorderMarks(const LEUnicode *inChars, le_int32 charCount, le_bool rightToLeft,
50 LEUnicode *outChars, LEGlyphStorage &glyphStorage);
51
52 private:
53 static void sortMarks(le_int32 *indices, const le_int32 *combiningClasses, le_int32 index, le_int32 limit);
54 };
55
56 U_NAMESPACE_END
57 #endif
|