diff options
author | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:18:09 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:18:09 +0000 |
commit | 5f8e0f8ef9a422691dd72e8a953a42a41478fcb4 (patch) | |
tree | 4b2df4796a534793648b3c4fc532fc36bd0cd525 /libwc/wtf.h | |
parent | Releasing debian version 0.3-2.4 (diff) | |
download | w3m-debian/0.5.1-1.tar.gz w3m-debian/0.5.1-1.zip |
Releasing debian version 0.5.1-1debian/0.5.1-1
Diffstat (limited to 'libwc/wtf.h')
-rw-r--r-- | libwc/wtf.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/libwc/wtf.h b/libwc/wtf.h new file mode 100644 index 0000000..ad47973 --- /dev/null +++ b/libwc/wtf.h @@ -0,0 +1,80 @@ + +#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 |