1 /*======================================================================*\
2 |*		Editor mined						*|
3 |*		Interface						*|
4 |*		Character properties					*|
5 \*======================================================================*/
6 
7 /* Han character descriptions table */
8 
9 struct hanentry {
10 	unsigned long unicode;
11 	char * Mandarin;
12 	char * Cantonese;
13 	char * Japanese;
14 	char * Sino_Japanese;
15 	char * Hangul;
16 	char * Korean;
17 	char * Vietnamese;
18 	char * HanyuPinlu;
19 	char * HanyuPinyin;
20 	char * XHCHanyuPinyin;
21 	char * Tang;
22 	char * Definition;
23 };
24 
25 extern struct hanentry * lookup_handescr _((unsigned long unichar));
26 
27 
28 /* Character name information */
29 
30 extern char * charname _((unsigned long ucs));
31 extern char * charseqname _((unsigned long ucs, char * follow, int * seqlen, unsigned long * * seq));
32 
33 
34 /* Script information */
35 
36 struct scriptentry {
37 	unsigned long first, last;
38 	int scriptname;
39 	int categoryname;
40 };
41 
42 extern struct scriptentry * scriptinfo _((unsigned long ucs));
43 
44 extern char * category_names [];
45 
46 
47 /* Case conversion conditions */
48 
49 #define U_cond_Final_Sigma		0x01
50 #define U_cond_After_I			0x02
51 #define U_cond_After_Soft_Dotted	0x04
52 #define U_cond_More_Above		0x08
53 #define U_cond_Not_Before_Dot		0x10
54 #define U_cond_tr			0x20
55 #define U_cond_lt			0x40
56 #define U_cond_az			0x80
57 #define U_conds_lang	(U_cond_tr | U_cond_lt | U_cond_az)
58 
59 /* Case conversion table */
60 
61 struct caseconv_entry {
62 	unsigned long base;
63 	int toupper, tolower;
64 	unsigned long title;
65 };
66 
67 extern struct caseconv_entry caseconv_table [];
68 
69 typedef struct {unsigned short u1, u2, u3;} uniseq;
70 
71 struct caseconv_special_entry {
72 	unsigned long base;
73 	uniseq lower, title, upper;
74 	short condition;
75 };
76 
77 extern struct caseconv_special_entry caseconv_special [];
78 
79 extern int lookup_caseconv _((unsigned long basechar));
80 extern int lookup_caseconv_special _((unsigned long basechar, short langcond));
81 extern unsigned long case_convert _((unsigned long unichar, int dir));
82 
83 
84 /* Various character properties */
85 
86 extern int soft_dotted _((unsigned long ucs));
87 extern int iscombining_notabove _((unsigned long unichar));
88 extern int iscombining_above _((unsigned long unichar));
89 extern char * script _((unsigned long ucs));
90 extern unsigned long decomposition_base _((unsigned long ucs));
91 extern char * category _((unsigned long ucs));
92 extern FLAG isLetter _((unsigned long ucs));
93 extern FLAG is_wideunichar _((unsigned long ucs));
94 extern FLAG iscombining_unichar _((unsigned long ucs));
95 extern FLAG isspacingcombining_unichar _((unsigned long ucs));
96 
97 
98 /* Character decomposition information */
99 
100 extern char * decomposition_string _((unsigned long ucs));
101 
102 
103 /*======================================================================*\
104 |*			from charcode.c					*|
105 \*======================================================================*/
106 
107 extern unsigned char code_SPACE;
108 extern unsigned char code_TAB;
109 extern unsigned long code_LF;
110 extern unsigned long code_NL;
111 
112 extern int iscontrol _((unsigned long));
113 extern int iswhitespace _((unsigned long));
114 extern int isquotationmark _((unsigned long));
115 extern int isdash _((unsigned long));
116 extern int is_right_to_left _((unsigned long ucs));
117 extern FLAG is_bullet_or_dash _((unsigned long unich));
118 extern int isopeningparenthesis _((unsigned long));
119 extern character controlchar _((character));
120 
121 extern int utfencode _((unsigned long, character *));
122 extern int cjkencode _((unsigned long, character *));
123 extern int cjkencode_char _((FLAG term, unsigned long, character *));
124 extern char * encode_char _((unsigned long));
125 extern FLAG valid_cjk _((unsigned long cjkchar, /* opt */ character * cjkbytes));
126 extern FLAG valid_cjkchar _((FLAG term, unsigned long cjkchar, /* opt */ character * cjkbytes));
127 extern unsigned long isolated_alef _((unsigned long));
128 extern unsigned long ligature_lam_alef _((unsigned long));
129 extern FLAG no_char _((unsigned long c));
130 extern FLAG no_unichar _((unsigned long u));
131 
132 extern unsigned long mappedtermchar _((unsigned long));
133 extern unsigned long lookup_mappedtermchar _((unsigned long));
134 extern FLAG remapping_chars _((void));
135 extern unsigned long encodedchar _((unsigned long));
136 extern unsigned long encodedchar2 _((unsigned long, unsigned long));
137 extern unsigned long lookup_encodedchar _((unsigned long));
138 extern unsigned long max_char_value _((void));
139 extern FLAG encoding_has_combining _((void));
140 extern char * get_text_encoding _((void));
141 extern char * get_term_encoding _((void));
142 extern FLAG set_text_encoding _((char * charmap, char tag, char * debug_tag));
143 extern FLAG set_term_encoding _((char * charmap, char tag));
144 extern char text_encoding_tag;
145 extern char * text_encoding_flag;
146 extern char term_encoding_tag;
147 
148 
149 /*======================================================================*\
150 |*				End					*|
151 \*======================================================================*/
152