Using unicode string functions. allegro game programming library.
#include <allegro.h>
Example exunicod
This program demonstrates the use of the 16-bit Unicode text encoding format with Allegro. The example displays a message translated to different languages scrolling on the screen using an external font containing the required characters to display those messages.
Note how the Allegro unicode string functions resemble the functions you can find in the standard C library, only these handle Unicode on all platforms.
BITMAP(3alleg4), DATAFILE(3alleg4), END_OF_MAIN(3alleg4), FONT(3alleg4), SCREEN_H(3alleg4), SCREEN_W(3alleg4), allegro_error(3alleg4), allegro_init(3alleg4), allegro_message(3alleg4), blit(3alleg4), clear_to_color(3alleg4), create_bitmap(3alleg4), destroy_bitmap(3alleg4), font(3alleg4), install_int_ex(3alleg4), install_keyboard(3alleg4), install_timer(3alleg4), keypressed(3alleg4), load_datafile(3alleg4), replace_filename(3alleg4), rest(3alleg4), screen(3alleg4), set_gfx_mode(3alleg4), set_uformat(3alleg4), set_window_title(3alleg4), text_height(3alleg4), text_length(3alleg4), textout_ex(3alleg4), uconvert_ascii(3alleg4), unload_datafile(3alleg4), ustrcat(3alleg4), ustrcpy(3alleg4), ustrsize(3alleg4), ustrsizez(3alleg4)