Allegro 5 api
#include <allegro5/allegro.h> size_t al_utf16_encode(uint16_t s[], int32_t c)
Encode the specified code point to UTF-16 into the buffer s. The buffer must have enough space to hold the encoding, which takes either 2 or 4 bytes. This routine will refuse to encode code points above 0x10FFFF.
Returns the number of bytes written, which is the same as that returned by al_utf16_width(3alleg5).
al_utf8_encode(3alleg5), al_ustr_encode_utf16(3alleg5)