summaryrefslogtreecommitdiffstats
path: root/servers
diff options
context:
space:
mode:
Diffstat (limited to 'servers')
-rw-r--r--servers/text/text_server_extension.cpp9
-rw-r--r--servers/text/text_server_extension.h2
-rw-r--r--servers/text_server.cpp5
-rw-r--r--servers/text_server.h1
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;