#ifndef UCAUX_H
#define UCAUX_H
/*
* A type for a "Translation Quality" (actually, Transcoding Quality).
* This is a fuzzy concept since we are just looking at the charset
* not what characters are actually there, so it's just a guess for
* "common" cases. TQ_NO must be 0 since callers of functions that
* return this type may treat result as a boolean flag.
* The functions returning this type could be improved to use more
* knowledge from the translation tables.
*/
typedef enum {
TQ_NO = 0, /* must be 0 */
TQ_POOR = 1,
TQ_GOOD = 2,
TQ_EXCELLENT = 3
} UCTQ_t;
extern UCTQ_t UCCanUniTranslateFrom PARAMS((int from));
extern UCTQ_t UCCanTranslateUniTo PARAMS((int to));
extern UCTQ_t UCCanTranslateFromTo PARAMS((int from, int to));
extern BOOL UCNeedNotTranslate PARAMS((
int from,
int to));
struct _UCTransParams
{
BOOL transp;
BOOL do_cjk;
BOOL decode_utf8;
BOOL output_utf8;
BOOL use_raw_char_in;
BOOL strip_raw_char_in;
BOOL pass_160_173_raw;
BOOL do_8bitraw;
BOOL trans_to_uni;
BOOL trans_C0_to_uni;
BOOL repl_translated_C0;
BOOL trans_from_uni;
};
typedef struct _UCTransParams UCTransParams;
#ifndef UCDEFS_H
#include "UCDefs.h"
#endif /* UCDEFS_H */
extern void UCSetTransParams PARAMS((
UCTransParams * pT,
int cs_in,
CONST LYUCcharset * p_in,
int cs_out,
CONST LYUCcharset * p_out));
extern void UCTransParams_clear PARAMS((
UCTransParams * pT));
extern void UCSetBoxChars PARAMS((
int cset,
int * pvert_out,
int * phori_out,
int vert_in,
int hori_in));
#ifndef HTSTREAM_H
#include "HTStream.h"
#endif /* HTSTREAM_H */
typedef void putc_func_t PARAMS((
HTStream * me,
char ch));
#ifndef UCMAP_H
#include "UCMap.h"
#endif /* UCMAP_H */
extern BOOL UCPutUtf8_charstring PARAMS((
HTStream * target,
putc_func_t * actions,
UCode_t code));
extern BOOL UCConvertUniToUtf8 PARAMS((
UCode_t code,
char * buffer));
#endif /* UCAUX_H */