]> git.saurik.com Git - apple/icu.git/blame - icuSources/tools/gennorm/gennorm.h
ICU-6.2.15.tar.gz
[apple/icu.git] / icuSources / tools / gennorm / gennorm.h
CommitLineData
b75a7d8f
A
1/*
2*******************************************************************************
3*
4* Copyright (C) 1999-2002, International Business Machines
5* Corporation and others. All Rights Reserved.
6*
7*******************************************************************************
8* file name: genprops.h
9* encoding: US-ASCII
10* tab size: 8 (not used)
11* indentation:4
12*
13* created on: 1999dec13
14* created by: Markus W. Scherer
15*/
16
17#ifndef __GENPROPS_H__
18#define __GENPROPS_H__
19
20#include "unicode/utypes.h"
21#include "unicode/uset.h"
22
23/* file definitions */
24#define DATA_NAME "unorm"
25#define DATA_TYPE "icu"
26
27/*
28 * data structure that holds the normalization properties for one or more
29 * code point(s) at build time
30 */
31typedef struct Norm {
32 uint8_t udataCC, lenNFD, lenNFKD;
33 uint8_t qcFlags, combiningFlags;
34 uint16_t canonBothCCs, compatBothCCs, combiningIndex, specialTag;
35 uint32_t *nfd, *nfkd;
36 uint32_t value32; /* temporary variable for generating runtime norm32 and fcd values */
37 int32_t fncIndex;
38 USet *canonStart;
39 UBool unsafeStart;
40} Norm;
41
42/* global flags */
43extern UBool beVerbose, haveCopyright;
44
45/* prototypes */
46extern void
47setUnicodeVersion(const char *v);
48
49extern void
50init(void);
51
52extern void
53storeNorm(uint32_t code, Norm *norm);
54
55extern void
56setQCFlags(uint32_t code, uint8_t qcFlags);
57
58extern void
59setCompositionExclusion(uint32_t code);
60
61U_CFUNC void
62setFNC(uint32_t c, UChar *s);
63
64extern void
65processData(void);
66
67extern void
68generateData(const char *dataDir);
69
70extern void
71cleanUpData(void);
72
73#endif
74