Decompose a codepoint into an array of codepoints.
@param codepoint the codepoint.
@param dst the destination buffer.
@param bufsize the size of the destination buffer.
@param options one or more of the following flags:
- @ref UTF8PROC_REJECTNA - return an error codepoint is unassigned
- @ref UTF8PROC_IGNORE - strip "default ignorable" codepoints
- @ref UTF8PROC_CASEFOLD - apply Unicode casefolding
- @ref UTF8PROC_COMPAT - replace certain codepoints with their
compatibility decomposition
- @ref UTF8PROC_CHARBOUND - insert 0xFF bytes before each grapheme cluster
- @ref UTF8PROC_LUMP - lump certain different codepoints together
- @ref UTF8PROC_STRIPMARK - remove all character marks
@param last_boundclass
Pointer to an integer variable containing
the previous codepoint's boundary class if the @ref UTF8PROC_CHARBOUND
option is used. Otherwise, this parameter is ignored.
@return
In case of success, the number of codepoints written is returned; in case
of an error, a negative error code is returned (@ref utf8proc_errmsg).
@par
If the number of written codepoints would be bigger than bufsize, the
required buffer size is returned, while the buffer will be overwritten with
undefined data.
Decompose a codepoint into an array of codepoints.
@param codepoint the codepoint. @param dst the destination buffer. @param bufsize the size of the destination buffer. @param options one or more of the following flags: - @ref UTF8PROC_REJECTNA - return an error codepoint is unassigned - @ref UTF8PROC_IGNORE - strip "default ignorable" codepoints - @ref UTF8PROC_CASEFOLD - apply Unicode casefolding - @ref UTF8PROC_COMPAT - replace certain codepoints with their compatibility decomposition - @ref UTF8PROC_CHARBOUND - insert 0xFF bytes before each grapheme cluster - @ref UTF8PROC_LUMP - lump certain different codepoints together - @ref UTF8PROC_STRIPMARK - remove all character marks @param last_boundclass Pointer to an integer variable containing the previous codepoint's boundary class if the @ref UTF8PROC_CHARBOUND option is used. Otherwise, this parameter is ignored.
@return In case of success, the number of codepoints written is returned; in case of an error, a negative error code is returned (@ref utf8proc_errmsg). @par If the number of written codepoints would be bigger than bufsize, the required buffer size is returned, while the buffer will be overwritten with undefined data.