diff --git a/include/freetype/ftcolor.h b/include/freetype/ftcolor.h index 43e463e98..a4bd62a26 100644 --- a/include/freetype/ftcolor.h +++ b/include/freetype/ftcolor.h @@ -965,14 +965,16 @@ FT_BEGIN_HEADER * The center of the sweep gradient (in font units). * * start_angle :: - * The start angle of the sweep gradient, in 16.16 fixed point format - * specifying degrees. Values are given counter-clockwise, starting - * from the (positive) y~axis. + * The start angle of the sweep gradient, in 16.16 fixed point + * format specifying degrees divided by 180.0 (as in the + * spec). Multiply by 180.0f to receive degrees value. Values are + * given counter-clockwise, starting from the (positive) y~axis. * * end_angle :: - * The end angle of the sweep gradient, in 16.16 fixed point format - * specifying degrees. Values are given counter-clockwise, starting - * from the (positive) y~axis. + * The end angle of the sweep gradient, in 16.16 fixed point + * format specifying degrees divided by 180.0 (as in the + * spec). Multiply by 180.0f to receive degrees value. Values are + * given counter-clockwise, starting from the (positive) y~axis. * * @since: * 2.11 -- **currently experimental only!** There might be changes diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c index 3970a5dc5..601d88a55 100644 --- a/src/sfnt/ttcolr.c +++ b/src/sfnt/ttcolr.c @@ -531,8 +531,8 @@ apaint->u.sweep_gradient.center.x = FT_NEXT_SHORT( p ); apaint->u.sweep_gradient.center.y = FT_NEXT_SHORT( p ); - apaint->u.sweep_gradient.start_angle = FT_NEXT_LONG( p ); - apaint->u.sweep_gradient.end_angle = FT_NEXT_LONG( p ); + apaint->u.sweep_gradient.start_angle = FT_NEXT_SHORT( p ) << 2; + apaint->u.sweep_gradient.end_angle = FT_NEXT_SHORT( p ) << 2; return 1; }