These functions provide basic unicode string handling. More...
Typedefs | |
typedef uint32_t | Eina_Unicode |
A type that holds Unicode codepoints. | |
Functions | |
EINA_API size_t | eina_unicode_strlen (const Eina_Unicode *ustr) |
EINA_API size_t | eina_unicode_strnlen (const Eina_Unicode *ustr, int n) |
Returns the length of a Eina_Unicode string, up to a limit. More... | |
EINA_API Eina_Unicode * | eina_unicode_strdup (const Eina_Unicode *text) |
Same as the standard strdup just with Eina_Unicode instead of char. More... | |
EINA_API Eina_Unicode * | eina_unicode_strndup (const Eina_Unicode *text, size_t n) |
Same as strdup but cuts on the given size. More... | |
EINA_API int | eina_unicode_strcmp (const Eina_Unicode *a, const Eina_Unicode *b) |
Same as the standard strcmp just with Eina_Unicode instead of char. More... | |
EINA_API Eina_Unicode * | eina_unicode_strcpy (Eina_Unicode *dest, const Eina_Unicode *source) |
Same as the standard strcpy just with Eina_Unicode instead of char. More... | |
EINA_API Eina_Unicode * | eina_unicode_strstr (const Eina_Unicode *haystack, const Eina_Unicode *needle) |
Same as the standard strstr just with Eina_Unicode instead of char. More... | |
EINA_API Eina_Unicode * | eina_unicode_strncpy (Eina_Unicode *dest, const Eina_Unicode *source, size_t n) |
Same as the standard strncpy just with Eina_Unicode instead of char. More... | |
EINA_API Eina_Unicode * | eina_unicode_escape (const Eina_Unicode *str) |
static Eina_Unicode | eina_unicode_utf8_next_get (const char *buf, int *iindex) |
Reads UTF8 bytes from buf , starting at iindex and returns the decoded code point at iindex offset, and advances iindex to the next code point after this. More... | |
EINA_API Eina_Unicode | eina_unicode_utf8_get_next (const char *buf, int *iindex) EINA_DEPRECATED |
EINA_API Eina_Unicode | eina_unicode_utf8_get_prev (const char *buf, int *iindex) |
Reads UTF8 bytes from buf , starting at iindex and returns the decoded code point at iindex offset, and moves iindex to the previous code point. More... | |
EINA_API int | eina_unicode_utf8_get_len (const char *buf) |
Returns the number of unicode characters in the string. More... | |
EINA_API Eina_Unicode * | eina_unicode_utf8_to_unicode (const char *utf, int *_len) |
Converts a utf-8 string to a newly allocated Eina_Unicode string. More... | |
EINA_API char * | eina_unicode_unicode_to_utf8_range (const Eina_Unicode *uni, int ulen, int *_len) |
Converts an Eina_Unicode string to a newly allocated utf-8 substring at given length. More... | |
EINA_API char * | eina_unicode_unicode_to_utf8 (const Eina_Unicode *uni, int *_len) |
Converts an Eina_Unicode string to a newly allocated utf-8 string. More... | |
Variables | |
EINA_API const Eina_Unicode * | EINA_UNICODE_EMPTY_STRING |
Same as the standard strlen just with Eina_Unicode instead of char. | |
These functions provide basic unicode string handling.
Eina_Unicode is a type that holds unicode codepoints.
EINA_API size_t eina_unicode_strnlen | ( | const Eina_Unicode * | ustr, |
int | n | ||
) |
Returns the length of a Eina_Unicode string, up to a limit.
This function returns the number of characters in string, up to a maximum of n. If the terminating character is not found in the string, it returns n.
[in] | ustr | String to search |
[in] | n | Max length to search |
References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API Eina_Unicode * eina_unicode_strdup | ( | const Eina_Unicode * | text | ) |
Same as the standard strdup just with Eina_Unicode instead of char.
[in] | text | The text to duplicate. |
References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API Eina_Unicode * eina_unicode_strndup | ( | const Eina_Unicode * | text, |
size_t | n | ||
) |
Same as strdup but cuts on the given size.
Assumes n < len
[in] | text | The text to duplicate. |
[in] | n | The maximum size of the text to duplicate. |
This function duplicates text
. The resulting string is cut on n
. n
is assumed to be lesser (<) than the length of text
. When not needed anymore, the returned string must be freed.
References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API int eina_unicode_strcmp | ( | const Eina_Unicode * | a, |
const Eina_Unicode * | b | ||
) |
Same as the standard strcmp just with Eina_Unicode instead of char.
[in] | a | The text to be compared. |
[in] | b | The text to be compared. |
a
to b
. References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API Eina_Unicode * eina_unicode_strcpy | ( | Eina_Unicode * | dest, |
const Eina_Unicode * | source | ||
) |
Same as the standard strcpy just with Eina_Unicode instead of char.
[out] | dest | The text which source is to be copied. |
[in] | source | The text to copy from. |
dest
is returned. References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API Eina_Unicode * eina_unicode_strstr | ( | const Eina_Unicode * | haystack, |
const Eina_Unicode * | needle | ||
) |
Same as the standard strstr just with Eina_Unicode instead of char.
[in] | haystack | The text to be searched. |
[in] | needle | The text to search for |
haystack
which starts with needle
when needle
is founded in haystack
, or NULL is returned. References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API Eina_Unicode * eina_unicode_strncpy | ( | Eina_Unicode * | dest, |
const Eina_Unicode * | source, | ||
size_t | n | ||
) |
Same as the standard strncpy just with Eina_Unicode instead of char.
[out] | dest | The text which source is to be copied. |
[in] | source | The text to copy from. |
[in] | n | Maximum number of characters to be copied from source . |
dest
is returned. References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API Eina_Unicode * eina_unicode_escape | ( | const Eina_Unicode * | str | ) |
[in] | str | The string to escape. |
References EINA_SAFETY_ON_NULL_RETURN_VAL.
|
inlinestatic |
Reads UTF8 bytes from buf
, starting at iindex
and returns the decoded code point at iindex
offset, and advances iindex
to the next code point after this.
iindex
is always advanced, unless if the advancement is after the NULL
.
On error: return a codepoint between DC80 to DCFF where the low 8 bits are the byte's value.
[in] | buf | the string |
[in,out] | iindex | the index to look at and return by. |
buf
or iindex
are NULLReferenced by eina_unicode_utf8_get_len(), eina_unicode_utf8_get_next(), eina_unicode_utf8_get_prev(), eina_unicode_utf8_to_unicode(), and evas_string_char_next_get().
EINA_API Eina_Unicode eina_unicode_utf8_get_next | ( | const char * | buf, |
int * | iindex | ||
) |
buf
, starting at iindex
and returns the decoded code point at iindex
offset, and advances iindex
to the next code point after this. iindex
is always advanced, unless if the advancement is after the NULL
.On error: return a codepoint between DC80 to DCFF where the low 8 bits are the byte's value.
[in] | buf | the string |
[in,out] | iindex | the index to look at and return by. |
buf
or iindex
are NULLReferences eina_unicode_utf8_next_get().
EINA_API Eina_Unicode eina_unicode_utf8_get_prev | ( | const char * | buf, |
int * | iindex | ||
) |
Reads UTF8 bytes from buf
, starting at iindex
and returns the decoded code point at iindex
offset, and moves iindex
to the previous code point.
iindex
is always moved, as long as it's not past the start of the string.
On error: return a codepoint between DC80 to DCFF where the low 8 bits are the byte's value.
[in] | buf | the string |
[in,out] | iindex | the index to look at and return by. |
References EINA_SAFETY_ON_NULL_RETURN_VAL, and eina_unicode_utf8_next_get().
Referenced by evas_string_char_prev_get().
EINA_API int eina_unicode_utf8_get_len | ( | const char * | buf | ) |
Returns the number of unicode characters in the string.
That is, the number of Eina_Unicodes it'll take to store this string in an Eina_Unicode string.
[in] | buf | the string |
References EINA_SAFETY_ON_NULL_RETURN_VAL, and eina_unicode_utf8_next_get().
Referenced by eina_unicode_utf8_to_unicode(), and evas_string_char_len_get().
EINA_API Eina_Unicode * eina_unicode_utf8_to_unicode | ( | const char * | utf, |
int * | _len | ||
) |
Converts a utf-8 string to a newly allocated Eina_Unicode string.
[in] | utf | the string in utf-8 |
[out] | _len | the length of the returned Eina_Unicode string. |
References EINA_SAFETY_ON_NULL_RETURN_VAL, eina_unicode_utf8_get_len(), and eina_unicode_utf8_next_get().
EINA_API char * eina_unicode_unicode_to_utf8_range | ( | const Eina_Unicode * | uni, |
int | ulen, | ||
int * | _len | ||
) |
Converts an Eina_Unicode string to a newly allocated utf-8 substring at given length.
[in] | uni | the Eina_Unicode string |
[in] | ulen | the length in the unicode string to convert. |
[out] | _len | the length byte length of the return utf8 substring. |
References EINA_SAFETY_ON_NULL_RETURN_VAL.
EINA_API char * eina_unicode_unicode_to_utf8 | ( | const Eina_Unicode * | uni, |
int * | _len | ||
) |
Converts an Eina_Unicode string to a newly allocated utf-8 string.
[in] | uni | the Eina_Unicode string |
[out] | _len | the length byte length of the return utf8 string. |
Referenced by evas_textblock_cursor_content_get().