|
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 */
|