diff options
author | 2019-01-14 00:44:46 +1100 | |
---|---|---|
committer | 2019-01-14 00:44:46 +1100 | |
commit | 3d84943f72df5d69db5e5cff1d71887fcc23c422 (patch) | |
tree | 893bbfe9575c70b5b95311642937bc92bfb633ba /src/lib/util/unicode.h | |
parent | 9d7b4d0faa64f42665b1c19b28b5eb15c0f40d29 (diff) |
Make search not suck as badly (use algorithm derived from Jaro-Winkler similarity to match search strings, match on more useful stuff)
Diffstat (limited to 'src/lib/util/unicode.h')
-rw-r--r-- | src/lib/util/unicode.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/lib/util/unicode.h b/src/lib/util/unicode.h index 5e30a74916e..46e1aec3496 100644 --- a/src/lib/util/unicode.h +++ b/src/lib/util/unicode.h @@ -14,14 +14,16 @@ singular 32-bit Unicode chars. ***************************************************************************/ +#ifndef MAME_LIB_UTIL_UNICODE_H +#define MAME_LIB_UTIL_UNICODE_H #pragma once -#ifndef UNICODE_H -#define UNICODE_H +#include "osdcore.h" + +#include <string> #include <stdlib.h> -#include "osdcore.h" @@ -95,6 +97,7 @@ bool uchar_is_digit(char32_t uchar); int uchar_from_utf8(char32_t *uchar, const char *utf8char, size_t count); int uchar_from_utf16(char32_t *uchar, const char16_t *utf16char, size_t count); int uchar_from_utf16f(char32_t *uchar, const char16_t *utf16char, size_t count); +std::u32string ustr_from_utf8(const std::string &utf8str); // converting 32-bit Unicode chars to strings int utf8_from_uchar(char *utf8string, size_t count, char32_t uchar); @@ -107,9 +110,9 @@ std::wstring wstring_from_utf8(const std::string &utf8string); std::string utf8_from_wstring(const std::wstring &string); // unicode normalization -std::string normalize_unicode(const std::string &s, unicode_normalization_form normalization_form); -std::string normalize_unicode(const char *s, unicode_normalization_form normalization_form); -std::string normalize_unicode(const char *s, size_t length, unicode_normalization_form normalization_form); +std::string normalize_unicode(const std::string &s, unicode_normalization_form normalization_form, bool fold_case = false); +std::string normalize_unicode(const char *s, unicode_normalization_form normalization_form, bool fold_case = false); +std::string normalize_unicode(const char *s, size_t length, unicode_normalization_form normalization_form, bool fold_case = false); // upper and lower case char32_t uchar_toupper(char32_t ch); @@ -137,4 +140,4 @@ bool utf8_is_valid_string(const char *utf8string); #define utf16le_from_uchar utf16f_from_uchar #endif -#endif /* UNICODE_H */ +#endif // MAME_LIB_UTIL_UNICODE_H |