ELinks 0.16.1.1
charsets.h File Reference
This graph shows which files directly or indirectly include this file:

Data Structures

struct  conv_table

Macros

#define UCS_SPACE   ((unicode_val_T) 0x0020)
#define UCS_NO_BREAK_SPACE   ((unicode_val_T) 0x00A0)
#define UCS_SOFT_HYPHEN   ((unicode_val_T) 0x00AD)
#define UCS_REPLACEMENT_CHARACTER   ((unicode_val_T) 0xFFFD)
#define UCS_NO_CHAR   ((unicode_val_T) 0xFFFFFFFD)
#define UCS_ORPHAN_CELL   ((unicode_val_T) 0x20)
#define NBSP_CHAR   ((unsigned char) 1)
#define NBSP_CHAR_STRING   "\001"
#define convert_string   convert_string_elinks
#define u2cp(u, to)
#define u2cp_no_nbsp(u, to)
#define is_utf16_surrogate(u)
#define is_utf16_high_surrogate(u)
#define is_utf16_low_surrogate(u)
#define join_utf16_surrogates(high, low)
#define needs_utf16_surrogates(u)
#define get_utf16_high_surrogate(u)
#define get_utf16_low_surrogate(u)

Typedefs

typedef uint32_t unicode_val_T

Enumerations

enum  convert_string_mode { CSM_DEFAULT , CSM_QUERY , CSM_FORM , CSM_NONE }
enum  nbsp_mode { NBSP_MODE_HACK = 0 , NBSP_MODE_ASCII = 1 }
enum  utf8_step { UTF8_STEP_CHARACTERS , UTF8_STEP_CELLS_FEWER , UTF8_STEP_CELLS_MORE }

Functions

struct conv_tableget_translation_table (int, int)
const char * get_entity_string (const char *str, const int strlen, int encoding)
char * convert_string (struct conv_table *convert_table, const char *chars, int charslen, int cp, enum convert_string_mode mode, int *length, void(*callback)(void *data, char *buf, int buflen), void *callback_data)
int get_cp_index (const char *)
const char * get_cp_name (int)
const char * get_cp_config_name (int)
const char * get_cp_mime_name (int)
const uint16_t * get_cp_highhalf (const char *)
int is_cp_utf8 (int)
void free_conv_table (void)
char * encode_utf8 (unicode_val_T)
char * utf8_prevchar (char *, int, char *)
int utf8charlen (const char *)
int utf8_char2cells (const char *, char *)
int utf8_ptr2cells (const char *, char *)
int utf8_ptr2chars (char *, char *)
int utf8_cells2bytes (const char *, int, char *)
char * utf8_step_forward (char *, char *, int, enum utf8_step, int *)
char * utf8_step_backward (char *, char *, int, enum utf8_step, int *)
int codepoint_replacement (unicode_val_T u)
int unicode_to_cell (unicode_val_T)
unicode_val_T unicode_fold_label_case (unicode_val_T)
int strlen_utf8 (char **)
unicode_val_T utf8_to_unicode (char **, const char *)
unicode_val_T cp_to_unicode (int, char **, const char *)
unicode_val_T cp2u (int, unsigned char)
const char * cp2utf8 (int, int)
const char * u2cp_ (unicode_val_T, int, enum nbsp_mode)
void init_charsets_lookup (void)
void free_charsets_lookup (void)

Macro Definition Documentation

◆ convert_string

#define convert_string   convert_string_elinks

◆ get_utf16_high_surrogate

#define get_utf16_high_surrogate ( u)
Value:
(0xD800 + (((u) - 0x10000) >> 10))

◆ get_utf16_low_surrogate

#define get_utf16_low_surrogate ( u)
Value:
(0xDC00 + ((u) & 0x3FF))

◆ is_utf16_high_surrogate

#define is_utf16_high_surrogate ( u)
Value:
(((u) & 0xFFFFFC00) == 0xD800)

◆ is_utf16_low_surrogate

#define is_utf16_low_surrogate ( u)
Value:
(((u) & 0xFFFFFC00) == 0xDC00)

◆ is_utf16_surrogate

#define is_utf16_surrogate ( u)
Value:
(((u) & 0xFFFFF800) == 0xD800)

◆ join_utf16_surrogates

#define join_utf16_surrogates ( high,
low )
Value:
(0x10000 + (((high) - 0xD800L) << 10) + ((low) - 0xDC00))

◆ NBSP_CHAR

#define NBSP_CHAR   ((unsigned char) 1)

◆ NBSP_CHAR_STRING

#define NBSP_CHAR_STRING   "\001"

◆ needs_utf16_surrogates

#define needs_utf16_surrogates ( u)
Value:
((uint32_t) ((u) - 0x10000) < 0x100000)

◆ u2cp

#define u2cp ( u,
to )
Value:
const char * u2cp_(unicode_val_T u, int to, enum nbsp_mode nbsp_mode)
Definition charsets.c:258
@ NBSP_MODE_HACK
Definition charsets.h:97

◆ u2cp_no_nbsp

#define u2cp_no_nbsp ( u,
to )
Value:
@ NBSP_MODE_ASCII
Definition charsets.h:100

◆ UCS_NO_BREAK_SPACE

#define UCS_NO_BREAK_SPACE   ((unicode_val_T) 0x00A0)

◆ UCS_NO_CHAR

#define UCS_NO_CHAR   ((unicode_val_T) 0xFFFFFFFD)

◆ UCS_ORPHAN_CELL

#define UCS_ORPHAN_CELL   ((unicode_val_T) 0x20)

◆ UCS_REPLACEMENT_CHARACTER

#define UCS_REPLACEMENT_CHARACTER   ((unicode_val_T) 0xFFFD)

◆ UCS_SOFT_HYPHEN

#define UCS_SOFT_HYPHEN   ((unicode_val_T) 0x00AD)

◆ UCS_SPACE

#define UCS_SPACE   ((unicode_val_T) 0x0020)

Typedef Documentation

◆ unicode_val_T

typedef uint32_t unicode_val_T

Enumeration Type Documentation

◆ convert_string_mode

Enumerator
CSM_DEFAULT 
CSM_QUERY 
CSM_FORM 
CSM_NONE 

◆ nbsp_mode

enum nbsp_mode
Enumerator
NBSP_MODE_HACK 
NBSP_MODE_ASCII 

◆ utf8_step

enum utf8_step
Enumerator
UTF8_STEP_CHARACTERS 
UTF8_STEP_CELLS_FEWER 
UTF8_STEP_CELLS_MORE 

Function Documentation

◆ codepoint_replacement()

int codepoint_replacement ( unicode_val_T u)

◆ convert_string()

char * convert_string ( struct conv_table * convert_table,
const char * chars,
int charslen,
int cp,
enum convert_string_mode mode,
int * length,
void(* callback )(void *data, char *buf, int buflen),
void * callback_data )

◆ cp2u()

unicode_val_T cp2u ( int from,
unsigned char c )

◆ cp2utf8()

const char * cp2utf8 ( int from,
int c )

◆ cp_to_unicode()

unicode_val_T cp_to_unicode ( int codepage,
char ** string,
const char * end )

◆ encode_utf8()

char * encode_utf8 ( unicode_val_T u)

◆ free_charsets_lookup()

void free_charsets_lookup ( void )

◆ free_conv_table()

void free_conv_table ( void )

◆ get_cp_config_name()

const char * get_cp_config_name ( int cp_index)

◆ get_cp_highhalf()

const uint16_t * get_cp_highhalf ( const char * name)

◆ get_cp_index()

int get_cp_index ( const char * name)

◆ get_cp_mime_name()

const char * get_cp_mime_name ( int cp_index)

◆ get_cp_name()

const char * get_cp_name ( int cp_index)

◆ get_entity_string()

const char * get_entity_string ( const char * str,
const int strlen,
int encoding )

◆ get_translation_table()

struct conv_table * get_translation_table ( int from,
int to )

◆ init_charsets_lookup()

void init_charsets_lookup ( void )

◆ is_cp_utf8()

int is_cp_utf8 ( int cp_index)

◆ strlen_utf8()

int strlen_utf8 ( char ** str)

◆ u2cp_()

const char * u2cp_ ( unicode_val_T ,
int ,
enum nbsp_mode )

◆ unicode_fold_label_case()

unicode_val_T unicode_fold_label_case ( unicode_val_T c)

◆ unicode_to_cell()

int unicode_to_cell ( unicode_val_T ucs4)

◆ utf8_cells2bytes()

int utf8_cells2bytes ( const char * string,
int max_cells,
char * end )

◆ utf8_char2cells()

int utf8_char2cells ( const char * utf8_char_const,
char * end )

◆ utf8_prevchar()

char * utf8_prevchar ( char * current,
int pos,
char * start )

◆ utf8_ptr2cells()

int utf8_ptr2cells ( const char * string,
char * end )

◆ utf8_ptr2chars()

int utf8_ptr2chars ( char * string,
char * end )

◆ utf8_step_backward()

char * utf8_step_backward ( char * string,
char * start,
int max,
enum utf8_step,
int * count )

◆ utf8_step_forward()

char * utf8_step_forward ( char * string,
char * end,
int max,
enum utf8_step,
int * count )

◆ utf8_to_unicode()

unicode_val_T utf8_to_unicode ( char ** string,
const char * end )

◆ utf8charlen()

int utf8charlen ( const char * p)