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