blob: 7856928a65871a0ff943778b95c0caffd3c6d0d5 [file] [log] [blame]
/*
*******************************************************************************
*
* Copyright (C) 1999-2002, International Business Machines
* Corporation and others. All Rights Reserved.
*
*******************************************************************************
* file name: genprops.h
* encoding: US-ASCII
* tab size: 8 (not used)
* indentation:4
*
* created on: 1999dec13
* created by: Markus W. Scherer
*/
#ifndef __GENPROPS_H__
#define __GENPROPS_H__
#include "unicode/utypes.h"
#include "unicode/uset.h"
/* file definitions */
#define DATA_NAME "unorm"
#define DATA_TYPE "icu"
/*
* data structure that holds the normalization properties for one or more
* code point(s) at build time
*/
typedef struct Norm {
uint8_t udataCC, lenNFD, lenNFKD;
uint8_t qcFlags, combiningFlags;
uint16_t canonBothCCs, compatBothCCs, combiningIndex, specialTag;
uint32_t *nfd, *nfkd;
uint32_t value32; /* temporary variable for generating runtime norm32 and fcd values */
int32_t fncIndex;
USet *canonStart;
UBool unsafeStart;
} Norm;
/* global flags */
extern UBool beVerbose, haveCopyright;
/* prototypes */
extern void
setUnicodeVersion(const char *v);
extern void
init(void);
extern void
storeNorm(uint32_t code, Norm *norm);
extern void
setQCFlags(uint32_t code, uint8_t qcFlags);
extern void
setCompositionExclusion(uint32_t code);
U_CFUNC void
setFNC(uint32_t c, UChar *s);
extern void
processData(void);
extern void
generateData(const char *dataDir);
extern void
cleanUpData(void);
#endif