Unicode.unicharFullyDecompose

Computes the canonical or compatibility decomposition of a Unicode character. For compatibility decomposition, pass %TRUE for @compat; for canonical decomposition pass %FALSE for @compat.

The decomposed sequence is placed in @result. Only up to @result_len characters are written into @result. The length of the full decomposition (irrespective of @result_len) is returned by the function. For canonical decomposition, currently all decompositions are of length at most 4, but this may change in the future (very unlikely though). At any rate, Unicode does guarantee that a buffer of length 18 is always enough for both compatibility and canonical decompositions, so that is the size recommended. This is provided as %G_UNICHAR_MAX_DECOMPOSITION_LENGTH.

See UAX#15

for details.

struct Unicode
static
size_t
unicharFullyDecompose
(
dchar ch
,
bool compat
,
dchar* result
,
size_t resultLen
)

Parameters

ch dchar

a Unicode character.

compat bool

whether perform canonical or compatibility decomposition

result dchar*

location to store decomposed result, or %NULL

resultLen size_t

length of @result

Return: the length of the full decomposition.

Meta

Since

2.30