Data Structures | Typedefs | Enumerations | Functions | Variables

include/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 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_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 *)
linebreak_tlinebreak_new ()
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 *, gcstring_t *(*)(), void *)
void linebreak_add_prep (linebreak_t *, gcstring_t *(*)(), void *)
void linebreak_set_sizing (linebreak_t *, double(*)(), void *)
void linebreak_set_urgent (linebreak_t *, gcstring_t *(*)(), void *)
void linebreak_set_user (linebreak_t *, gcstring_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_eawidth (linebreak_t *, unichar_t)
propval_t linebreak_lbclass (linebreak_t *, unichar_t)
propval_t linebreak_lbrule (propval_t, propval_t)
gcstring_t ** linebreak_break (linebreak_t *, unistr_t *)
gcstring_t ** linebreak_break_fast (linebreak_t *, unistr_t *)
gcstring_t ** linebreak_break_partial (linebreak_t *, unistr_t *)
void linebreak_southeastasian_flagbreak (gcstring_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 unsigned int unichar_t

Unicode character


Function Documentation

void linebreak_add_prep ( linebreak_t ,
gcstring_t *)(,
void *   
)
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.

Configuration parameters of linebreak object:

* map, mapsiz: custom property map overriding built-in map.

* options: if LINEBREAK_OPTION_EASTASIAN_CONTEXT bit is set, LB_AI and EA_A are resolved to LB_ID and EA_F. Otherwise, LB_AL and EA_N, respectively.

Parameters:
[in] obj linebreak object.
[in] c Unicode character.
[out] lbcptr UAX #14 line breaking class.
[out] eawptr UAX #11 East_Asian_Width property value.
[out] gcbptr UAX #29 Grapheme_Cluster_Break property value.
[out] scrptr Script (limited to several scripts).
Returns:
none.
linebreak_t* linebreak_new (  ) 
void linebreak_set_format ( linebreak_t ,
gcstring_t *)(,
void *   
)
void linebreak_set_urgent ( linebreak_t ,
gcstring_t *)(,
void *   
)
void linebreak_set_user ( linebreak_t ,
gcstring_t *)(,
void *   
)

Variable Documentation

const char* linebreak_propvals_EA[]
const char* linebreak_propvals_LB[]
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator