Fix compilation if `TT_CONFIG_OPTION_GX_VAR_SUPPORT` is not set.
* src/sfnt/ttcolr.c: Protect relevant code with `TT_CONFIG_OPTION_GX_VAR_SUPPORT`.
This commit is contained in:
parent
38dc768a42
commit
a3749a64cd
|
@ -30,11 +30,14 @@
|
|||
#include <freetype/internal/ftcalc.h>
|
||||
#include <freetype/internal/ftdebug.h>
|
||||
#include <freetype/internal/ftstream.h>
|
||||
#include <freetype/internal/services/svmm.h>
|
||||
#include <freetype/tttags.h>
|
||||
#include <freetype/ftcolor.h>
|
||||
#include <freetype/config/integer-types.h>
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
#include <freetype/internal/services/svmm.h>
|
||||
#endif
|
||||
|
||||
/* the next two code lines are a temporary hack, to be removed together */
|
||||
/* with `VARIABLE_COLRV1_ENABLED` and related code as soon as variable */
|
||||
/* 'COLR' support is complete and tested */
|
||||
|
@ -131,9 +134,11 @@
|
|||
*/
|
||||
FT_Byte* paints_start_v1;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
/* Item Variation Store for variable 'COLR' v1. */
|
||||
GX_ItemVarStoreRec var_store;
|
||||
GX_DeltaSetIdxMapRec delta_set_idx_map;
|
||||
#endif
|
||||
|
||||
/* The memory that backs up the `COLR' table. */
|
||||
void* table;
|
||||
|
@ -169,10 +174,10 @@
|
|||
FT_ULong base_glyph_offset, layer_offset;
|
||||
FT_ULong base_glyphs_offset_v1, num_base_glyphs_v1;
|
||||
FT_ULong layer_offset_v1, num_layers_v1, clip_list_offset;
|
||||
FT_ULong var_idx_map_offset, var_store_offset;
|
||||
FT_ULong table_size;
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
FT_ULong colr_offset_in_stream;
|
||||
|
||||
#endif
|
||||
|
||||
/* `COLR' always needs `CPAL' */
|
||||
if ( !face->cpal )
|
||||
|
@ -182,7 +187,9 @@
|
|||
if ( error )
|
||||
goto NoColr;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
colr_offset_in_stream = FT_STREAM_POS();
|
||||
#endif
|
||||
|
||||
if ( table_size < COLR_HEADER_SIZE )
|
||||
goto InvalidTable;
|
||||
|
@ -275,6 +282,7 @@
|
|||
else
|
||||
colr->clip_list = 0;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
colr->var_store.dataCount = 0;
|
||||
colr->var_store.varData = NULL;
|
||||
colr->var_store.axisCount = 0;
|
||||
|
@ -285,11 +293,12 @@
|
|||
colr->delta_set_idx_map.outerIndex = NULL;
|
||||
colr->delta_set_idx_map.innerIndex = NULL;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
if ( face->variation_support & TT_FACE_FLAG_VAR_FVAR &&
|
||||
VARIABLE_COLRV1_ENABLED )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
FT_ULong var_idx_map_offset, var_store_offset;
|
||||
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
var_idx_map_offset = FT_NEXT_ULONG( p );
|
||||
|
@ -614,12 +623,17 @@
|
|||
FT_Byte* p,
|
||||
FT_COLR_Paint* apaint )
|
||||
{
|
||||
FT_Byte* paint_base = p;
|
||||
FT_Byte* child_table_p = NULL;
|
||||
FT_Bool do_read_var = FALSE;
|
||||
FT_ULong var_index_base = 0;
|
||||
FT_Byte* paint_base = p;
|
||||
FT_Byte* child_table_p = NULL;
|
||||
FT_Bool do_read_var = FALSE;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
FT_ULong var_index_base = 0;
|
||||
/* Longest varIndexBase offset is 5 in the spec. */
|
||||
FT_ItemVarDelta item_deltas[6] = { 0, 0, 0, 0, 0, 0 };
|
||||
FT_ItemVarDelta item_deltas[6] = { 0, 0, 0, 0, 0, 0 };
|
||||
#else
|
||||
FT_UNUSED( face );
|
||||
#endif
|
||||
|
||||
|
||||
if ( !p || !colr || !colr->table )
|
||||
|
@ -1059,9 +1073,6 @@
|
|||
(FT_PaintFormat_Internal)apaint->format ==
|
||||
FT_COLR_PAINTFORMAT_INTERNAL_VAR_ROTATE_CENTER )
|
||||
{
|
||||
FT_UInt num_deltas = 0;
|
||||
|
||||
|
||||
apaint->u.rotate.paint.p = child_table_p;
|
||||
apaint->u.rotate.paint.insert_root_transform = 0;
|
||||
|
||||
|
@ -1088,6 +1099,9 @@
|
|||
FT_COLR_PAINTFORMAT_INTERNAL_VAR_ROTATE_CENTER ) &&
|
||||
VARIABLE_COLRV1_ENABLED )
|
||||
{
|
||||
FT_UInt num_deltas = 0;
|
||||
|
||||
|
||||
var_index_base = FT_NEXT_ULONG( p );
|
||||
|
||||
if ( (FT_PaintFormat_Internal)apaint->format ==
|
||||
|
@ -1515,7 +1529,6 @@
|
|||
|
||||
FT_Byte* p;
|
||||
FT_ULong var_index_base;
|
||||
FT_Int item_deltas[2];
|
||||
|
||||
|
||||
if ( !colr || !colr->table )
|
||||
|
@ -1549,6 +1562,9 @@
|
|||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
if ( VARIABLE_COLRV1_ENABLED )
|
||||
{
|
||||
FT_Int item_deltas[2];
|
||||
|
||||
|
||||
if ( !get_deltas_for_var_index_base( face, colr,
|
||||
var_index_base,
|
||||
2,
|
||||
|
@ -1558,6 +1574,8 @@
|
|||
color_stop->stop_offset += (FT_Fixed)item_deltas[0] << 2;
|
||||
color_stop->color.alpha += item_deltas[1];
|
||||
}
|
||||
#else
|
||||
FT_UNUSED( var_index_base );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue