ELinks 0.18.0
Data Structures | Macros | Typedefs | Enumerations | Functions
charsets.h File Reference

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)   u2cp_(u, to, NBSP_MODE_HACK)
 
#define u2cp_no_nbsp(u, to)   u2cp_(u, to, NBSP_MODE_ASCII)
 
#define is_utf16_surrogate(u)   (((u) & 0xFFFFF800) == 0xD800)
 
#define is_utf16_high_surrogate(u)   (((u) & 0xFFFFFC00) == 0xD800)
 
#define is_utf16_low_surrogate(u)   (((u) & 0xFFFFFC00) == 0xDC00)
 
#define join_utf16_surrogates(high, low)   (0x10000 + (((high) - 0xD800L) << 10) + ((low) - 0xDC00))
 
#define needs_utf16_surrogates(u)   ((uint32_t) ((u) - 0x10000) < 0x100000)
 
#define get_utf16_high_surrogate(u)   (0xD800 + (((u) - 0x10000) >> 10))
 
#define get_utf16_low_surrogate(u)   (0xDC00 + ((u) & 0x3FF))
 

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_table * get_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)    (0xD800 + (((u) - 0x10000) >> 10))

◆ get_utf16_low_surrogate

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

◆ is_utf16_high_surrogate

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

◆ is_utf16_low_surrogate

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

◆ is_utf16_surrogate

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

◆ join_utf16_surrogates

#define join_utf16_surrogates (   high,
  low 
)    (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)    ((uint32_t) ((u) - 0x10000) < 0x100000)

◆ u2cp

#define u2cp (   u,
  to 
)    u2cp_(u, to, NBSP_MODE_HACK)

◆ u2cp_no_nbsp

#define u2cp_no_nbsp (   u,
  to 
)    u2cp_(u, to, NBSP_MODE_ASCII)

◆ 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(*)(void *data, char *buf, int buflen)  callback,
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)