The m17n Library 1.8.4
|
Data Structures | |
struct | M17NObjectHead |
The first member of a managed object. More... | |
Macros | |
#define | M17N_BEGIN_HEADER |
#define | M17N_END_HEADER |
#define | M17N_FUNC(func) ((M17NFunc) (func)) |
Wrapper for a generic function type. | |
Typedefs | |
typedef void(* | M17NFunc) (void) |
Generic function type. | |
typedef struct MCharTable | MCharTable |
Type of chartables. | |
typedef MPlist *(* | MTextPropSerializeFunc) (void *val) |
Type of serializer functions. | |
typedef void *(* | MTextPropDeserializeFunc) (MPlist *plist) |
Type of deserializer functions. | |
typedef struct MDatabase | MDatabase |
Type of database. | |
Enumerations | |
enum | M17NStatus { M17N_NOT_INITIALIZED , M17N_CORE_INITIALIZED , M17N_SHELL_INITIALIZED , M17N_GUI_INITIALIZED } |
Enumeration for the status of the m17n library. More... | |
enum | MTextFormat { MTEXT_FORMAT_US_ASCII , MTEXT_FORMAT_UTF_8 , MTEXT_FORMAT_UTF_16LE , MTEXT_FORMAT_UTF_16BE , MTEXT_FORMAT_UTF_32LE , MTEXT_FORMAT_UTF_32BE , MTEXT_FORMAT_MAX } |
Enumeration for specifying the format of an M-text. More... | |
enum | MTextLineBreakOption { MTEXT_LBO_SP_CM = 1 , MTEXT_LBO_KOREAN_SP = 2 , MTEXT_LBO_AI_AS_ID = 4 , MTEXT_LBO_MAX } |
Enumeration for specifying a set of line breaking option. More... | |
enum | MTextPropertyControl { MTEXTPROP_FRONT_STICKY = 0x01 , MTEXTPROP_REAR_STICKY = 0x02 , MTEXTPROP_VOLATILE_WEAK = 0x04 , MTEXTPROP_VOLATILE_STRONG = 0x08 , MTEXTPROP_NO_MERGE = 0x10 , MTEXTPROP_CONTROL_MAX = 0x1F } |
Flag bits to control text property. More... | |
Functions | |
enum M17NStatus | m17n_status (void) |
Report which part of the m17n library is initialized. | |
void * | m17n_object (int size, void(*freer)(void *)) |
int | m17n_object_ref (void *object) |
Increment the reference count of a managed object. | |
int | m17n_object_unref (void *object) |
Decrement the reference count of a managed object. | |
MSymbol | msymbol (const char *name) |
Get a symbol. | |
MSymbol | msymbol_as_managing_key (const char *name) |
Create a managing key. | |
int | msymbol_is_managing_key (MSymbol symbol) |
Check if a symbol is a managing key. | |
MSymbol | msymbol_exist (const char *name) |
char * | msymbol_name (MSymbol symbol) |
int | msymbol_put (MSymbol symbol, MSymbol key, void *val) |
Set the value of a symbol property. | |
void * | msymbol_get (MSymbol symbol, MSymbol key) |
Get the value of a symbol property. | |
int | msymbol_put_func (MSymbol symbol, MSymbol key, M17NFunc func) |
Set the value (function pointer) of a symbol property. | |
M17NFunc | msymbol_get_func (MSymbol symbol, MSymbol key) |
Get the value (function pointer) of a symbol property. | |
MPlist * | mplist () |
Create a property list object. | |
MPlist * | mplist_copy (MPlist *plist) |
Copy a property list. | |
MPlist * | mplist_add (MPlist *plist, MSymbol key, void *val) |
Add a property at the end of a property list. | |
MPlist * | mplist_push (MPlist *plist, MSymbol key, void *val) |
Add a property at the beginning of a property list. | |
void * | mplist_pop (MPlist *plist) |
Remove a property at the beginning of a property list. | |
MPlist * | mplist_put (MPlist *plist, MSymbol key, void *val) |
Set the value of a property in a property list. | |
void * | mplist_get (MPlist *plist, MSymbol key) |
Get the value of a property in a property list. | |
MPlist * | mplist_put_func (MPlist *plist, MSymbol key, M17NFunc func) |
Set the value (function pointer) of a property in a property list. | |
M17NFunc | mplist_get_func (MPlist *plist, MSymbol key) |
Get the value (function pointer) of a property in a property list. | |
MPlist * | mplist_find_by_key (MPlist *plist, MSymbol key) |
Find a property of a specific key in a property list. | |
MPlist * | mplist_find_by_value (MPlist *plist, void *val) |
Find a property of a specific value in a property list. | |
MPlist * | mplist_next (MPlist *plist) |
Return the next sublist of a property list. | |
MPlist * | mplist_set (MPlist *plist, MSymbol key, void *val) |
Set the first property in a property list. | |
int | mplist_length (MPlist *plist) |
Return the length of a property list. | |
MSymbol | mplist_key (MPlist *plist) |
Return the key of the first property in a property list. | |
void * | mplist_value (MPlist *plist) |
Return the value of the first property in a property list. | |
MSymbol | mchar_define_property (const char *name, MSymbol type) |
Define a character property. | |
void * | mchar_get_prop (int c, MSymbol key) |
Get the value of a character property. | |
int | mchar_put_prop (int c, MSymbol key, void *val) |
Set the value of a character property. | |
MCharTable * | mchartable (MSymbol key, void *default_value) |
Create a new chartable. | |
int | mchartable_min_char (MCharTable *table) |
Return the minimum character whose value is set in a chartabe. | |
int | mchartable_max_char (MCharTable *table) |
Return the maximum character whose value is set in a chartabe. | |
void * | mchartable_lookup (MCharTable *table, int c) |
Return the assigned value of a character in a chartable. | |
int | mchartable_set (MCharTable *table, int c, void *val) |
Assign a value to a character in a chartable. | |
int | mchartable_set_range (MCharTable *table, int from, int to, void *val) |
Assign a value to the characters in the specified range. | |
int | mchartable_map (MCharTable *table, void *ignore, void(*func)(int, int, void *, void *), void *func_arg) |
Call a function for characters in a chartable. | |
void | mchartable_range (MCharTable *table, int *from, int *to) |
Search for characters that have non-default value. | |
MCharTable * | mchar_get_prop_table (MSymbol key, MSymbol *type) |
Get the char-table for a character property. | |
MText * | mtext () |
Allocate a new M-text. | |
void * | mtext_data (MText *mt, enum MTextFormat *fmt, int *nunits, int *pos_idx, int *unit_idx) |
Get information about the text data in M-text. | |
int | mtext_len (MText *mt) |
Number of characters in M-text. | |
int | mtext_ref_char (MText *mt, int pos) |
Return the character at the specified position in an M-text. | |
int | mtext_set_char (MText *mt, int pos, int c) |
Store a character into an M-text. | |
MText * | mtext_copy (MText *mt1, int pos, MText *mt2, int from, int to) |
Copy characters in the specified range into an M-text. | |
int | mtext_compare (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2) |
Compare specified regions of two M-texts. | |
int | mtext_case_compare (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2) |
Compare specified regions of two M-texts ignoring cases. | |
int | mtext_character (MText *mt, int from, int to, int c) |
Search a character in an M-text. | |
int | mtext_del (MText *mt, int from, int to) |
Delete characters in the specified range destructively. | |
int | mtext_ins (MText *mt1, int pos, MText *mt2) |
Insert an M-text into another M-text. | |
int | mtext_insert (MText *mt1, int pos, MText *mt2, int from, int to) |
Insert sub-text of an M-text into another M-text. | |
int | mtext_ins_char (MText *mt, int pos, int c, int n) |
Insert a character into an M-text. | |
int | mtext_replace (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2) |
Replace sub-text of M-text with another. | |
MText * | mtext_cat_char (MText *mt, int c) |
Append a character to an M-text. | |
MText * | mtext_duplicate (MText *mt, int from, int to) |
Create a new M-text from a part of an existing M-text. | |
MText * | mtext_dup (MText *mt) |
Create a copy of an M-text. | |
MText * | mtext_cat (MText *mt1, MText *mt2) |
Append an M-text to another. | |
MText * | mtext_ncat (MText *mt1, MText *mt2, int n) |
Append a part of an M-text to another. | |
MText * | mtext_cpy (MText *mt1, MText *mt2) |
Copy an M-text to another. | |
MText * | mtext_ncpy (MText *mt1, MText *mt2, int n) |
Copy the first some characters in an M-text to another. | |
int | mtext_chr (MText *mt, int c) |
Return the position of the first occurrence of a character in an M-text. | |
int | mtext_rchr (MText *mt, int c) |
Return the position of the last occurrence of a character in an M-text. | |
int | mtext_cmp (MText *mt1, MText *mt2) |
Compare two M-texts character-by-character. | |
int | mtext_ncmp (MText *mt1, MText *mt2, int n) |
Compare initial parts of two M-texts character-by-character. | |
int | mtext_spn (MText *mt1, MText *mt2) |
Search an M-text for a set of characters. | |
int | mtext_cspn (MText *mt1, MText *mt2) |
Search an M-text for the complement of a set of characters. | |
int | mtext_pbrk (MText *mt1, MText *mt2) |
Search an M-text for any of a set of characters. | |
int | mtext_text (MText *mt1, int pos, MText *mt2) |
Locate an M-text in another. | |
int | mtext_search (MText *mt1, int from, int to, MText *mt2) |
Locate an M-text in a specific range of another. | |
MText * | mtext_tok (MText *mt, MText *delim, int *pos) |
Look for a token in an M-text. | |
int | mtext_casecmp (MText *mt1, MText *mt2) |
Compare two M-texts ignoring cases. | |
int | mtext_ncasecmp (MText *mt1, MText *mt2, int n) |
Compare initial parts of two M-texts ignoring cases. | |
int | mtext_lowercase (MText *mt) |
Lowercase an M-text. | |
int | mtext_titlecase (MText *mt) |
Titlecase an M-text. | |
int | mtext_uppercase (MText *mt) |
Uppercase an M-text. | |
int | mtext_line_break (MText *mt, int pos, int option, int *after) |
Find a linebreak postion of an M-text. | |
MPlist * | mplist_deserialize (MText *mt) |
Generate a property list by deserializing an M-text. | |
void * | mtext_get_prop (MText *mt, int pos, MSymbol key) |
Get the value of the topmost text property. | |
int | mtext_get_prop_values (MText *mt, int pos, MSymbol key, void **values, int num) |
Get multiple values of a text property. | |
int | mtext_get_prop_keys (MText *mt, int pos, MSymbol **keys) |
Get a list of text property keys at a position of an M-text. | |
int | mtext_put_prop (MText *mt, int from, int to, MSymbol key, void *val) |
int | mtext_put_prop_values (MText *mt, int from, int to, MSymbol key, void **values, int num) |
Set multiple text properties with the same key. | |
int | mtext_push_prop (MText *mt, int from, int to, MSymbol key, void *val) |
int | mtext_pop_prop (MText *mt, int from, int to, MSymbol key) |
int | mtext_prop_range (MText *mt, MSymbol key, int pos, int *from, int *to, int deeper) |
Find the range where the value of a text property is the same. | |
MTextProperty * | mtext_property (MSymbol key, void *val, int control_bits) |
Create a text property. | |
MText * | mtext_property_mtext (MTextProperty *prop) |
Return the M-text of a text property. | |
MSymbol | mtext_property_key (MTextProperty *prop) |
Return the key of a text property. | |
void * | mtext_property_value (MTextProperty *prop) |
Return the value of a text property. | |
int | mtext_property_start (MTextProperty *prop) |
Return the start position of a text property. | |
int | mtext_property_end (MTextProperty *prop) |
Return the end position of a text property. | |
MTextProperty * | mtext_get_property (MText *mt, int pos, MSymbol key) |
Get the topmost text property. | |
int | mtext_get_properties (MText *mt, int pos, MSymbol key, MTextProperty **props, int num) |
Get multiple text properties. | |
int | mtext_attach_property (MText *mt, int from, int to, MTextProperty *prop) |
Attach a text property to an M-text. | |
int | mtext_detach_property (MTextProperty *prop) |
Detach a text property from an M-text. | |
int | mtext_push_property (MText *mt, int from, int to, MTextProperty *prop) |
Push a text property onto an M-text. | |
MText * | mtext_serialize (MText *mt, int from, int to, MPlist *property_list) |
MText * | mtext_deserialize (MText *mt) |
MDatabase * | mdatabase_find (MSymbol tag1, MSymbol tag2, MSymbol tag3, MSymbol tag4) |
Look for a data in the database. | |
MPlist * | mdatabase_list (MSymbol tag0, MSymbol tag1, MSymbol tag2, MSymbol tag3) |
Return a data list of the m17n database. | |
void * | mdatabase_load (MDatabase *mdb) |
Load a data from the database. | |
MSymbol * | mdatabase_tag (MDatabase *mdb) |
Get tags of a data. | |
MDatabase * | mdatabase_define (MSymbol tag1, MSymbol tag2, MSymbol tag3, MSymbol tag4, void *(*loader)(MSymbol *, void *), void *extra_info) |
Define a data of the m17n database. | |
Variables | |
MSymbol | Mnil |
Symbol whose name is "nil". | |
MSymbol | Mt |
Symbol whose name is "t". | |
MSymbol | Mstring |
Symbol whose name is "string". | |
MSymbol | Msymbol |
Symbol whose name is "symbol". | |
MSymbol | Mtext |
Symbol whose name is "mtext". | |
MSymbol | Mcharset |
MSymbol | Mplist |
Symbol whose name is "plist". | |
MSymbol | Minteger |
MSymbol | Mscript |
Key for script. | |
MSymbol | Mname |
Key for character name. | |
MSymbol | Mcategory |
Key for general category. | |
MSymbol | Mcombining_class |
Key for canonical combining class. | |
MSymbol | Mbidi_category |
Key for bidi category. | |
MSymbol | Msimple_case_folding |
Key for corresponding single lowercase character. | |
MSymbol | Mcomplicated_case_folding |
Key for corresponding multiple lowercase characters. | |
MSymbol | Mcased |
Key for values used in case operation. | |
MSymbol | Msoft_dotted |
MSymbol | Mcase_mapping |
MSymbol | Mblock |
Key for script block name. | |
MSymbol | Mchar_table |
MSymbol | Mlanguage |
MSymbol | Mtext_prop_serializer |
Symbol for specifying serializer functions. | |
MSymbol | Mtext_prop_deserializer |
Symbol for specifying deserializer functions. | |
char * | mdatabase_dir |
Variables: Default Endian of UTF-16 and UTF-32 | |
enum MTextFormat | MTEXT_FORMAT_UTF_16 |
Variable of value MTEXT_FORMAT_UTF_16LE or MTEXT_FORMAT_UTF_16BE. | |
const int | MTEXT_FORMAT_UTF_32 |
Variable of value MTEXT_FORMAT_UTF_32LE or MTEXT_FORMAT_UTF_32BE. | |
MText * | mtext_from_data (const void *data, int nitems, enum MTextFormat format) |
Allocate a new M-text with specified data. | |
#define M17N_BEGIN_HEADER |
#define M17N_END_HEADER |
MSymbol Minteger |
MSymbol Msoft_dotted |
MSymbol Mcase_mapping |