<!-- ##### SECTION Title ##### -->
Unicode Manipulation

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### TYPEDEF gunichar ##### -->
<para>

</para>


<!-- ##### TYPEDEF gunichar2 ##### -->
<para>

</para>


<!-- ##### FUNCTION g_unichar_validate ##### -->
<para>

</para>

@ch: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isalnum ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isalpha ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_iscntrl ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isdefined ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isdigit ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isgraph ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_islower ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_ismark ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isprint ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_ispunct ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isspace ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_istitle ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isupper ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_isxdigit ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_iswide ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_iswide_cjk ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_iszerowidth ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_toupper ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_tolower ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_totitle ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_digit_value ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_xdigit_value ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_compose ##### -->
<para>

</para>

@a: 
@b: 
@ch: 
@Returns: 


<!-- ##### FUNCTION g_unichar_decompose ##### -->
<para>

</para>

@ch: 
@a: 
@b: 
@Returns: 


<!-- ##### FUNCTION g_unichar_fully_decompose ##### -->
<para>

</para>

@ch: 
@compat: 
@result: 
@result_len: 
@Returns: 


<!-- ##### ENUM GUnicodeType ##### -->
<para>

</para>

@G_UNICODE_CONTROL: 
@G_UNICODE_FORMAT: 
@G_UNICODE_UNASSIGNED: 
@G_UNICODE_PRIVATE_USE: 
@G_UNICODE_SURROGATE: 
@G_UNICODE_LOWERCASE_LETTER: 
@G_UNICODE_MODIFIER_LETTER: 
@G_UNICODE_OTHER_LETTER: 
@G_UNICODE_TITLECASE_LETTER: 
@G_UNICODE_UPPERCASE_LETTER: 
@G_UNICODE_SPACING_MARK: 
@G_UNICODE_ENCLOSING_MARK: 
@G_UNICODE_NON_SPACING_MARK: 
@G_UNICODE_DECIMAL_NUMBER: 
@G_UNICODE_LETTER_NUMBER: 
@G_UNICODE_OTHER_NUMBER: 
@G_UNICODE_CONNECT_PUNCTUATION: 
@G_UNICODE_DASH_PUNCTUATION: 
@G_UNICODE_CLOSE_PUNCTUATION: 
@G_UNICODE_FINAL_PUNCTUATION: 
@G_UNICODE_INITIAL_PUNCTUATION: 
@G_UNICODE_OTHER_PUNCTUATION: 
@G_UNICODE_OPEN_PUNCTUATION: 
@G_UNICODE_CURRENCY_SYMBOL: 
@G_UNICODE_MODIFIER_SYMBOL: 
@G_UNICODE_MATH_SYMBOL: 
@G_UNICODE_OTHER_SYMBOL: 
@G_UNICODE_LINE_SEPARATOR: 
@G_UNICODE_PARAGRAPH_SEPARATOR: 
@G_UNICODE_SPACE_SEPARATOR: 

<!-- ##### MACRO G_UNICODE_COMBINING_MARK ##### -->
<para>

</para>



<!-- ##### FUNCTION g_unichar_type ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### ENUM GUnicodeBreakType ##### -->
<para>

</para>

@G_UNICODE_BREAK_MANDATORY: 
@G_UNICODE_BREAK_CARRIAGE_RETURN: 
@G_UNICODE_BREAK_LINE_FEED: 
@G_UNICODE_BREAK_COMBINING_MARK: 
@G_UNICODE_BREAK_SURROGATE: 
@G_UNICODE_BREAK_ZERO_WIDTH_SPACE: 
@G_UNICODE_BREAK_INSEPARABLE: 
@G_UNICODE_BREAK_NON_BREAKING_GLUE: 
@G_UNICODE_BREAK_CONTINGENT: 
@G_UNICODE_BREAK_SPACE: 
@G_UNICODE_BREAK_AFTER: 
@G_UNICODE_BREAK_BEFORE: 
@G_UNICODE_BREAK_BEFORE_AND_AFTER: 
@G_UNICODE_BREAK_HYPHEN: 
@G_UNICODE_BREAK_NON_STARTER: 
@G_UNICODE_BREAK_OPEN_PUNCTUATION: 
@G_UNICODE_BREAK_CLOSE_PUNCTUATION: 
@G_UNICODE_BREAK_QUOTATION: 
@G_UNICODE_BREAK_EXCLAMATION: 
@G_UNICODE_BREAK_IDEOGRAPHIC: 
@G_UNICODE_BREAK_NUMERIC: 
@G_UNICODE_BREAK_INFIX_SEPARATOR: 
@G_UNICODE_BREAK_SYMBOL: 
@G_UNICODE_BREAK_ALPHABETIC: 
@G_UNICODE_BREAK_PREFIX: 
@G_UNICODE_BREAK_POSTFIX: 
@G_UNICODE_BREAK_COMPLEX_CONTEXT: 
@G_UNICODE_BREAK_AMBIGUOUS: 
@G_UNICODE_BREAK_UNKNOWN: 
@G_UNICODE_BREAK_NEXT_LINE: 
@G_UNICODE_BREAK_WORD_JOINER: 
@G_UNICODE_BREAK_HANGUL_L_JAMO: 
@G_UNICODE_BREAK_HANGUL_V_JAMO: 
@G_UNICODE_BREAK_HANGUL_T_JAMO: 
@G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: 
@G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: 
@G_UNICODE_BREAK_CLOSE_PARANTHESIS: 

<!-- ##### FUNCTION g_unichar_break_type ##### -->
<para>

</para>

@c: 
@Returns: 


<!-- ##### FUNCTION g_unichar_combining_class ##### -->
<para>

</para>

@uc: 
@Returns: 


<!-- ##### FUNCTION g_unicode_canonical_ordering ##### -->
<para>

</para>

@string: 
@len: 


<!-- ##### FUNCTION g_unicode_canonical_decomposition ##### -->
<para>

</para>

@ch: 
@result_len: 
@Returns: 


<!-- ##### FUNCTION g_unichar_get_mirror_char ##### -->
<para>

</para>

@ch: 
@mirrored_ch: 
@Returns: 


<!-- ##### ENUM GUnicodeScript ##### -->
<para>

</para>

@G_UNICODE_SCRIPT_INVALID_CODE: 
@G_UNICODE_SCRIPT_COMMON: 
@G_UNICODE_SCRIPT_INHERITED: 
@G_UNICODE_SCRIPT_ARABIC: 
@G_UNICODE_SCRIPT_ARMENIAN: 
@G_UNICODE_SCRIPT_BENGALI: 
@G_UNICODE_SCRIPT_BOPOMOFO: 
@G_UNICODE_SCRIPT_CHEROKEE: 
@G_UNICODE_SCRIPT_COPTIC: 
@G_UNICODE_SCRIPT_CYRILLIC: 
@G_UNICODE_SCRIPT_DESERET: 
@G_UNICODE_SCRIPT_DEVANAGARI: 
@G_UNICODE_SCRIPT_ETHIOPIC: 
@G_UNICODE_SCRIPT_GEORGIAN: 
@G_UNICODE_SCRIPT_GOTHIC: 
@G_UNICODE_SCRIPT_GREEK: 
@G_UNICODE_SCRIPT_GUJARATI: 
@G_UNICODE_SCRIPT_GURMUKHI: 
@G_UNICODE_SCRIPT_HAN: 
@G_UNICODE_SCRIPT_HANGUL: 
@G_UNICODE_SCRIPT_HEBREW: 
@G_UNICODE_SCRIPT_HIRAGANA: 
@G_UNICODE_SCRIPT_KANNADA: 
@G_UNICODE_SCRIPT_KATAKANA: 
@G_UNICODE_SCRIPT_KHMER: 
@G_UNICODE_SCRIPT_LAO: 
@G_UNICODE_SCRIPT_LATIN: 
@G_UNICODE_SCRIPT_MALAYALAM: 
@G_UNICODE_SCRIPT_MONGOLIAN: 
@G_UNICODE_SCRIPT_MYANMAR: 
@G_UNICODE_SCRIPT_OGHAM: 
@G_UNICODE_SCRIPT_OLD_ITALIC: 
@G_UNICODE_SCRIPT_ORIYA: 
@G_UNICODE_SCRIPT_RUNIC: 
@G_UNICODE_SCRIPT_SINHALA: 
@G_UNICODE_SCRIPT_SYRIAC: 
@G_UNICODE_SCRIPT_TAMIL: 
@G_UNICODE_SCRIPT_TELUGU: 
@G_UNICODE_SCRIPT_THAANA: 
@G_UNICODE_SCRIPT_THAI: 
@G_UNICODE_SCRIPT_TIBETAN: 
@G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL: 
@G_UNICODE_SCRIPT_YI: 
@G_UNICODE_SCRIPT_TAGALOG: 
@G_UNICODE_SCRIPT_HANUNOO: 
@G_UNICODE_SCRIPT_BUHID: 
@G_UNICODE_SCRIPT_TAGBANWA: 
@G_UNICODE_SCRIPT_BRAILLE: 
@G_UNICODE_SCRIPT_CYPRIOT: 
@G_UNICODE_SCRIPT_LIMBU: 
@G_UNICODE_SCRIPT_OSMANYA: 
@G_UNICODE_SCRIPT_SHAVIAN: 
@G_UNICODE_SCRIPT_LINEAR_B: 
@G_UNICODE_SCRIPT_TAI_LE: 
@G_UNICODE_SCRIPT_UGARITIC: 
@G_UNICODE_SCRIPT_NEW_TAI_LUE: 
@G_UNICODE_SCRIPT_BUGINESE: 
@G_UNICODE_SCRIPT_GLAGOLITIC: 
@G_UNICODE_SCRIPT_TIFINAGH: 
@G_UNICODE_SCRIPT_SYLOTI_NAGRI: 
@G_UNICODE_SCRIPT_OLD_PERSIAN: 
@G_UNICODE_SCRIPT_KHAROSHTHI: 
@G_UNICODE_SCRIPT_UNKNOWN: 
@G_UNICODE_SCRIPT_BALINESE: 
@G_UNICODE_SCRIPT_CUNEIFORM: 
@G_UNICODE_SCRIPT_PHOENICIAN: 
@G_UNICODE_SCRIPT_PHAGS_PA: 
@G_UNICODE_SCRIPT_NKO: 
@G_UNICODE_SCRIPT_KAYAH_LI: 
@G_UNICODE_SCRIPT_LEPCHA: 
@G_UNICODE_SCRIPT_REJANG: 
@G_UNICODE_SCRIPT_SUNDANESE: 
@G_UNICODE_SCRIPT_SAURASHTRA: 
@G_UNICODE_SCRIPT_CHAM: 
@G_UNICODE_SCRIPT_OL_CHIKI: 
@G_UNICODE_SCRIPT_VAI: 
@G_UNICODE_SCRIPT_CARIAN: 
@G_UNICODE_SCRIPT_LYCIAN: 
@G_UNICODE_SCRIPT_LYDIAN: 
@G_UNICODE_SCRIPT_AVESTAN: 
@G_UNICODE_SCRIPT_BAMUM: 
@G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS: 
@G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC: 
@G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI: 
@G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN: 
@G_UNICODE_SCRIPT_JAVANESE: 
@G_UNICODE_SCRIPT_KAITHI: 
@G_UNICODE_SCRIPT_LISU: 
@G_UNICODE_SCRIPT_MEETEI_MAYEK: 
@G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN: 
@G_UNICODE_SCRIPT_OLD_TURKIC: 
@G_UNICODE_SCRIPT_SAMARITAN: 
@G_UNICODE_SCRIPT_TAI_THAM: 
@G_UNICODE_SCRIPT_TAI_VIET: 
@G_UNICODE_SCRIPT_BATAK: 
@G_UNICODE_SCRIPT_BRAHMI: 
@G_UNICODE_SCRIPT_MANDAIC: 

<!-- ##### FUNCTION g_unichar_get_script ##### -->
<para>

</para>

@ch: 
@Returns: 


<!-- ##### FUNCTION g_unicode_script_from_iso15924 ##### -->
<para>

</para>

@iso15924: 
@Returns: 


<!-- ##### FUNCTION g_unicode_script_to_iso15924 ##### -->
<para>

</para>

@script: 
@Returns: 


<!-- ##### MACRO g_utf8_next_char ##### -->
<para>

</para>

@p: 


<!-- ##### FUNCTION g_utf8_get_char ##### -->
<para>

</para>

@p: 
@Returns: 


<!-- ##### FUNCTION g_utf8_get_char_validated ##### -->
<para>

</para>

@p: 
@max_len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_offset_to_pointer ##### -->
<para>

</para>

@str: 
@offset: 
@Returns: 


<!-- ##### FUNCTION g_utf8_pointer_to_offset ##### -->
<para>

</para>

@str: 
@pos: 
@Returns: 


<!-- ##### FUNCTION g_utf8_prev_char ##### -->
<para>

</para>

@p: 
@Returns: 


<!-- ##### FUNCTION g_utf8_find_next_char ##### -->
<para>

</para>

@p: 
@end: 
@Returns: 


<!-- ##### FUNCTION g_utf8_find_prev_char ##### -->
<para>

</para>

@str: 
@p: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strlen ##### -->
<para>

</para>

@p: 
@max: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strncpy ##### -->
<para>

</para>

@dest: 
@src: 
@n: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strchr ##### -->
<para>

</para>

@p: 
@len: 
@c: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strrchr ##### -->
<para>

</para>

@p: 
@len: 
@c: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strreverse ##### -->
<para>

</para>

@str: 
@len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_substring ##### -->
<para>

</para>

@str: 
@start_pos: 
@end_pos: 
@Returns: 


<!-- ##### FUNCTION g_utf8_validate ##### -->
<para>

</para>

@str: 
@max_len: 
@end: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strup ##### -->
<para>

</para>

@str: 
@len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_strdown ##### -->
<para>

</para>

@str: 
@len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_casefold ##### -->
<para>

</para>

@str: 
@len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_normalize ##### -->
<para>

</para>

@str: 
@len: 
@mode: 
@Returns: 


<!-- ##### ENUM GNormalizeMode ##### -->
<para>

</para>

@G_NORMALIZE_DEFAULT: 
@G_NORMALIZE_NFD: 
@G_NORMALIZE_DEFAULT_COMPOSE: 
@G_NORMALIZE_NFC: 
@G_NORMALIZE_ALL: 
@G_NORMALIZE_NFKD: 
@G_NORMALIZE_ALL_COMPOSE: 
@G_NORMALIZE_NFKC: 

<!-- ##### FUNCTION g_utf8_collate ##### -->
<para>

</para>

@str1: 
@str2: 
@Returns: 


<!-- ##### FUNCTION g_utf8_collate_key ##### -->
<para>

</para>

@str: 
@len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_collate_key_for_filename ##### -->
<para>

</para>

@str: 
@len: 
@Returns: 


<!-- ##### FUNCTION g_utf8_to_utf16 ##### -->
<para>

</para>

@str: 
@len: 
@items_read: 
@items_written: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_utf8_to_ucs4 ##### -->
<para>

</para>

@str: 
@len: 
@items_read: 
@items_written: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_utf8_to_ucs4_fast ##### -->
<para>

</para>

@str: 
@len: 
@items_written: 
@Returns: 


<!-- ##### FUNCTION g_utf16_to_ucs4 ##### -->
<para>

</para>

@str: 
@len: 
@items_read: 
@items_written: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_utf16_to_utf8 ##### -->
<para>

</para>

@str: 
@len: 
@items_read: 
@items_written: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_ucs4_to_utf16 ##### -->
<para>

</para>

@str: 
@len: 
@items_read: 
@items_written: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_ucs4_to_utf8 ##### -->
<para>

</para>

@str: 
@len: 
@items_read: 
@items_written: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_unichar_to_utf8 ##### -->
<para>

</para>

@c: 
@outbuf: 
@Returns: 


