Respect vertical placement offset for glyphs (#43812)

Before:
<img width="41" height="45" alt="image"
src="https://github.com/user-attachments/assets/0f8b1d0e-b0cf-483c-aa2d-77aadd90503c"
/>

After:
<img width="34" height="50" alt="image"
src="https://github.com/user-attachments/assets/fa3eb842-2d1b-49b1-9c37-ebe6e11b37eb"
/>



Release Notes:

- N/A
This commit is contained in:
John Tur
2025-11-29 17:04:04 -05:00
committed by GitHub
parent dd9cc90de9
commit 450cd3d42b
2 changed files with 4 additions and 3 deletions
@@ -1515,7 +1515,7 @@ impl IDWriteTextRenderer_Impl for TextRenderer_Impl {
id,
position: point(
px(context.width + glyph_offsets[this_glyph_idx].advanceOffset),
px(0.0),
px(-glyph_offsets[this_glyph_idx].ascenderOffset),
),
index: context.index_converter.utf8_ix,
is_emoji,
+3 -2
View File
@@ -369,16 +369,17 @@ fn paint_line(
let content_mask = window.content_mask();
if max_glyph_bounds.intersects(&content_mask.bounds) {
let vertical_offset = point(px(0.0), glyph.position.y);
if glyph.is_emoji {
window.paint_emoji(
glyph_origin + baseline_offset,
glyph_origin + baseline_offset + vertical_offset,
run.font_id,
glyph.id,
layout.font_size,
)?;
} else {
window.paint_glyph(
glyph_origin + baseline_offset,
glyph_origin + baseline_offset + vertical_offset,
run.font_id,
glyph.id,
layout.font_size,