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