* 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.
diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c
index 30ff21f..e7ae82e 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;