diff options
Diffstat (limited to 'servers')
-rw-r--r-- | servers/text/text_server_extension.cpp | 9 | ||||
-rw-r--r-- | servers/text/text_server_extension.h | 2 | ||||
-rw-r--r-- | servers/text_server.cpp | 5 | ||||
-rw-r--r-- | servers/text_server.h | 1 |
4 files changed, 17 insertions, 0 deletions
diff --git a/servers/text/text_server_extension.cpp b/servers/text/text_server_extension.cpp index 8f9797805f..c13f5db5e9 100644 --- a/servers/text/text_server_extension.cpp +++ b/servers/text/text_server_extension.cpp @@ -332,6 +332,7 @@ void TextServerExtension::_bind_methods() { GDVIRTUAL_BIND(_strip_diacritics, "string"); GDVIRTUAL_BIND(_is_valid_identifier, "string"); + GDVIRTUAL_BIND(_is_valid_letter, "unicode"); GDVIRTUAL_BIND(_string_get_word_breaks, "string", "language", "chars_per_line"); GDVIRTUAL_BIND(_string_get_character_breaks, "string", "language"); @@ -1492,6 +1493,14 @@ bool TextServerExtension::is_valid_identifier(const String &p_string) const { return TextServer::is_valid_identifier(p_string); } +bool TextServerExtension::is_valid_letter(char32_t p_unicode) const { + bool ret; + if (GDVIRTUAL_CALL(_is_valid_letter, p_unicode, ret)) { + return ret; + } + return TextServer::is_valid_letter(p_unicode); +} + String TextServerExtension::strip_diacritics(const String &p_string) const { String ret; if (GDVIRTUAL_CALL(_strip_diacritics, p_string, ret)) { diff --git a/servers/text/text_server_extension.h b/servers/text/text_server_extension.h index f447f0f5bd..d5cd1f753e 100644 --- a/servers/text/text_server_extension.h +++ b/servers/text/text_server_extension.h @@ -563,6 +563,8 @@ public: virtual bool is_valid_identifier(const String &p_string) const override; GDVIRTUAL1RC(bool, _is_valid_identifier, const String &); + virtual bool is_valid_letter(char32_t p_unicode) const override; + GDVIRTUAL1RC(bool, _is_valid_letter, char32_t); virtual String string_to_upper(const String &p_string, const String &p_language = "") const override; virtual String string_to_lower(const String &p_string, const String &p_language = "") const override; diff --git a/servers/text_server.cpp b/servers/text_server.cpp index 562f2df411..127c674f0c 100644 --- a/servers/text_server.cpp +++ b/servers/text_server.cpp @@ -490,6 +490,7 @@ void TextServer::_bind_methods() { ClassDB::bind_method(D_METHOD("strip_diacritics", "string"), &TextServer::strip_diacritics); ClassDB::bind_method(D_METHOD("is_valid_identifier", "string"), &TextServer::is_valid_identifier); + ClassDB::bind_method(D_METHOD("is_valid_letter", "unicode"), &TextServer::is_valid_letter); ClassDB::bind_method(D_METHOD("string_to_upper", "string", "language"), &TextServer::string_to_upper, DEFVAL("")); ClassDB::bind_method(D_METHOD("string_to_lower", "string", "language"), &TextServer::string_to_lower, DEFVAL("")); @@ -2182,6 +2183,10 @@ bool TextServer::is_valid_identifier(const String &p_string) const { return true; } +bool TextServer::is_valid_letter(char32_t p_unicode) const { + return is_unicode_letter(p_unicode); +} + TextServer::TextServer() { _init_diacritics_map(); } diff --git a/servers/text_server.h b/servers/text_server.h index 775dbb5508..5835b36ec4 100644 --- a/servers/text_server.h +++ b/servers/text_server.h @@ -547,6 +547,7 @@ public: virtual String strip_diacritics(const String &p_string) const; virtual bool is_valid_identifier(const String &p_string) const; + virtual bool is_valid_letter(char32_t p_unicode) const; // Other string operations. virtual String string_to_upper(const String &p_string, const String &p_language = "") const = 0; |