81 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| #ifndef _WC_WTF_H
 | |
| #define _WC_WTF_H
 | |
| 
 | |
| #define WTF_C_CS94	0x80
 | |
| #define WTF_C_CS94W	0x81
 | |
| #define WTF_C_CS96	0x82
 | |
| #define WTF_C_CS96W	0x83	/* reserved */
 | |
| #define WTF_C_CS942	0x84
 | |
| #define WTF_C_UNKNOWN	0x85
 | |
| #define WTF_C_PCS	0x86
 | |
| #define WTF_C_PCSW	0x87
 | |
| #define WTF_C_WCS16	0x88
 | |
| #define WTF_C_WCS16W	0x89
 | |
| #define WTF_C_WCS32	0x8A
 | |
| #define WTF_C_WCS32W	0x8B
 | |
| 
 | |
| #define WTF_C_COMB	0x10
 | |
| #define WTF_C_CS94_C	(WTF_C_CS94|WTF_C_COMB)		/* reserved */
 | |
| #define WTF_C_CS94W_C	(WTF_C_CS94W|WTF_C_COMB)	/* reserved */
 | |
| #define WTF_C_CS96_C	(WTF_C_CS96|WTF_C_COMB)		/* reserved */
 | |
| #define WTF_C_CS96W_C	(WTF_C_CS96W|WTF_C_COMB)	/* reserved */
 | |
| #define WTF_C_CS942_C	(WTF_C_CS942|WTF_C_COMB)	/* reserved */
 | |
| #define WTF_C_PCS_C	(WTF_C_PCS|WTF_C_COMB)
 | |
| #define WTF_C_PCSW_C	(WTF_C_PCSW|WTF_C_COMB)		/* reserved */
 | |
| #define WTF_C_WCS16_C	(WTF_C_WCS16|WTF_C_COMB)
 | |
| #define WTF_C_WCS16W_C	(WTF_C_WCS16W|WTF_C_COMB)	/* reserved */
 | |
| #define WTF_C_WCS32_C	(WTF_C_WCS32|WTF_C_COMB)	/* reserved */
 | |
| #define WTF_C_WCS32W_C	(WTF_C_WCS32W|WTF_C_COMB)	/* reserved */
 | |
| 
 | |
| #define WTF_C_UNDEF0	0x8C
 | |
| #define WTF_C_UNDEF1	0x8D
 | |
| #define WTF_C_UNDEF2	0x8E
 | |
| #define WTF_C_UNDEF3	0x8F
 | |
| #define WTF_C_UNDEF4	0x9C
 | |
| #define WTF_C_UNDEF5	0x9D
 | |
| #define WTF_C_UNDEF6	0x9E
 | |
| #define WTF_C_UNDEF7	0x9F
 | |
| #define WTF_C_NBSP	0xA0
 | |
| 
 | |
| #define WTF_TYPE_ASCII		0x0
 | |
| #define WTF_TYPE_CTRL		0x1
 | |
| #define WTF_TYPE_WCHAR1		0x2
 | |
| #define WTF_TYPE_WCHAR2		0x4
 | |
| #define WTF_TYPE_WIDE		0x8
 | |
| #define WTF_TYPE_UNKNOWN	0x10
 | |
| #define WTF_TYPE_UNDEF		0x20
 | |
| #define WTF_TYPE_WCHAR1W	(WTF_TYPE_WCHAR1|WTF_TYPE_WIDE)
 | |
| #define WTF_TYPE_WCHAR2W	(WTF_TYPE_WCHAR2|WTF_TYPE_WIDE)
 | |
| 
 | |
| extern wc_uint8 WTF_WIDTH_MAP[];
 | |
| extern wc_uint8 WTF_LEN_MAP[];
 | |
| extern wc_uint8 WTF_TYPE_MAP[];
 | |
| extern wc_ccs   wtf_gr_ccs;
 | |
| 
 | |
| extern void       wtf_init(wc_ces ces1, wc_ces ces2);
 | |
| 
 | |
| /* extern int     wtf_width(wc_uchar *p); */
 | |
| #define wtf_width(p) (WcOption.use_wide ? (int)WTF_WIDTH_MAP[(wc_uchar)*(p)] \
 | |
| 		      : ((int)WTF_WIDTH_MAP[(wc_uchar)*(p)] ? 1 : 0))
 | |
| extern int        wtf_strwidth(wc_uchar *p);
 | |
| /* extern size_t  wtf_len1(wc_uchar *p); */
 | |
| #define wtf_len1(p) ((int)WTF_LEN_MAP[(wc_uchar)*(p)])
 | |
| extern size_t     wtf_len(wc_uchar *p);
 | |
| /* extern int     wtf_type(wc_uchar *p); */
 | |
| #define wtf_type(p) WTF_TYPE_MAP[(wc_uchar)*(p)]
 | |
| 
 | |
| extern void       wtf_push(Str os, wc_ccs ccs, wc_uint32 code);
 | |
| extern void       wtf_push_unknown(Str os, wc_uchar *p, size_t len);
 | |
| extern wc_wchar_t wtf_parse(wc_uchar **p);
 | |
| extern wc_wchar_t wtf_parse1(wc_uchar **p);
 | |
| 
 | |
| extern wc_ccs     wtf_get_ccs(wc_uchar *p);
 | |
| extern wc_uint32  wtf_get_code(wc_uchar *p);
 | |
| 
 | |
| extern wc_bool    wtf_is_hangul(wc_uchar *p);
 | |
| 
 | |
| extern char      *wtf_conv_fit(char *s, wc_ces ces);
 | |
| 
 | |
| #endif
 |