aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2023-12-08 10:55:02 +0800
committerPo Lu2023-12-08 10:55:02 +0800
commit3cf7d32b90ad32321c141bb2a34a670d2d6df5b7 (patch)
tree8be5621d78ba05d593a81e79e74f129ae60fbc47 /src
parent3b1fd42732f7ca5b2db6ad6e75af1c037e1c54e4 (diff)
downloademacs-3cf7d32b90ad32321c141bb2a34a670d2d6df5b7.tar.gz
emacs-3cf7d32b90ad32321c141bb2a34a670d2d6df5b7.zip
Display glyphs whose first contours commence at origin
* src/sfnt.c (sfnt_build_append): Don't disregard redundant motion if outline is empty. Problem encountered in the "M" glyph within Source Code Pro VF Italic.
Diffstat (limited to 'src')
-rw-r--r--src/sfnt.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/sfnt.c b/src/sfnt.c
index 8ec19290859..34239973797 100644
--- a/src/sfnt.c
+++ b/src/sfnt.c
@@ -3487,12 +3487,18 @@ sfnt_build_append (int flags, sfnt_fixed x, sfnt_fixed y)
3487{ 3487{
3488 struct sfnt_glyph_outline *outline; 3488 struct sfnt_glyph_outline *outline;
3489 3489
3490 outline = build_outline_context.outline;
3491
3490 if (x == build_outline_context.x 3492 if (x == build_outline_context.x
3491 && y == build_outline_context.y) 3493 && y == build_outline_context.y
3494 /* If the outline is presently empty, the first move_to must be
3495 recorded even if its X and Y are set to origin. Without this
3496 initial vertex, edges will be generated from the next vertex
3497 onward, and thus be misaligned. */
3498 && outline->outline_used)
3492 /* Ignore redundant motion. */ 3499 /* Ignore redundant motion. */
3493 return build_outline_context.outline; 3500 return build_outline_context.outline;
3494 3501
3495 outline = build_outline_context.outline;
3496 outline->outline_used++; 3502 outline->outline_used++;
3497 3503
3498 /* See if the outline has to be extended. Checking for overflow 3504 /* See if the outline has to be extended. Checking for overflow