2 *******************************************************************************
4 * Copyright (C) 2004-2005, International Business Machines
5 * Corporation and others. All Rights Reserved.
7 *******************************************************************************
10 * tab size: 8 (not used)
13 * created on: 2004aug28
14 * created by: Markus W. Scherer
20 #include "unicode/utypes.h"
26 /* Unicode versions --------------------------------------------------------- */
41 extern int32_t ucdVersion
;
43 /* gencase ------------------------------------------------------------------ */
45 #define UGENCASE_EXC_SHIFT 16
46 #define UGENCASE_EXC_MASK 0xffff0000
49 * Values for the ucase.icu unfold[] data array, see store.c.
50 * The values are stored in ucase.icu so that the runtime code will work with
51 * changing values, but they are hardcoded for gencase for simplicity.
52 * They are optimized, that is, provide for minimal table column widths,
53 * for the actual Unicode data, so that the table size is minimized.
54 * Future versions of Unicode may require increases of some of these values.
57 UGENCASE_UNFOLD_STRING_WIDTH
=3,
58 UGENCASE_UNFOLD_CP_WIDTH
=2,
59 UGENCASE_UNFOLD_WIDTH
=UGENCASE_UNFOLD_STRING_WIDTH
+UGENCASE_UNFOLD_CP_WIDTH
,
60 UGENCASE_UNFOLD_MAX_ROWS
=250
63 /* Values for additional data stored in pv column 1 */
65 UGENCASE_IS_MID_LETTER_SHIFT
/* bit 0 */
68 /* special casing data */
72 UChar lowerCase
[32], upperCase
[32], titleCase
[32];
75 /* case folding data */
82 /* case mapping properties */
84 UChar32 code
, lowerCase
, upperCase
, titleCase
;
86 SpecialCasing
*specialCasing
;
87 CaseFolding
*caseFolding
;
92 extern UBool beVerbose
, haveCopyright
;
94 /* properties vectors in gencase.c */
99 writeUCDFilename(char *basename
, const char *filename
, const char *suffix
);
102 isToken(const char *token
, const char *s
);
105 setUnicodeVersion(const char *v
);
110 U_CFUNC
uint32_t U_EXPORT2
111 getFoldedPropsValue(UNewTrie
*trie
, UChar32 start
, int32_t offset
);
114 addCaseSensitive(UChar32 first
, UChar32 last
);
117 makeCaseClosure(void);
120 makeExceptions(void);
123 generateData(const char *dataDir
, UBool csource
);