00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "unicode/utypes.h"
00013 #include "ucmp8.h"
00014 #include "ucmp16.h"
00015
00016 struct ComposeData {
00017 enum { BASE_COUNT = 748 };
00018 enum { COMBINING_COUNT = 55 };
00019 enum { MAX_COMPAT = 4341 };
00020 enum { MAX_CANONICAL = 5199 };
00021 enum { MAX_COMPOSED = 0xFB1D };
00022 enum { MAX_INDEX = 8982 };
00023 enum { INITIAL_JAMO_INDEX = 8983 };
00024 enum { MEDIAL_JAMO_INDEX = 8984 };
00025 enum { MAX_BASES = 1024 };
00026 enum { MAX_COMBINE = 64 };
00027 enum { TYPE_MASK = 0x7 };
00028 enum { INDEX_SHIFT = 3 };
00029 enum { IGNORE = 0 };
00030 enum { BASE = 1 };
00031 enum { NON_COMPOSING_COMBINING = 2 };
00032 enum { COMBINING = 3 };
00033 enum { INITIAL_JAMO = 4 };
00034 enum { MEDIAL_JAMO = 5 };
00035 enum { FINAL_JAMO = 6 };
00036 enum { HANGUL = 7 };
00037
00038 static const uint16_t lookup_index[];
00039
00040 static const uint16_t lookup_values[];
00041
00042 static CompactShortArray _lookup;
00043
00044 static const CompactShortArray* lookup;
00045
00046 static const uint16_t actions_index[];
00047
00048 static const uint16_t actions_values[];
00049
00050 static CompactShortArray _actions;
00051
00052 static const CompactShortArray* actions;
00053
00054 static const uint16_t actionIndex[];
00055
00056 static const uint16_t replace[];
00057
00058 static const int32_t typeBit[];
00059 };