sombok  2.4.0
Data Structures | Typedefs | Enumerations | Functions | Variables
sombok.h File Reference

Go to the source code of this file.

Data Structures

struct  unistr_t
 
struct  gcchar_t
 
struct  mapent_t
 
struct  gcstring_t
 
struct  linebreak_t
 

Typedefs

typedef unsigned int unichar_t
 
typedef unsigned char propval_t
 
typedef void(* linebreak_ref_func_t) (void *, int, int)
 
typedef gcstring_t *(* linebreak_format_func_t) (struct linebreak_t *, linebreak_state_t, gcstring_t *)
 
typedef double(* linebreak_sizing_func_t) (struct linebreak_t *, double, gcstring_t *, gcstring_t *, gcstring_t *)
 
typedef gcstring_t *(* linebreak_urgent_func_t) (struct linebreak_t *, gcstring_t *)
 
typedef gcstring_t *(* linebreak_prep_func_t) (struct linebreak_t *, void *, unistr_t *, unistr_t *)
 
typedef gcstring_t *(* linebreak_obs_prep_func_t) (struct linebreak_t *, unistr_t *)
 
typedef struct linebreak_t linebreak_t
 

Enumerations

enum  linebreak_state_t {
  LINEBREAK_STATE_NONE = 0, LINEBREAK_STATE_SOT, LINEBREAK_STATE_SOP, LINEBREAK_STATE_SOL,
  LINEBREAK_STATE_LINE, LINEBREAK_STATE_EOL, LINEBREAK_STATE_EOP, LINEBREAK_STATE_EOT,
  LINEBREAK_STATE_MAX
}
 

Functions

void linebreak_charprop (linebreak_t *, unichar_t, propval_t *, propval_t *, propval_t *, propval_t *)
 
gcstring_tgcstring_new (unistr_t *, linebreak_t *)
 
gcstring_tgcstring_new_from_utf8 (char *, size_t, int, linebreak_t *)
 
gcstring_tgcstring_newcopy (unistr_t *, linebreak_t *)
 
gcstring_tgcstring_copy (gcstring_t *)
 
void gcstring_destroy (gcstring_t *)
 
gcstring_tgcstring_append (gcstring_t *, gcstring_t *)
 
size_t gcstring_columns (gcstring_t *)
 
int gcstring_cmp (gcstring_t *, gcstring_t *)
 
gcstring_tgcstring_concat (gcstring_t *, gcstring_t *)
 
gcchar_tgcstring_next (gcstring_t *)
 
void gcstring_setpos (gcstring_t *, int)
 
void gcstring_shrink (gcstring_t *, int)
 
gcstring_tgcstring_substr (gcstring_t *, int, int)
 
gcstring_tgcstring_replace (gcstring_t *, int, int, gcstring_t *)
 
propval_t gcstring_lbclass (gcstring_t *, int)
 
propval_t gcstring_lbclass_ext (gcstring_t *, int)
 
linebreak_tlinebreak_new (linebreak_ref_func_t)
 
linebreak_tlinebreak_copy (linebreak_t *)
 
linebreak_tlinebreak_incref (linebreak_t *)
 
void linebreak_destroy (linebreak_t *)
 
void linebreak_set_newline (linebreak_t *, unistr_t *)
 
void linebreak_set_stash (linebreak_t *, void *)
 
void linebreak_set_format (linebreak_t *, linebreak_format_func_t, void *)
 
void linebreak_add_prep (linebreak_t *, linebreak_prep_func_t, void *)
 
void linebreak_set_sizing (linebreak_t *, linebreak_sizing_func_t, void *)
 
void linebreak_set_urgent (linebreak_t *, linebreak_urgent_func_t, void *)
 
void linebreak_set_user (linebreak_t *, linebreak_obs_prep_func_t, void *)
 
void linebreak_reset (linebreak_t *)
 
void linebreak_update_lbclass (linebreak_t *, unichar_t, propval_t)
 
void linebreak_clear_lbclass (linebreak_t *)
 
void linebreak_update_eawidth (linebreak_t *, unichar_t, propval_t)
 
void linebreak_clear_eawidth (linebreak_t *)
 
propval_t linebreak_search_lbclass (linebreak_t *, unichar_t)
 
propval_t linebreak_search_eawidth (linebreak_t *, unichar_t)
 
void linebreak_merge_lbclass (linebreak_t *, linebreak_t *)
 
void linebreak_merge_eawidth (linebreak_t *, linebreak_t *)
 
propval_t linebreak_eawidth (linebreak_t *, unichar_t)
 
propval_t linebreak_get_lbrule (linebreak_t *, propval_t, propval_t)
 
propval_t linebreak_lbclass (linebreak_t *, unichar_t)
 
gcstring_t ** linebreak_break (linebreak_t *, unistr_t *)
 
gcstring_t ** linebreak_break_fast (linebreak_t *, unistr_t *)
 
gcstring_t ** linebreak_break_from_utf8 (linebreak_t *, char *, size_t, int)
 
gcstring_t ** linebreak_break_partial (linebreak_t *, unistr_t *)
 
void linebreak_free_result (gcstring_t **, int)
 
propval_t linebreak_lbrule (propval_t, propval_t)
 
void linebreak_southeastasian_flagbreak (gcstring_t *)
 
unistr_tsombok_decode_utf8 (unistr_t *, size_t, const char *, size_t, int)
 
char * sombok_encode_utf8 (char *, size_t *, size_t, unistr_t *)
 
gcstring_tlinebreak_format_SIMPLE (linebreak_t *, linebreak_state_t, gcstring_t *)
 
gcstring_tlinebreak_format_NEWLINE (linebreak_t *, linebreak_state_t, gcstring_t *)
 
gcstring_tlinebreak_format_TRIM (linebreak_t *, linebreak_state_t, gcstring_t *)
 
gcstring_tlinebreak_prep_URIBREAK (linebreak_t *, void *, unistr_t *, unistr_t *)
 
double linebreak_sizing_UAX11 (linebreak_t *, double, gcstring_t *, gcstring_t *, gcstring_t *)
 
gcstring_tlinebreak_urgent_ABORT (linebreak_t *, gcstring_t *)
 
gcstring_tlinebreak_urgent_FORCE (linebreak_t *, gcstring_t *)
 

Variables

const char * linebreak_unicode_version
 
const char * linebreak_propvals_EA []
 
const char * linebreak_propvals_LB []
 
const char * linebreak_southeastasian_supported
 

Typedef Documentation

typedef gcstring_t*(* linebreak_format_func_t) (struct linebreak_t *, linebreak_state_t, gcstring_t *)
typedef gcstring_t*(* linebreak_obs_prep_func_t) (struct linebreak_t *, unistr_t *)
typedef gcstring_t*(* linebreak_prep_func_t) (struct linebreak_t *, void *, unistr_t *, unistr_t *)
typedef void(* linebreak_ref_func_t) (void *, int, int)
typedef double(* linebreak_sizing_func_t) (struct linebreak_t *, double, gcstring_t *, gcstring_t *, gcstring_t *)
typedef gcstring_t*(* linebreak_urgent_func_t) (struct linebreak_t *, gcstring_t *)
typedef unsigned int unichar_t

Unicode character

Function Documentation

void linebreak_charprop ( linebreak_t obj,
unichar_t  c,
propval_t lbcptr,
propval_t eawptr,
propval_t gcbptr,
propval_t scrptr 
)

Search for character properties.

Note
this function is for internal use.

Configuration parameters of linebreak object:

  • map, mapsiz: custom property map overriding built-in map.
Parameters
[in]objlinebreak object.
[in]cUnicode character.
[out]lbcptrUAX #14 line breaking class.
[out]eawptrUAX #11 East_Asian_Width property value.
[out]gcbptrUAX #29 Grapheme_Cluster_Break property value.
[out]scrptrScript (limited to several scripts).
Returns
none.
Note
As of 2.2.0, LINEBREAK_OPTION_EASTASIAN_CONTEXT and LINEBREAK_OPTION_NONSTARTER_LOOSE are not affect.

Variable Documentation

const char* linebreak_propvals_EA[]
const char* linebreak_propvals_LB[]
const char* linebreak_unicode_version