Details
PANGO_ZERO_WIDTH_NON_JOINER
#define PANGO_ZERO_WIDTH_NON_JOINER 0x200c |
The Unicode character 'ZERO WIDTH NON-JOINER', 0x200c.
PANGO_ZERO_WIDTH_JOINER
#define PANGO_ZERO_WIDTH_JOINER 0x200d |
The Unicode character 'ZERO WIDTH JOINER', 0x200d.
struct PangoIndicScript
struct PangoIndicScript {
/* Compulsory */
gchar *name;
/* Compulsory */
gboolean (*is_prefixing_vowel) (gunichar what);
/* Compulsory */
gboolean (*is_vowel_sign) (gunichar what);
/* Optional */
gunichar (*vowel_sign_to_matra) (gunichar what);
/* Optional */
gboolean (*is_vowel_half) (gunichar what);
/* Optional */
gboolean (*vowel_split) (gunichar what,
gunichar *prefix,
gunichar *suffix);
}; |
pango_indic_shift_vowels ()
void pango_indic_shift_vowels (PangoIndicScript *script,
gunichar *chars,
gunichar *end); |
This causes the any vowels in chars which are
left-joining vowels to move to the start of chars.
It determines whether the vowels are left-joining
by calling is_prefixing_vowel from script.
pango_indic_compact ()
void pango_indic_compact (PangoIndicScript *script,
int *num,
gunichar *chars,
int *cluster); |
This eliminates any blank space in the chars
array, updated clusters and num also.
(Blank space is defines as U+0000)
pango_indic_convert_vowels ()
void pango_indic_convert_vowels (PangoIndicScript *script,
gboolean in_middle,
int *num,
gunichar *chars,
gboolean has_standalone_vowels); |
This converts the second two vowel signs in a row
in a string, to either a vowel letter or spacing forms
of the combining vowel.
pango_indic_split_out_characters ()
This splits out the string text into characters. It will
split out two-part vowels using script->vowel_split if
this function is available.
*n_chars is allocated with g_new, you must free it.