writRecognAbsCharacter

writRecognAbsCharacter — Abstract character which holds the glyph independence information.

Stability Level

Stable, unless otherwise indicated

Synopsis




#define             WRITRECOGN_ABSCHARACTER_CONST       (obj)
                    writRecognAbsCharacter;
AbsCharacter*       writrecogn_abscharacter_new         (void);
void                writrecogn_abscharacter_reset_absCharacter_part
                                                        (writRecognAbsCharacter *self);
guint               writrecogn_abscharacter_count_variantCharacters
                                                        (writRecognAbsCharacter *self);
RadicalList*        writrecogn_abscharacter_get_variantCharacterList
                                                        (writRecognAbsCharacter *self);
Radical*            writrecogn_abscharacter_get_variantCharacter
                                                        (writRecognAbsCharacter *self,
                                                         guint i,
                                                         RadicalType type);
void                writrecogn_abscharacter_append_variantCharacter
                                                        (writRecognAbsCharacter *self,
                                                         Radical *variantChar);
void                writrecogn_abscharacter_append_variantCharacter_by_code
                                                        (writRecognAbsCharacter *self,
                                                         RadicalCode radicalCode);
guint               writrecogn_abscharacter_count_inputCodeRecs
                                                        (writRecognAbsCharacter *self);
gboolean            writrecogn_abscharacter_has_inputMethod
                                                        (writRecognAbsCharacter *self,
                                                         InputMethod im);
InputCodeRec*       writrecogn_abscharacter_find_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         InputCodeRec *iRec);
InputCodeRec*       writrecogn_abscharacter_get_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         guint i);
gchar*              writrecogn_abscharacter_get_inputCode
                                                        (writRecognAbsCharacter *self,
                                                         InputMethod im);
gchar**             writrecogn_abscharacter_get_inputCode_array
                                                        (writRecognAbsCharacter *self,
                                                         InputMethod im);
void                writrecogn_abscharacter_reset_inputCodeRecList
                                                        (writRecognAbsCharacter *self);
gboolean            writrecogn_abscharacter_append_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         InputCodeRec *iRec);
gboolean            writrecogn_abscharacter_remove_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         InputCodeRec *iRec);
guint               writrecogn_abscharacter_count_languages
                                                        (writRecognAbsCharacter *self);
SupportedLanguage   writrecogn_abscharacter_get_language
                                                        (writRecognAbsCharacter *self,
                                                         int index);
gboolean            writrecogn_abscharacter_add_language
                                                        (writRecognAbsCharacter *self,
                                                         SupportedLanguage lang);
gboolean            writrecogn_abscharacter_add_language_string
                                                        (writRecognAbsCharacter *self,
                                                         const gchar *langStr);
gboolean            writrecogn_abscharacter_has_language
                                                        (writRecognAbsCharacter *self,
                                                         SupportedLanguage lang);
#define             WRITRECOGN_ABSCHARACTER_PROP_INPUTCODERECLIST(arg)
#define             WRITRECOGN_ABSCHARACTER_GET_PROP_INPUTCODERECLIST(arg)
#define             WRITRECOGN_ABSCHARACTER_PROP_VARCHARLIST(arg)
#define             WRITRECOGN_ABSCHARACTER_GET_PROP_VARCHARLIST(arg)
#define             WRITRECOGN_ABSCHARACTER_PROP_LANGAPPEAREDSET(arg)
#define             WRITRECOGN_ABSCHARACTER_GET_PROP_LANGAPPEAREDSET(arg)

Object Hierarchy


  GObject
   +----writRecognRadical
         +----writRecognAbsCharacter
               +----writRecognFullCharacter

Properties


  "inputCodeRecList"         gpointer              : Read / Write
  "langAppearedSet"          gpointer              : Read / Write
  "varCharList"              writRecognRadical_list  : Read / Write

Description

Basically, abstract characters are extensions of radicals. It contains following extra information:

  • Input Codes
  • Language Set
  • Variance Characters
  • Sub-radicals

writRecognAbsCharacter is GOB long notation, for convenience, use AbsCharacter for declaring and ABSCHARACTER() for casting.

Details

WRITRECOGN_ABSCHARACTER_CONST()

#define WRITRECOGN_ABSCHARACTER_CONST(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), writrecogn_abscharacter_get_type(), writRecognAbsCharacter const)

obj :


writRecognAbsCharacter

typedef struct _writRecognAbsCharacter writRecognAbsCharacter;


writrecogn_abscharacter_new ()

AbsCharacter*       writrecogn_abscharacter_new         (void);

Allocate a new instance of this object.

Returns :

new instance of this object.

writrecogn_abscharacter_reset_absCharacter_part ()

void                writrecogn_abscharacter_reset_absCharacter_part
                                                        (writRecognAbsCharacter *self);

Reset the abstract character part only.

self :

the abstract character.

writrecogn_abscharacter_count_variantCharacters ()

guint               writrecogn_abscharacter_count_variantCharacters
                                                        (writRecognAbsCharacter *self);

Count the number of variant characters.

self :

the abstract character.

Returns :

the number of variant characters.

writrecogn_abscharacter_get_variantCharacterList ()

RadicalList*        writrecogn_abscharacter_get_variantCharacterList
                                                        (writRecognAbsCharacter *self);

Get the list of variant characters.

self :

the abstract character.

Returns :

the list of variant characters.

writrecogn_abscharacter_get_variantCharacter ()

Radical*            writrecogn_abscharacter_get_variantCharacter
                                                        (writRecognAbsCharacter *self,
                                                         guint i,
                                                         RadicalType type);

Get the variant character at the given index in the list of variant characters.

self :

the abstract character.

i :

the index of the variant character in the list.

type :

Returns :

the variant character at the given index in the list of variant characters.

writrecogn_abscharacter_append_variantCharacter ()

void                writrecogn_abscharacter_append_variantCharacter
                                                        (writRecognAbsCharacter *self,
                                                         Radical *variantChar);

Append the variant character to the variant character list.

See also: writrecogn_abscharacter_append_variantCharacter_by_code()

self :

the abstract character.

variantChar :

the variant character to be appended to the variant character list.

writrecogn_abscharacter_append_variantCharacter_by_code ()

void                writrecogn_abscharacter_append_variantCharacter_by_code
                                                        (writRecognAbsCharacter *self,
                                                         RadicalCode radicalCode);

Append the variant character to the variant character list by its radical code.

See also: writrecogn_abscharacter_append_variantCharacter().

self :

the abstract character.

radicalCode :

the radical code of variant character which will be appended to the variant character list.

writrecogn_abscharacter_count_inputCodeRecs ()

guint               writrecogn_abscharacter_count_inputCodeRecs
                                                        (writRecognAbsCharacter *self);

Count the number of input code records.

self :

the abstract character.

Returns :

the number of input code records

writrecogn_abscharacter_has_inputMethod ()

gboolean            writrecogn_abscharacter_has_inputMethod
                                                        (writRecognAbsCharacter *self,
                                                         InputMethod im);

Whether the abstract character has the input method.

self :

the abstract character.

im :

the input method.

Returns :

TRUE if this abstract character has the input code of this input method; FALSE otherwise.

writrecogn_abscharacter_find_inputCodeRec ()

InputCodeRec*       writrecogn_abscharacter_find_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         InputCodeRec *iRec);

self :

iRec :

Returns :


writrecogn_abscharacter_get_inputCodeRec ()

InputCodeRec*       writrecogn_abscharacter_get_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         guint i);

Get a input code record at given index.

self :

the abstract character.

i :

index.

Returns :

The input code at index.

writrecogn_abscharacter_get_inputCode ()

gchar*              writrecogn_abscharacter_get_inputCode
                                                        (writRecognAbsCharacter *self,
                                                         InputMethod im);

Return corresponding inputCode. Note: space will be used as delimiter if multiple input code records match.

self :

the abstract character.

im :

the input method.

Returns :

input code, separated by space.

writrecogn_abscharacter_get_inputCode_array ()

gchar**             writrecogn_abscharacter_get_inputCode_array
                                                        (writRecognAbsCharacter *self,
                                                         InputMethod im);

A convenient call to get the array of input code Free the array using g_strfreev(),

self :

the abstract character.

im :

the inputMethod, use IM_NOT_SPECIFIED if all input codes are required.

Returns :

Return corresponding array of input code.

writrecogn_abscharacter_reset_inputCodeRecList ()

void                writrecogn_abscharacter_reset_inputCodeRecList
                                                        (writRecognAbsCharacter *self);

Reset the input code record list by removing its all elements.

self :

the abstract character.

writrecogn_abscharacter_append_inputCodeRec ()

gboolean            writrecogn_abscharacter_append_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         InputCodeRec *iRec);

Add an input code record to the abstract character.

This function adds iRec to the AbsCharacter even if the iRec->method presents in the AbsCharacter. It is because two or more input codes might map to same character. However, the inputCodeRec with identical input method and code will be skipped.

As the iRec will be duplicated, g_free() iRec if it is no longer needed.

self :

the abstract character.

iRec :

the input code rec to be added.

Returns :

TRUE if the inputCodeRec is added, FALSE otherwise.

writrecogn_abscharacter_remove_inputCodeRec ()

gboolean            writrecogn_abscharacter_remove_inputCodeRec
                                                        (writRecognAbsCharacter *self,
                                                         InputCodeRec *iRec);

Remove the specified input code record. Return TRUE if the input code record was in the list and removed, FALSE if iRec was not in self.

self :

the abstract character.

iRec :

the input code record to be removed.

Returns :

TRUE if the input code record was in the list and removed, FALSE if iRec was not in self.

writrecogn_abscharacter_count_languages ()

guint               writrecogn_abscharacter_count_languages
                                                        (writRecognAbsCharacter *self);

Count the number of supported languages for this character.

self :

the abstract character.

Returns :

number of supported langages.

writrecogn_abscharacter_get_language ()

SupportedLanguage   writrecogn_abscharacter_get_language
                                                        (writRecognAbsCharacter *self,
                                                         int index);

self :

index :

Returns :


writrecogn_abscharacter_add_language ()

gboolean            writrecogn_abscharacter_add_language
                                                        (writRecognAbsCharacter *self,
                                                         SupportedLanguage lang);

Add a language to the abstract character as supported language. Return TRUE if lang has been successfully added; FALSE if the language already exists.

See also: writrecogn_abscharacter_add_language_string().

self :

the abstract character.

lang :

language to be added.

Returns :

TRUE if lang has been successfully added; FALSE otherwise.

writrecogn_abscharacter_add_language_string ()

gboolean            writrecogn_abscharacter_add_language_string
                                                        (writRecognAbsCharacter *self,
                                                         const gchar *langStr);

Add a language in locale string to the abstract character as supported language. Return TRUE if lang has been successfully added; FALSE if the language already exists.

It is a convenient wrap of add_language().

See also: writrecogn_abscharacter_add_language(), writrecogn_abscharacter_language_parse_string().

self :

the abstract character.

langStr :

Returns :

TRUE if lang has been successfully added; FALSE otherwise.

writrecogn_abscharacter_has_language ()

gboolean            writrecogn_abscharacter_has_language
                                                        (writRecognAbsCharacter *self,
                                                         SupportedLanguage lang);

Whether the character has a specified language.

self :

the abstract character.

lang :

language to be added.

Returns :

TRUE if the character has lang as supported language,; FALSE otherwise.

WRITRECOGN_ABSCHARACTER_PROP_INPUTCODERECLIST()

#define             WRITRECOGN_ABSCHARACTER_PROP_INPUTCODERECLIST(arg)

arg :


WRITRECOGN_ABSCHARACTER_GET_PROP_INPUTCODERECLIST()

#define             WRITRECOGN_ABSCHARACTER_GET_PROP_INPUTCODERECLIST(arg)

arg :


WRITRECOGN_ABSCHARACTER_PROP_VARCHARLIST()

#define             WRITRECOGN_ABSCHARACTER_PROP_VARCHARLIST(arg)

arg :


WRITRECOGN_ABSCHARACTER_GET_PROP_VARCHARLIST()

#define             WRITRECOGN_ABSCHARACTER_GET_PROP_VARCHARLIST(arg)

arg :


WRITRECOGN_ABSCHARACTER_PROP_LANGAPPEAREDSET()

#define             WRITRECOGN_ABSCHARACTER_PROP_LANGAPPEAREDSET(arg)

arg :


WRITRECOGN_ABSCHARACTER_GET_PROP_LANGAPPEAREDSET()

#define             WRITRECOGN_ABSCHARACTER_GET_PROP_LANGAPPEAREDSET(arg)

arg :

Property Details

The "inputCodeRecList" property

  "inputCodeRecList"         gpointer              : Read / Write

A list of input code records.


The "langAppearedSet" property

  "langAppearedSet"          gpointer              : Read / Write

Set of languages which this character appears.


The "varCharList" property

  "varCharList"              writRecognRadical_list  : Read / Write

A list of variant characters.

See Also

AbsCharacter, writRecognRadical, writRecognFullCharacter .