Fix overrun flag check and HarfBuzz safe to break flag check.

This commit is contained in:
bruvzg 2022-08-04 22:58:28 +03:00
parent 80193260ff
commit 80c9a44492
No known key found for this signature in database
GPG Key ID: 7960FCF39844EC38
2 changed files with 3 additions and 3 deletions

View File

@ -4245,7 +4245,7 @@ void TextServerAdvanced::shaped_text_overrun_trim_to_width(const RID &p_shaped_l
Glyph *sd_glyphs = sd->glyphs.ptrw(); Glyph *sd_glyphs = sd->glyphs.ptrw();
if (p_trim_flags.has_flag(OVERRUN_TRIM) || sd_glyphs == nullptr || p_width <= 0 || !(sd->width > p_width || enforce_ellipsis)) { if ((p_trim_flags & OVERRUN_TRIM) == OVERRUN_NO_TRIM || sd_glyphs == nullptr || p_width <= 0 || !(sd->width > p_width || enforce_ellipsis)) {
sd->overrun_trim_data.trim_pos = -1; sd->overrun_trim_data.trim_pos = -1;
sd->overrun_trim_data.ellipsis_pos = -1; sd->overrun_trim_data.ellipsis_pos = -1;
return; return;
@ -4986,7 +4986,7 @@ void TextServerAdvanced::_shape_run(ShapedTextDataAdvanced *p_sd, int64_t p_star
gl.font_rid = p_fonts[p_fb_index]; gl.font_rid = p_fonts[p_fb_index];
gl.font_size = fs; gl.font_size = fs;
if (glyph_info[i].mask & HB_GLYPH_FLAG_DEFINED) { if (glyph_info[i].mask & HB_GLYPH_FLAG_UNSAFE_TO_BREAK) {
gl.flags |= GRAPHEME_IS_CONNECTED; gl.flags |= GRAPHEME_IS_CONNECTED;
} }

View File

@ -3204,7 +3204,7 @@ void TextServerFallback::shaped_text_overrun_trim_to_width(const RID &p_shaped_l
Glyph *sd_glyphs = sd->glyphs.ptrw(); Glyph *sd_glyphs = sd->glyphs.ptrw();
if (p_trim_flags.has_flag(OVERRUN_TRIM) || sd_glyphs == nullptr || p_width <= 0 || !(sd->width > p_width || enforce_ellipsis)) { if ((p_trim_flags & OVERRUN_TRIM) == OVERRUN_NO_TRIM || sd_glyphs == nullptr || p_width <= 0 || !(sd->width > p_width || enforce_ellipsis)) {
sd->overrun_trim_data.trim_pos = -1; sd->overrun_trim_data.trim_pos = -1;
sd->overrun_trim_data.ellipsis_pos = -1; sd->overrun_trim_data.ellipsis_pos = -1;
return; return;