Skip to content

Commit ac641b1

Browse files
committed
Merge pull request #112858 from bruvzg/ts_of_x
[TextServer] Remove negative offset from the first char when shaping substrings.
2 parents 070730e + 369e690 commit ac641b1

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

modules/text_server_adv/text_server_adv.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5435,6 +5435,10 @@ bool TextServerAdvanced::_shape_substr(ShapedTextDataAdvanced *p_new_sd, const S
54355435
}
54365436
p_new_sd->width += gl.advance * gl.repeat;
54375437
}
5438+
if (p_new_sd->glyphs.is_empty() && gl.x_off < 0.0) {
5439+
gl.advance += -gl.x_off;
5440+
gl.x_off = 0.0;
5441+
}
54385442
p_new_sd->glyphs.push_back(gl);
54395443
}
54405444
}

modules/text_server_fb/text_server_fb.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4117,6 +4117,10 @@ RID TextServerFallback::_shaped_text_substr(const RID &p_shaped, int64_t p_start
41174117
new_sd->descent = MAX(new_sd->descent, Math::round(get_hex_code_box_size(gl.font_size, gl.index).x * 0.5));
41184118
}
41194119
}
4120+
if (new_sd->glyphs.is_empty() && gl.x_off < 0.0) {
4121+
gl.advance += -gl.x_off;
4122+
gl.x_off = 0.0;
4123+
}
41204124
new_sd->width += gl.advance * gl.repeat;
41214125
}
41224126
new_sd->glyphs.push_back(gl);

0 commit comments

Comments
 (0)