aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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