unicharDecompose

fnbool unicharDecompose(dchar ch, out dchar a, out dchar b)

Performs a single decomposition step of the Unicode canonical decomposition algorithm.

This function does not include compatibility decompositions. It does, however, include algorithmic Hangul Jamo decomposition, as well as 'singleton' decompositions which replace a character by a single other character. In the case of singletons *b will be set to zero.

If ch is not decomposable, a is set to ch and b is set to zero.

Note that the way Unicode decomposition pairs are defined, it is guaranteed that b would not decompose further, but a may itself decompose. To get the full canonical decomposition for ch, one would need to recursively call this function on a. Or use [glib.global.unicharFullyDecompose].

See

UAX#15

for details.

Parameters

cha Unicode character
areturn location for the first component of ch
breturn location for the second component of ch

Returns

true if the character could be decomposed