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.
compat |
whether perform canonical or compatibility decomposition |
result |
location to store decomposed result, or null |
ch |
a Unicode character. |
result_len |
length of |
the length of the full decomposition. |