|
|
|
@ -1967,6 +1967,8 @@ void* ImFileLoadToMemory(const char* filename, const char* mode, size_t* out_f |
|
|
|
|
// [SECTION] MISC HELPERS/UTILITIES (ImText* functions)
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
IM_MSVC_RUNTIME_CHECKS_OFF |
|
|
|
|
|
|
|
|
|
// Convert UTF-8 to 32-bit character, process single character input.
|
|
|
|
|
// A nearly-branchless UTF-8 decoder, based on work of Christopher Wellons (https://github.com/skeeto/branchless-utf8).
|
|
|
|
|
// We handle UTF-8 decoding error by skipping forward.
|
|
|
|
@ -1978,7 +1980,7 @@ int ImTextCharFromUtf8(unsigned int* out_char, const char* in_text, const char* |
|
|
|
|
static const int shiftc[] = { 0, 18, 12, 6, 0 }; |
|
|
|
|
static const int shifte[] = { 0, 6, 4, 2, 0 }; |
|
|
|
|
int len = lengths[*(const unsigned char*)in_text >> 3]; |
|
|
|
|
int wanted = len + !len; |
|
|
|
|
int wanted = len + (len ? 0 : 1); |
|
|
|
|
|
|
|
|
|
if (in_text_end == NULL) |
|
|
|
|
in_text_end = in_text + wanted; // Max length, nulls will be taken into account.
|
|
|
|
@ -2142,6 +2144,7 @@ int ImTextCountUtf8BytesFromStr(const ImWchar* in_text, const ImWchar* in_text_e |
|
|
|
|
} |
|
|
|
|
return bytes_count; |
|
|
|
|
} |
|
|
|
|
IM_MSVC_RUNTIME_CHECKS_RESTORE |
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// [SECTION] MISC HELPERS/UTILITIES (Color functions)
|
|
|
|
|