1 /* tag: Tom Lord Tue Dec  4 14:41:47 2001 (decomp-db-macros.h)
2  */
3 /* decomp-db-macros.h -
4  *
5  ****************************************************************
6  * Copyright (C) 2000 Tom Lord
7  *
8  * See the file "COPYING" for further information about
9  * the copyright and warranty status of this work.
10  */
11 
12 #ifndef INCLUDE__UNIDATA__DECOMP_DB_MACROS_H
13 #define INCLUDE__UNIDATA__DECOMP_DB_MACROS_H
14 
15 #include "hackerlab/uni/unidata.h"
16 
17 
18 /************************************************************************
19  *(h2 "Character Decomposition Mapping")
20  *
21  */
22 
23 /*(c #s"enum uni_decomposition_type" :category type)
24  * enum uni_decomposition_type;
25  *
26  * The decomposition mapping of a character is described by
27  * values of this enumerated type:
28  *
29  *
30  *	uni_decomposition_none
31  *	uni_decomposition_canonical
32  *	uni_decomposition_font
33  *	uni_decomposition_noBreak
34  *	uni_decomposition_initial
35  *	uni_decomposition_medial
36  *	uni_decomposition_final
37  *	uni_decomposition_isolated
38  *	uni_decomposition_circle
39  *	uni_decomposition_super
40  *	uni_decomposition_sub
41  *	uni_decomposition_vertical
42  *	uni_decomposition_wide
43  *	uni_decomposition_narrow
44  *	uni_decomposition_small
45  *	uni_decomposition_square
46  *	uni_decomposition_fraction
47  *	uni_decomposition_compat
48  *
49  * The value `uni_decomposition_none' indicates that a character
50  * has no decomposition mapping.
51  */
52 
53 /*(c #s"struct uni_decomposition_mapping" :category type)
54  * struct uni_decomposition_mapping;
55  *
56  * A character's decomposition mapping is described by this
57  * structure.  It has the fields:
58  *
59  * 	enum uni_decomposition_type type;
60  * 	t_unicode * decomposition;
61  *
62  * `type' is the type of decomposition.
63  *
64  * If `type' is not `uni_decomposition_none', then `decomposition'
65  * is a 0-termianted array of code points which are the decomposition
66  * of the character.
67  */
68 
69 
70 /*(c unidata_character_decomposition_mapping :category macro)
71  * #define unidata_character_decomposition_mapping(C)
72  *
73  * Return the decomposition mapping of `C'.  This macro returns
74  * a pointer to a `struct uni_decomposition_mapping'.
75  */
76 #define unidata_character_decomposition_mapping(C)	(&(unidata_decomposition_table[unidata__decomp_db_ref (unidata__decomp_db, (C))]))
77 
78 
79 /* automatically generated __STDC__ prototypes */
80 #endif  /* INCLUDE__UNIDATA__DECOMP_DB_MACROS_H */
81