## Unicode Information

Unicode Information — Unicode related utility functions

## Functions

gint | unicode_get_codepoint_data_name_count ()
gint | unicode_get_unihan_count ()
gint | unicode_unichar_to_printable_utf8 ()
gboolean | unicode_unichar_validate ()
gboolean | unicode_unichar_isgraph ()
gunichar * | unicode_get_nameslist_exes ()
const gchar * | unicode_get_codepoint_name ()
const gchar * | unicode_get_codepoint_data_name ()
const gchar * | unicode_get_category_name ()
const gchar * | unicode_get_unicode_kDefinition ()
const gchar ** | unicode_get_nameslist_stars ()
const gchar ** | unicode_get_nameslist_equals ()
const gchar ** | unicode_get_nameslist_pounds ()
const gchar ** | unicode_get_nameslist_colons ()
const gchar * | unicode_version_to_string ()
UnicodeStandard | unicode_get_version ()

## Types and Values

enum | UnicodeStandard

## Includes

    #include <unicode-info.h>

## Description

This widget provides a way to search for characters by name, value or other information.

## Functions

### unicode_get_codepoint_data_name_count ()

    gint
    unicode_get_codepoint_data_name_count (void);

### unicode_get_unihan_count ()

    gint
    unicode_get_unihan_count (void);

### unicode_unichar_to_printable_utf8 ()

    gint
    unicode_unichar_to_printable_utf8 (gunichar uc,
                                       gchar *outbuf);

Converts a single character to UTF-8 suitable for rendering. Check the source to see what this means. ;-)

#### Parameters

uc | a unicode character |
outbuf | output buffer, must have at least 10 bytes of space. If `NULL`, the length will be computed and returned, nothing will be written to `outbuf` . | [out caller-allocates]

#### Returns

number of bytes written

### unicode_unichar_validate ()

    gboolean
    unicode_unichar_validate (gunichar uc);

### unicode_unichar_isgraph ()

    gboolean
    unicode_unichar_isgraph (gunichar uc);

Determines whether a character is printable and not a space (returns `FALSE` for control characters and spaces). `g_unichar_isprint()` is similar, but returns `TRUE` for spaces. Given some UTF-8 text, obtain a character value with `g_utf8_get_char()`.

#### Parameters

uc | a Unicode character |

#### Returns

`TRUE` if `c` is printable unless it's a space or control character

### unicode_get_nameslist_exes ()

    gunichar *
    unicode_get_nameslist_exes (gunichar uc);

### unicode_get_codepoint_name ()

    const gchar *
    unicode_get_codepoint_name (gunichar uc);

### unicode_get_codepoint_data_name ()

    const gchar *
    unicode_get_codepoint_data_name (gunichar uc);

### unicode_get_category_name ()

    const gchar *
    unicode_get_category_name (gunichar uc);

### unicode_get_unicode_kDefinition ()

    const gchar *
    unicode_get_unicode_kDefinition (gunichar uc);

### unicode_get_nameslist_stars ()

    const gchar **
    unicode_get_nameslist_stars (gunichar uc);

#### Parameters

uc | a gunichar |

#### Returns

newly allocated `NULL`-terminated array of gchar*, the items are const, but the array should be freed by the caller.

[transfer container][array zero-terminated=1][element-type utf8]

### unicode_get_nameslist_equals ()

    const gchar **
    unicode_get_nameslist_equals (gunichar uc);

#### Parameters

uc | a gunichar |

#### Returns

newly allocated `NULL`-terminated array of gchar*, the items are const, but the array should be freed by the caller.

[transfer container][array zero-terminated=1][element-type utf8]

### unicode_get_nameslist_pounds ()

    const gchar **
    unicode_get_nameslist_pounds (gunichar uc);

#### Parameters

uc | a gunichar |

#### Returns

newly allocated `NULL`-terminated array of gchar*, the items are const, but the array should be freed by the caller.

[transfer container][array zero-terminated=1][element-type utf8]

### unicode_get_nameslist_colons ()

    const gchar **
    unicode_get_nameslist_colons (gunichar uc);

#### Parameters

uc | a gunichar |

#### Returns

newly allocated `NULL`-terminated array of gchar*, the items are const, but the array should be freed by the caller.

[transfer container][array zero-terminated=1][element-type utf8]

### unicode_version_to_string ()

    const gchar *
    unicode_version_to_string (UnicodeStandard version);

### unicode_get_version ()

    UnicodeStandard
    unicode_get_version (gunichar uc);

## Types and Values

### enum UnicodeStandard

#### Members

UNICODE_VERSION_UNASSIGNED | Not assigned |
UNICODE_VERSION_1_1 | Version 1.1 |
UNICODE_VERSION_2_0 | Version 2.0 |
UNICODE_VERSION_2_1 | Version 2.1 |
UNICODE_VERSION_3_0 | Version 3.0 |
UNICODE_VERSION_3_1 | Version 3.1 |
UNICODE_VERSION_3_2 | Version 3.2 |
UNICODE_VERSION_4_0 | Version 4.0 |
UNICODE_VERSION_4_1 | Version 4.1 |
UNICODE_VERSION_5_0 | Version 5.0 |
UNICODE_VERSION_5_1 | Version 5.1 |
UNICODE_VERSION_5_2 | Version 5.2 |
UNICODE_VERSION_6_0 | Version 6.0 |
UNICODE_VERSION_6_1 | Version 6.1 |
UNICODE_VERSION_6_2 | Version 6.2 |
UNICODE_VERSION_6_3 | Version 6.3 |
UNICODE_VERSION_7_0 | Version 7.0 |
UNICODE_VERSION_8_0 | Version 8.0 |
UNICODE_VERSION_9_0 | Version 9.0 |
UNICODE_VERSION_10_0 | Version 10.0 |
UNICODE_VERSION_11_0 | Version 11.0 |
UNICODE_VERSION_12_0 | Version 12.0 |
UNICODE_VERSION_12_1 | Version 12.1 |
UNICODE_VERSION_13_0 | Version 13.0 |
UNICODE_VERSION_14_0 | Version 14.0 |
UNICODE_VERSION_15_0 | Version 15.0 |
UNICODE_VERSION_15_1 | Version 15.1 |
UNICODE_VERSION_LATEST | Version 15.1 |