summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-01-10 09:11:30 +0100
committerGitHub <noreply@github.com>2022-01-10 09:11:30 +0100
commitd7464757084099765dee5755b21a8847f4226360 (patch)
tree8a5e1c23439d1a469d60039c94aa7aafe165c4e1
parent4e5969c6f012cc43a98159d8c578063883395b90 (diff)
parent8c973f21eeeb13bdee572199c29a80f89b907867 (diff)
Merge pull request #56649 from bruvzg/ts_fix_bmp_gl_index_and_text_edit_rounding
Fix glyph index for bitmap fonts and glyph positions in the TextEdit.
-rw-r--r--modules/text_server_adv/text_server_adv.cpp2
-rw-r--r--scene/gui/text_edit.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/modules/text_server_adv/text_server_adv.cpp b/modules/text_server_adv/text_server_adv.cpp
index f1945f62cb..d82e21581c 100644
--- a/modules/text_server_adv/text_server_adv.cpp
+++ b/modules/text_server_adv/text_server_adv.cpp
@@ -2573,7 +2573,7 @@ int32_t TextServerAdvanced::font_get_glyph_index(RID p_font_rid, int p_size, cha
return FT_Get_Char_Index(fd->cache[size]->face, p_char);
}
} else {
- return 0;
+ return (int32_t)p_char;
}
#else
return (int32_t)p_char;
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 817a4453a8..0fb0f111c7 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -1135,7 +1135,7 @@ void TextEdit::_notification(int p_what) {
int first_visible_char = TS->shaped_text_get_range(rid).y;
int last_visible_char = TS->shaped_text_get_range(rid).x;
- int char_ofs = 0;
+ float char_ofs = 0;
if (outline_size > 0 && outline_color.a > 0) {
for (int j = 0; j < gl_size; j++) {
for (int k = 0; k < glyphs[j].repeat; k++) {
@@ -1170,7 +1170,7 @@ void TextEdit::_notification(int p_what) {
}
}
- int char_pos = char_ofs + char_margin + ofs_x;
+ float char_pos = char_ofs + char_margin + ofs_x;
if (char_pos >= xmargin_beg) {
if (highlight_matching_braces_enabled) {
if ((brace_open_match_line == line && brace_open_match_column == glyphs[j].start) ||