Scroll to navigation

Text Property(3m17n) The m17n Library Text Property(3m17n)

NAME

Text_Property - Function to handle text properties.
 

Typedefs


typedef MPlist *(* MTextPropSerializeFunc )(void *val)
 
Type of serializer functions. typedef void *(* MTextPropDeserializeFunc )( MPlist *plist)
 
Type of deserializer functions. typedef struct MTextProperty MTextProperty
 
Type of text properties.

Enumerations


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.

Functions


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)
 
Set a text property. 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)
 
Push a text property. int mtext_pop_prop (MText *mt, int from, int to, MSymbol key)
 
Pop a text property. 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)
 
Serialize text properties in an M-text. MText * mtext_deserialize ( MText *mt)
 
Deserialize text properties in an M-text.

Variables


MSymbol Mtext_prop_serializer
 
Symbol for specifying serializer functions. MSymbol Mtext_prop_deserializer
 
Symbol for specifying deserializer functions.

Detailed Description

Function to handle text properties.
 
Each character in an M-text can have properties called text properties. Text properties store various kinds of information attached to parts of an M-text to provide application programs with a unified view of those information. As rich information can be stored in M-texts in the form of text properties, functions in application programs can be simple.
A text property consists of a key and values, where key is a symbol and values are anything that can be cast to (void *) . Unlike other types of properties, a text property can have multiple values. 'The text property whose key is K' may be shortened to 'K property'.

Typedef Documentation

typedef MPlist*(* MTextPropSerializeFunc)(void *val)

Type of serializer functions. This is the type of serializer functions. If the key of a symbol property is Mtext_prop_serializer, the value must be of this type.
 
SEE ALSO
mtext_serialize(), Mtext_prop_serializer
 

typedef void*(* MTextPropDeserializeFunc)(MPlist *plist)

Type of deserializer functions. This is the type of deserializer functions. If the key of a symbol property is Mtext_prop_deserializer, the value must be of this type.
 
SEE ALSO
mtext_deserialize(), Mtext_prop_deserializer
 

typedef struct MTextProperty MTextProperty

Type of text properties. The type MTextProperty is for a text property objects. Its internal structure is concealed from application programs.

Enumeration Type Documentation

enum MTextPropertyControl

Flag bits to control text property. The mtext_property() function accepts logical OR of these flag bits as an argument. They control the behaviour of the created text property as described in the documentation of each flag bit.
Enumerator:
MTEXTPROP_FRONT_STICKY
If this flag bit is on, an M-text inserted at the start position or at the middle of the text property inherits the text property.
MTEXTPROP_REAR_STICKY
If this flag bit is on, an M-text inserted at the end position or at the middle of the text property inherits the text property.
MTEXTPROP_VOLATILE_WEAK
If this flag bit is on, the text property is removed if a text in its region is modified.
MTEXTPROP_VOLATILE_STRONG
If this flag bit is on, the text property is removed if a text or the other text property in its region is modified.
MTEXTPROP_NO_MERGE
If this flag bit is on, the text property is not automatically merged with the others.
MTEXTPROP_CONTROL_MAX
 

Variable Documentation

MSymbol Mtext_prop_serializer

Symbol for specifying serializer functions. To serialize a text property, the user must supply a serializer function for that text property. This is done by giving a symbol property whose key is Mtext_prop_serializer and value is a pointer to an appropriate serializer function.
 
SEE ALSO
mtext_serialize(), MTextPropSerializeFunc
 

MSymbol Mtext_prop_deserializer

Symbol for specifying deserializer functions. To deserialize a text property, the user must supply a deserializer function for that text property. This is done by giving a symbol property whose key is Mtext_prop_deserializer and value is a pointer to an appropriate deserializer function.
 
SEE ALSO
mtext_deserialize(), MTextPropSerializeFunc
 

Author

Generated automatically by Doxygen for The m17n Library from the source code.

COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)
 
Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)
 
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.
12 Jan 2011 Version 1.6.2