|
|
@ -27,9 +27,12 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include "hb.hh" |
|
|
|
#include "hb.hh" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include FT_COLOR_H |
|
|
|
|
|
|
|
|
|
|
|
#ifndef HB_NO_PAINT |
|
|
|
#ifndef HB_NO_PAINT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef TT_SUPPORT_COLRV1 |
|
|
|
|
|
|
|
|
|
|
|
static hb_paint_composite_mode_t |
|
|
|
static hb_paint_composite_mode_t |
|
|
|
_hb_ft_paint_composite_mode (FT_Composite_Mode mode) |
|
|
|
_hb_ft_paint_composite_mode (FT_Composite_Mode mode) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -421,6 +424,8 @@ _hb_ft_paint (hb_ft_paint_context_t *c, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
static bool |
|
|
|
static bool |
|
|
|
hb_ft_paint_glyph_colr (hb_font_t *font, |
|
|
|
hb_ft_paint_glyph_colr (hb_font_t *font, |
|
|
|
void *font_data, |
|
|
|
void *font_data, |
|
|
@ -447,6 +452,7 @@ hb_ft_paint_glyph_colr (hb_font_t *font, |
|
|
|
if (error) |
|
|
|
if (error) |
|
|
|
palette = NULL; |
|
|
|
palette = NULL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef TT_SUPPORT_COLRV1 |
|
|
|
/* COLRv1 */ |
|
|
|
/* COLRv1 */ |
|
|
|
FT_OpaquePaint paint = {0}; |
|
|
|
FT_OpaquePaint paint = {0}; |
|
|
|
if (FT_Get_Color_Glyph_Paint (ft_face, gid, |
|
|
|
if (FT_Get_Color_Glyph_Paint (ft_face, gid, |
|
|
@ -477,6 +483,7 @@ hb_ft_paint_glyph_colr (hb_font_t *font, |
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/* COLRv0 */ |
|
|
|
/* COLRv0 */ |
|
|
|
iterator.p = NULL; |
|
|
|
iterator.p = NULL; |
|
|
|