Blame src/UCdomap.h

Packit f574b8
#ifndef UCDOMAP_H
Packit f574b8
#define UCDOMAP_H
Packit f574b8
Packit f574b8
#ifndef HTUTILS_H
Packit f574b8
#include <HTUtils.h>
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifndef ALL_CHARSETS
Packit f574b8
#define ALL_CHARSETS 1
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#include <UCkd.h>
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
extern "C" {
Packit f574b8
#endif
Packit f574b8
/*
Packit f574b8
 * [old comments:  - KW ]
Packit f574b8
 * consolemap.h
Packit f574b8
 *
Packit f574b8
 * Interface between console.c, selection.c and UCmap.c
Packit f574b8
 */
Packit f574b8
#define LAT1_MAP 0
Packit f574b8
#define GRAF_MAP 1
Packit f574b8
#define IBMPC_MAP 2
Packit f574b8
#define USER_MAP 3
Packit f574b8
/*
Packit f574b8
 * Some conventions I try to follow (loosely):
Packit f574b8
 *	[a-z]* only internal, names from linux driver code.
Packit f574b8
 *	UC_* to be only known internally.
Packit f574b8
 *	UC[A-Z]* to be exported to other parts of Lynx. -KW
Packit f574b8
 */ extern void UC_Charset_Setup(const char *UC_MIMEcharset,
Packit f574b8
				 const char *UC_LYNXcharset,
Packit f574b8
				 const u8 * unicount,
Packit f574b8
				 const u16 * unitable,
Packit f574b8
				 int nnuni,
Packit f574b8
				 struct unimapdesc_str replacedesc,
Packit f574b8
				 int lowest_eight,
Packit f574b8
				 int UC_rawuni,
Packit f574b8
				 int codepage);
Packit f574b8
Packit f574b8
    struct UC_charset {
Packit f574b8
	const char *MIMEname;
Packit f574b8
	const char *LYNXname;
Packit f574b8
	const u8 *unicount;
Packit f574b8
	const u16 *unitable;
Packit f574b8
	int num_uni;
Packit f574b8
	struct unimapdesc_str replacedesc;
Packit f574b8
	int uc_status;
Packit f574b8
	int LYhndl;
Packit f574b8
	int GN;
Packit f574b8
	int lowest_eight;
Packit f574b8
	int enc;
Packit f574b8
	int codepage;		/* codepage number, used by OS/2 font-switching code */
Packit f574b8
    };
Packit f574b8
Packit f574b8
    extern int UCNumCharsets;
Packit f574b8
    extern int UCInitialized;
Packit f574b8
Packit f574b8
    extern void UCInit(void);
Packit f574b8
Packit f574b8
/*
Packit f574b8
 * INSTRUCTIONS for adding new character sets which do not have Unicode tables.
Packit f574b8
 *
Packit f574b8
 * Several #defines below are declarations for charsets which need no tables
Packit f574b8
 * for mapping to Unicode - CJK multibytes, x-transparent, UTF8 - Lynx takes
Packit f574b8
 * care of them internally.
Packit f574b8
 *
Packit f574b8
 * The declaration's format is kept in chrtrans/XXX_uni.h - keep this in mind
Packit f574b8
 * when changing ucmaketbl.c, see also UC_Charset_Setup() above for details.
Packit f574b8
 */
Packit f574b8
Packit f574b8
    /*
Packit f574b8
     * There is no strict correlation for the next five, since the transfer
Packit f574b8
     * charset gets decoded into Display Char Set by the CJK code (separate from
Packit f574b8
     * Unicode mechanism).  For now we use the MIME name that describes what is
Packit f574b8
     * output to the terminal.  - KW
Packit f574b8
     */
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_euc_cn
Packit f574b8
#define NO_CHARSET_euc_cn !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_euc_cn
Packit f574b8
#define UC_CHARSET_SETUP_euc_cn	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_euc_cn UC_Charset_NoUctb_Setup("euc-cn","Chinese",\
Packit f574b8
       1, 128,UCT_ENC_CJK,0)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_euc_jp
Packit f574b8
#define NO_CHARSET_euc_jp !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_euc_jp
Packit f574b8
#define UC_CHARSET_SETUP_euc_jp	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_euc_jp UC_Charset_NoUctb_Setup("euc-jp","Japanese (EUC-JP)",\
Packit f574b8
       1, 128,UCT_ENC_CJK,0)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_shift_jis
Packit f574b8
#define NO_CHARSET_shift_jis !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_shift_jis
Packit f574b8
#define UC_CHARSET_SETUP_shift_jis	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_shift_jis UC_Charset_NoUctb_Setup("shift_jis","Japanese (Shift_JIS)",\
Packit f574b8
       1, 128,UCT_ENC_CJK,0)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_euc_kr
Packit f574b8
#define NO_CHARSET_euc_kr !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_euc_kr
Packit f574b8
#define UC_CHARSET_SETUP_euc_kr	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_euc_kr UC_Charset_NoUctb_Setup("euc-kr","Korean",\
Packit f574b8
       1, 128,UCT_ENC_CJK,0)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_big5
Packit f574b8
#define NO_CHARSET_big5 !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_big5
Packit f574b8
#define UC_CHARSET_SETUP_big5	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_big5 UC_Charset_NoUctb_Setup("big5","Taipei (Big5)",\
Packit f574b8
       1, 128,UCT_ENC_CJK,0)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
    /*
Packit f574b8
     * Placeholder for non-translation mode.  - FM
Packit f574b8
     */
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_x_transparent
Packit f574b8
#define NO_CHARSET_x_transparent !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_x_transparent
Packit f574b8
#define UC_CHARSET_SETUP_x_transparent	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_x_transparent UC_Charset_NoUctb_Setup("x-transparent","Transparent",\
Packit f574b8
       0, 128,UCT_ENC_8BIT,0)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
/*----------------------------------------------------------------------------*/
Packit f574b8
Packit f574b8
#ifndef NO_CHARSET_utf_8
Packit f574b8
#define NO_CHARSET_utf_8 !ALL_CHARSETS
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#if NO_CHARSET_utf_8
Packit f574b8
#define UC_CHARSET_SETUP_utf_8	/* nothing */
Packit f574b8
#else
Packit f574b8
#define UC_CHARSET_SETUP_utf_8 UC_Charset_NoUctb_Setup("utf-8","UNICODE (UTF-8)",\
Packit f574b8
       0, 128,UCT_ENC_UTF8,-4)
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
}
Packit f574b8
#endif
Packit f574b8
#endif				/* UCDOMAP_H */