diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-01-10 09:11:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-10 09:11:30 +0100 |
commit | d7464757084099765dee5755b21a8847f4226360 (patch) | |
tree | 8a5e1c23439d1a469d60039c94aa7aafe165c4e1 | |
parent | 4e5969c6f012cc43a98159d8c578063883395b90 (diff) | |
parent | 8c973f21eeeb13bdee572199c29a80f89b907867 (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.cpp | 2 | ||||
-rw-r--r-- | scene/gui/text_edit.cpp | 4 |
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) || |