Logo Search packages:      
Sourcecode: w3m version File versions  Download package

wtf.h

#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

Generated by  Doxygen 1.6.0   Back to index