return numberOfCharacters;
}
-void Utf32ToUtf8( const uint32_t* const utf32, uint32_t numberOfCharacters, uint8_t* utf8 )
+uint32_t Utf32ToUtf8( const uint32_t* const utf32, uint32_t numberOfCharacters, uint8_t* utf8 )
{
const uint32_t* begin = utf32;
const uint32_t* end = utf32 + numberOfCharacters;
+ uint8_t* utf8Begin = utf8;
+
for( ; begin < end; ++begin )
{
const uint32_t code = *begin;
*utf8++ = static_cast<uint8_t>( code & 0x3f ) | 0x80u; // continuation byte
}
}
+
+ return utf8 - utf8Begin;
}
} // namespace Toolkit
* @param[in] utf32 The pointer to the UTF32 array.
* @param[in] numberOfCharacters The number of characters of the UTF32 array.
* @param[out] utf8 The pointer to the UTF8 array.
+ *
+ * @return The number of bytes.
*/
-DALI_IMPORT_API void Utf32ToUtf8( const uint32_t* const utf32, uint32_t numberOfCharacters, uint32_t* utf8 );
+DALI_IMPORT_API uint32_t Utf32ToUtf8( const uint32_t* const utf32, uint32_t numberOfCharacters, uint8_t* utf8 );
} // namespace Toolkit