summaryrefslogtreecommitdiffstats
path: root/modules/text_server_fb/text_server_fb.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-08-18 17:24:54 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-08-18 17:24:54 +0200
commitb51ee8b029b0b9f719f01bbdd21a329e65d4d238 (patch)
tree52e79f7d4582023148fe24a494606e4792e419fa /modules/text_server_fb/text_server_fb.cpp
parenta2a1ed1aac1cd7caa418a0a35a936f289b886a41 (diff)
parent5d3fcc57669c4104a85c79327f7c2662a0d191a3 (diff)
downloadredot-engine-b51ee8b029b0b9f719f01bbdd21a329e65d4d238.tar.gz
Merge pull request #80650 from bruvzg/comp_char_fix
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
Diffstat (limited to 'modules/text_server_fb/text_server_fb.cpp')
-rw-r--r--modules/text_server_fb/text_server_fb.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/text_server_fb/text_server_fb.cpp b/modules/text_server_fb/text_server_fb.cpp
index 70da5e2782..bf7cc776c0 100644
--- a/modules/text_server_fb/text_server_fb.cpp
+++ b/modules/text_server_fb/text_server_fb.cpp
@@ -4079,6 +4079,20 @@ double TextServerFallback::_shaped_text_get_underline_thickness(const RID &p_sha
return sd->uthk;
}
+PackedInt32Array TextServerFallback::_shaped_text_get_character_breaks(const RID &p_shaped) const {
+ const ShapedTextDataFallback *sd = shaped_owner.get_or_null(p_shaped);
+ ERR_FAIL_COND_V(!sd, PackedInt32Array());
+
+ MutexLock lock(sd->mutex);
+
+ PackedInt32Array ret;
+ ret.resize(sd->end - sd->start);
+ for (int i = sd->start; i < sd->end; i++) {
+ ret.write[i] = i;
+ }
+ return ret;
+}
+
String TextServerFallback::_string_to_upper(const String &p_string, const String &p_language) const {
return p_string.to_upper();
}