]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/tools/makeconv/genmbcs.h
ICU-6.2.22.tar.gz
[apple/icu.git] / icuSources / tools / makeconv / genmbcs.h
index c2ab199492eb0dc0c6b74d9c34d2b9526d762144..9313202649f47f641e217155fabac9ee77f6cc2d 100644 (file)
@@ -1,7 +1,7 @@
 /*
 *******************************************************************************
 *
-*   Copyright (C) 2000, International Business Machines
+*   Copyright (C) 2000-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 
 #include "makeconv.h"
 
+enum {
+    MBCS_STAGE_2_BLOCK_SIZE=0x40, /* 64; 64=1<<6 for 6 bits in stage 2 */
+    MBCS_STAGE_2_BLOCK_SIZE_SHIFT=6, /* log2(MBCS_STAGE_2_BLOCK_SIZE) */
+    MBCS_STAGE_1_SIZE=0x440, /* 0x110000>>10, or 17*64 for one entry per 1k code points */
+    MBCS_STAGE_2_SIZE=0xfbc0, /* 0x10000-MBCS_STAGE_1_SIZE */
+    MBCS_MAX_STAGE_2_TOP=MBCS_STAGE_2_SIZE,
+    MBCS_STAGE_2_MAX_BLOCKS=MBCS_STAGE_2_SIZE>>MBCS_STAGE_2_BLOCK_SIZE_SHIFT,
+
+    MBCS_STAGE_2_ALL_UNASSIGNED_INDEX=0, /* stage 1 entry for the all-unassigned stage 2 block */
+    MBCS_STAGE_2_FIRST_ASSIGNED=MBCS_STAGE_2_BLOCK_SIZE, /* start of the first stage 2 block after the all-unassigned one */
+
+    MBCS_STAGE_3_BLOCK_SIZE=16, /* 16; 16=1<<4 for 4 bits in stage 3 */
+    MBCS_STAGE_3_FIRST_ASSIGNED=MBCS_STAGE_3_BLOCK_SIZE, /* start of the first stage 3 block after the all-unassigned one */
+
+    MBCS_MAX_FALLBACK_COUNT=8192
+};
+
 U_CFUNC NewConverter *
-MBCSOpen(uint8_t maxCharLength);
+MBCSOpen(UCMFile *ucm);
 
-U_CFUNC UBool
-MBCSAddState(NewConverter *cnvData, const char *s);
+U_CFUNC NewConverter *
+CnvExtOpen(UCMFile *ucm);
 
 #endif