/*! Allocates a new string of 'size' bytes that is already NULL-terminated. The NULL byte counts toward the size limit, as usual. Returns NULL if size is 0. */
char*U8_alloc(unsignedintsize);
/*! Deallocates the given string. */
voidU8_free(char*string);
/*! Allocates a copy of the given string. */
char*U8_strdup(constchar*string);
/*! Returns the number of UTF-8 characters in the given string. */
intU8_strlen(constchar*string);
/*! Returns the number of bytes in the UTF-8 multibyte character pointed at by 'character'. */
intU8_charsize(constchar*character);
/*! Copies the source multibyte character into the given buffer without overrunning it. Returns 0 on failure. */
/*! Erases the UTF-8 character at the given position, moving the subsequent characters down. */
voidU8_strdel(char*string,intposition);
// Internal settings
/*! Sets the string from which to load the initial glyphs. Use this if you need upfront loading for any reason (such as lack of render-target support). */