diff options
author | Alex Ringlein <aringlein@figma.com> | 2023-02-16 22:38:35 -0500 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2023-02-16 22:38:35 -0500 |
commit | 74ea5454cc2dee5cbd9c42e63cde8cb26f94beb9 (patch) | |
tree | 5d3debf01f89881c30a920a0ddded310ae292931 | |
parent | 0eca6ead82b4e6f739b57e49a3029d0b31fd1652 (diff) | |
download | freetype2-74ea5454cc2dee5cbd9c42e63cde8cb26f94beb9.tar.gz |
* src/base/ftoutln.c (FT_Outline_Reverse): Anchor first contour points.
A cubic contour has to always start from an on-point. Therefore, we
should not swap the first with the last point, which might be off, and
obtain an invalid contour. This does not matter for conic contours.
If anything, it also saves one swap there. Fixes #1207.
-rw-r--r-- | src/base/ftoutln.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c index 30ff21ff3..e7ae82e21 100644 --- a/src/base/ftoutln.c +++ b/src/base/ftoutln.c @@ -556,6 +556,10 @@ { last = outline->contours[n]; + /* keep the first contour point as is and swap points around it */ + /* to guarantee that the cubic arches stay valid after reverse */ + first++; + /* reverse point table */ { FT_Vector* p = outline->points + first; |