source/AccessorySDK/Support/utfconv.c
static int
unicode_decompose(uint16_t character, uint16_t *convertedChars)
{
	if ((character >= HANGUL_SBASE) &&
	    (character <= (HANGUL_SBASE + HANGUL_SCOUNT))) {
		uint32_t length;

		character -= HANGUL_SBASE;
		length = (character % HANGUL_TCOUNT ? 3 : 2);

		*(convertedChars++) =
			(uint16_t)(character / HANGUL_NCOUNT + HANGUL_LBASE);
		*(convertedChars++) =
			(uint16_t)((character % HANGUL_NCOUNT) / HANGUL_TCOUNT + HANGUL_VBASE);
		if (length > 2)
			*convertedChars = (uint16_t)((character % HANGUL_TCOUNT) + HANGUL_TBASE);
		return ((int)length);
	} else {
		return ((int)unicode_recursive_decompose(character, convertedChars));
	}
}
/*
 * unicode_decompose - decompose a composed Unicode char
 *
 * Composed Unicode characters are forbidden on
 * HFS Plus volumes. ucs_decompose will convert a
 * composed character into its correct decomposed
 * sequence.
 *
 * Similar to CFUniCharDecomposeCharacter
 */
decompose a composed Unicode char
Composed Unicode characters are forbidden on
HFS Plus volumes. ucs_decompose will convert a
composed character into its correct decomposed
sequence.


decompose a composed Unicode char Composed Unicode characters are forbidden on HFS Plus volumes . ucs_decompose will convert a composed character into its correct decomposed sequence .
static int
unicode_decompose(uint16_t character, uint16_t *convertedChars)
{
	if ((character >= HANGUL_SBASE) &&
	    (character <= (HANGUL_SBASE + HANGUL_SCOUNT))) {
		uint32_t length;
		character -= HANGUL_SBASE;
		length = (character % HANGUL_TCOUNT ? 3 : 2);
		*(convertedChars++) =
			(uint16_t)(character / HANGUL_NCOUNT + HANGUL_LBASE);
		*(convertedChars++) =
			(uint16_t)((character % HANGUL_NCOUNT) / HANGUL_TCOUNT + HANGUL_VBASE);
		if (length > 2)
			*convertedChars = (uint16_t)((character % HANGUL_TCOUNT) + HANGUL_TBASE);
		return ((int)length);
	} else {
		return ((int)unicode_recursive_decompose(character, convertedChars));
	}
}
static int unicode_decompose ( uint16_t character , uint16_t * convertedChars ) { if ( ( character >= HANGUL_SBASE ) && ( character <= ( HANGUL_SBASE + HANGUL_SCOUNT ) ) ) { uint32_t length ; character -= HANGUL_SBASE ; length = ( character % HANGUL_TCOUNT ? 3 : 2 ) ; * ( convertedChars ++ ) = ( uint16_t ) ( character / HANGUL_NCOUNT + HANGUL_LBASE ) ; * ( convertedChars ++ ) = ( uint16_t ) ( ( character % HANGUL_NCOUNT ) / HANGUL_TCOUNT + HANGUL_VBASE ) ; if ( length > 2 ) * convertedChars = ( uint16_t ) ( ( character % HANGUL_TCOUNT ) + HANGUL_TBASE ) ; return ( ( int ) length ) ; } else { return ( ( int ) unicode_recursive_decompose ( character , convertedChars ) ) ; } }
unicode_decompose - decompose a composed Unicode char
 Composed Unicode characters are forbidden on
 HFS Plus volumes.
unicode_decompose - decompose a composed Unicode char Composed Unicode characters are forbidden on HFS Plus volumes .