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

iso2022.h

#ifndef _WC_ISO2022_H
#define _WC_ISO2022_H

#define WC_C_ESC  0x1B  /* '\033' */
#define WC_C_SS2  0x4E  /* ESC 'N' */
#define WC_C_SS3  0x4F  /* ESC 'O' */
#define WC_C_LS2  0x6E  /* ESC 'n' */
#define WC_C_LS3  0x6F  /* ESC 'o' */
#define WC_C_LS1R 0x7E  /* ESC '~' */
#define WC_C_LS2R 0x7D  /* ESC '}' */
#define WC_C_LS3R 0x7C  /* ESC '|' */
#define WC_C_G0_CS94    0x28  /* ESC '(' F */
#define WC_C_G1_CS94    0x29  /* ESC ')' F */
#define WC_C_G2_CS94    0x2A  /* ESC '*' F */
#define WC_C_G3_CS94    0x2B  /* ESC '+' F */
#define WC_C_G0_CS96    0x2C  /* ESC ',' F */ /* ISO 2022 does not permit */
#define WC_C_G1_CS96    0x2D  /* ESC '-' F */
#define WC_C_G2_CS96    0x2E  /* ESC '.' F */
#define WC_C_G3_CS96    0x2F  /* ESC '/' F */
#define WC_C_MBCS 0x24  /* ESC '$' G F */
#define WC_C_CS942      0x21  /* ESC G '!' F */
#define WC_C_C0         0x21  /* ESC '!' F */
#define WC_C_C1         0x22  /* ESC '"' F */
#define WC_C_REP  0x26  /* ESC '&' F ESC '"' F */
#define WC_C_CSWSR      0x25  /* ESC '%' F */
#define WC_C_CSWOSR     0x2F  /* ESC '%' '/' F */

#define WC_C_SO         0x0E  /* '\016' */
#define WC_C_SI         0x0F  /* '\017' */
#define WC_C_SS2R 0x8E
#define WC_C_SS3R 0x8F

#define WC_F_ISO_646_US       0x42  /* 'B' */
#define WC_F_ISO_646_IRV      WC_F_ISO_646_US
#define WC_F_US_ASCII         WC_F_ISO_646_US
#define WC_F_JIS_X_0201K      0x49  /* 'I' */
#define WC_F_JIS_X_0201       0x4A  /* 'J' */
#define WC_F_GB_1988          0x54  /* 'T' */

#define WC_F_ISO_8859_1       0x41  /* 'A' */
#define WC_F_ISO_8859_2       0x42  /* 'B' */
#define WC_F_ISO_8859_3       0x43  /* 'C' */
#define WC_F_ISO_8859_4       0x44  /* 'D' */
#define WC_F_ISO_8859_5       0x4C  /* 'L' */
#define WC_F_ISO_8859_6       0x47  /* 'G' */
#define WC_F_ISO_8859_7       0x46  /* 'F' */
#define WC_F_ISO_8859_8       0x48  /* 'H' */
#define WC_F_ISO_8859_9       0x4D  /* 'M' */
#define WC_F_ISO_8859_10      0x56  /* 'V' */
#define WC_F_ISO_8859_11      0x54  /* 'T' */
#define WC_F_TIS_620          WC_F_ISO_8859_11
#define WC_F_ISO_8859_13      0x59  /* 'Y' */
#define WC_F_ISO_8859_14      0x5F  /* '_' */
#define WC_F_ISO_8859_15      0x62  /* 'b' */
#define WC_F_ISO_8859_16      0x66  /* 'f' */

#define WC_F_JIS_C_6226       0x40  /* '@' */
#define WC_F_GB_2312          0x41  /* 'A' */
#define WC_F_JIS_X_0208       0x42  /* 'B' */
#define WC_F_KS_X_1001        0x43  /* 'C' */
#define WC_F_KS_C_5601        WC_F_KS_X_1001
#define WC_F_JIS_X_0212       0x44  /* 'D' */
#define WC_F_ISO_IR_165       0x45  /* 'E' */
#define WC_F_CCITT_GB         WC_F_ISO_IR_165
#define WC_F_CNS_11643_1      0x47  /* 'G' */
#define WC_F_CNS_11643_2      0x48  /* 'H' */
#define WC_F_CNS_11643_3      0x49  /* 'I' */
#define WC_F_CNS_11643_4      0x4A  /* 'J' */
#define WC_F_CNS_11643_5      0x4B  /* 'K' */
#define WC_F_CNS_11643_6      0x4C  /* 'L' */
#define WC_F_CNS_11643_7      0x4D  /* 'M' */
#define WC_F_KPS_9566         0x4E  /* 'N' */
#define WC_F_JIS_X_0213_1     0x4F  /* 'O' */
#define WC_F_JIS_X_0213_2     0x50  /* 'P' */

#define WC_ISO_NOSTATE        0
#define WC_ISO_MBYTE1         1
#define WC_EUC_NOSTATE        0
#define WC_EUC_MBYTE1         2     /* for EUC (G1) */
#define WC_EUC_TW_SS2         3     /* for EUC_TW (G2) */
#define WC_EUC_TW_MBYTE1      4     /* for EUC_TW (G2) */
#define WC_EUC_TW_MBYTE2      5     /* for EUC_TW (G2) */
#define WC_ISO_ESC            6
#define WC_ISO_CSWSR          0x10
#define WC_ISO_CSWOSR         0x20

#define WC_ISO_MAP_CG   0xF0
#define WC_ISO_MAP_C0   0x10              /* 0x00 - 0x1F */
#define WC_ISO_MAP_GL   0x00              /* 0x21 - 0x7E */
#define WC_ISO_MAP_GL96 0x20              /* 0x20,  0x7F */
#define WC_ISO_MAP_C1   0x50              /* 0x80 - 0x9F */
#define WC_ISO_MAP_GR   0x40              /* 0xA1 - 0xFE */
#define WC_ISO_MAP_GR96 0x60              /* 0xA0,  0xFF */
#define WC_ISO_MAP_SO   (0x1 | WC_ISO_MAP_C0)   /* 0x0E */
#define WC_ISO_MAP_SI   (0x2 | WC_ISO_MAP_C0)   /* 0x0F */
#define WC_ISO_MAP_ESC  (0x3 | WC_ISO_MAP_C0)   /* 0x1B */
#define WC_ISO_MAP_SS2  (0x4 | WC_ISO_MAP_C1)   /* 0x8E */
#define WC_ISO_MAP_SS3  (0x5 | WC_ISO_MAP_C1)   /* 0x8F */
#define WC_ISO_MAP_DETECT     0x4F

#define WC_CS94WUL_N(U,L)     (((U) - 0x21) * 0x5E + (L) - 0x21)
#define WC_CS94W_N(c)   WC_CS94WUL_N(((c) >> 8) & 0x7F, (c) & 0x7F)     
#define WC_CS96WUL_N(U,L)     (((U) - 0x20) * 0x60 + (L) - 0x20)
#define WC_CS96W_N(c)   WC_CS96WUL_N(((c) >> 8) & 0x7F, (c) & 0x7F)     
#define WC_N_CS94WU(c)  ((c) / 0x5E + 0x21)
#define WC_N_CS94WL(c)  ((c) % 0x5E + 0x21)
#define WC_N_CS94W(c)   ((WC_N_CS94WU(c) << 8) + WC_N_CS94WL(c))
#define WC_N_CS96WU(c)  ((c) / 0x60 + 0x20)
#define WC_N_CS96WL(c)  ((c) % 0x60 + 0x20)
#define WC_N_CS96W(c)   ((WC_N_CS96WU(c) << 8) + WC_N_CS96WL(c))

extern wc_uint8 WC_ISO_MAP[];

extern Str  wc_conv_from_iso2022(Str is, wc_ces ces);
extern void wc_push_to_iso2022(Str os, wc_wchar_t cc, wc_status *st);
extern void wc_push_to_euc(Str os, wc_wchar_t cc, wc_status *st);
extern void wc_push_to_eucjp(Str os, wc_wchar_t cc, wc_status *st);
extern void wc_push_to_euctw(Str os, wc_wchar_t cc, wc_status *st);
extern void wc_push_to_iso8859(Str os, wc_wchar_t cc, wc_status *st);
extern void wc_push_to_iso2022_end(Str os, wc_status *st);
extern int  wc_parse_iso2022_esc(wc_uchar **ptr, wc_status *st);
extern void wc_push_iso2022_esc(Str os, wc_ccs ccs, wc_uchar g, wc_uint8 invoke, wc_status *st);
extern void wc_create_gmap(wc_status *st);
extern Str  wc_char_conv_from_iso2022(wc_uchar c, wc_status *st);

#endif

Generated by  Doxygen 1.6.0   Back to index