[sfnt] Upgrade stop_offset to FT_Fixed from FT_F2Dot14
diff --git a/include/freetype/ftcolor.h b/include/freetype/ftcolor.h
index 3edaee4..1328568 100644
--- a/include/freetype/ftcolor.h
+++ b/include/freetype/ftcolor.h
@@ -592,7 +592,8 @@ FT_BEGIN_HEADER
*
* @fields:
* stop_offset ::
- * The stop offset between 0 and 1 along the gradient.
+ * The stop offset along the gradient, expressed as a 16.16 fixed-point
+ * coordinate.
*
* color ::
* The color information for this stop, see @FT_ColorIndex.
@@ -604,7 +605,7 @@ FT_BEGIN_HEADER
*/
typedef struct FT_ColorStop_
{
- FT_F2Dot14 stop_offset;
+ FT_Fixed stop_offset;
FT_ColorIndex color;
} FT_ColorStop;
diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c
index d54231f..e02dd06 100644
--- a/src/sfnt/ttcolr.c
+++ b/src/sfnt/ttcolr.c
@@ -1054,7 +1054,7 @@
/* Iterator points at first `ColorStop` of `ColorLine`. */
p = iterator->p;
- color_stop->stop_offset = FT_NEXT_SHORT( p );
+ color_stop->stop_offset = (FT_Fixed)FT_NEXT_SHORT( p ) << 2;
color_stop->color.palette_index = FT_NEXT_USHORT( p );