2 *******************************************************************************
4 * Copyright (C) 1999-2005, International Business Machines
5 * Corporation and others. All Rights Reserved.
7 *******************************************************************************
10 * tab size: 8 (not used)
13 * created on: 2001may25
14 * created by: Markus W. Scherer
17 #ifndef __GENPROPS_H__
18 #define __GENPROPS_H__
20 #include "unicode/utypes.h"
21 #include "unicode/uset.h"
23 /* file definitions */
24 #define DATA_NAME "unorm"
25 #define DATA_TYPE "icu"
28 * data structure that holds the normalization properties for one or more
29 * code point(s) at build time
32 uint8_t udataCC
, lenNFD
, lenNFKD
;
33 uint8_t qcFlags
, combiningFlags
;
34 uint16_t canonBothCCs
, compatBothCCs
, combiningIndex
, specialTag
;
36 uint32_t value32
; /* temporary variable for generating runtime norm32 and fcd values */
43 * modularization flags
45 * Corresponding bits in gStoreFlags control whether certain kinds of data
46 * are to be stored in (1) or omitted from (0) the data file.
47 * The flags are controlled by a command-line argument, with a letter
51 UGENNORM_STORE_COMPAT
, /* (k) compatibility decompositions */
52 UGENNORM_STORE_COMPOSITION
, /* (c) composition data */
53 UGENNORM_STORE_FCD
, /* (f) FCD data */
54 UGENNORM_STORE_AUX
, /* (a) auxiliary trie and associated data */
55 UGENNORM_STORE_EXCLUSIONS
, /* (x) exclusion sets */
59 extern uint32_t gStoreFlags
;
61 #define DO_STORE(flag) (0!=(gStoreFlags&U_MASK(flag)))
62 #define DO_NOT_STORE(flag) (0==(gStoreFlags&U_MASK(flag)))
65 extern UBool beVerbose
, haveCopyright
;
69 setUnicodeVersion(const char *v
);
75 storeNorm(uint32_t code
, Norm
*norm
);
78 setQCFlags(uint32_t code
, uint8_t qcFlags
);
81 setCompositionExclusion(uint32_t code
);
84 setFNC(uint32_t c
, UChar
*s
);
90 generateData(const char *dataDir
, UBool csource
);