1999-08-16 21:50:52 +00:00
|
|
|
/*
|
1999-12-13 22:28:37 +00:00
|
|
|
* Copyright (C) 1997-1999, International Business Machines
|
|
|
|
* Corporation and others. All Rights Reserved.
|
1999-08-16 21:50:52 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
1999-12-28 23:39:02 +00:00
|
|
|
#include "unicode/utypes.h"
|
1999-08-16 21:50:52 +00:00
|
|
|
#include "ucmp8.h"
|
|
|
|
#include "ucmp16.h"
|
|
|
|
|
|
|
|
struct ComposeData {
|
|
|
|
enum { BASE_COUNT = 805 };
|
|
|
|
enum { COMBINING_COUNT = 59 };
|
|
|
|
enum { MAX_COMPAT = 4215 };
|
|
|
|
enum { MAX_CANONICAL = 4882 };
|
|
|
|
enum { MAX_COMPOSED = 0xFB4E };
|
|
|
|
enum { MAX_INDEX = 8704 };
|
|
|
|
enum { INITIAL_JAMO_INDEX = 8705 };
|
|
|
|
enum { MEDIAL_JAMO_INDEX = 8706 };
|
|
|
|
enum { MAX_BASES = 1024 };
|
|
|
|
enum { MAX_COMBINE = 64 };
|
|
|
|
enum { TYPE_MASK = 0x7 };
|
|
|
|
enum { INDEX_SHIFT = 3 };
|
|
|
|
enum { IGNORE = 0 };
|
|
|
|
enum { BASE = 1 };
|
|
|
|
enum { NON_COMPOSING_COMBINING = 2 };
|
|
|
|
enum { COMBINING = 3 };
|
|
|
|
enum { INITIAL_JAMO = 4 };
|
|
|
|
enum { MEDIAL_JAMO = 5 };
|
|
|
|
enum { FINAL_JAMO = 6 };
|
|
|
|
enum { HANGUL = 7 };
|
|
|
|
|
2000-03-28 00:36:06 +00:00
|
|
|
static const uint16_t lookup_index[];
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2000-03-28 00:36:06 +00:00
|
|
|
static const uint16_t lookup_values[];
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
static const CompactShortArray* lookup;
|
|
|
|
|
2000-03-28 00:36:06 +00:00
|
|
|
static const uint16_t actions_index[];
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2000-03-28 00:36:06 +00:00
|
|
|
static const uint16_t actions_values[];
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
static const CompactShortArray* actions;
|
|
|
|
|
2000-03-28 00:36:06 +00:00
|
|
|
static const uint16_t actionIndex[];
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2000-03-28 00:36:06 +00:00
|
|
|
static const uint16_t replace[];
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
static const int32_t typeMask[];
|
|
|
|
};
|