diff --git a/devel/ftoption.h b/devel/ftoption.h index 740b6b3b8..6e3a2e605 100644 --- a/devel/ftoption.h +++ b/devel/ftoption.h @@ -739,6 +739,24 @@ FT_BEGIN_HEADER #define TT_CONFIG_OPTION_GX_VAR_SUPPORT + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_NO_BORING_EXPANSION` if you want to exclude + * support for 'boring' OpenType specification expansions. + * + * https://github.com/harfbuzz/boring-expansion-spec + * + * Right now, the following features are covered: + * + * - 'avar' version 2.0 + * + * Most likely, this is a temporary configuration option to be removed in + * the near future, since it is assumed that eventually those features are + * added to the OpenType standard. + */ +/* #define TT_CONFIG_OPTION_NO_BORING_EXPANSION */ + + /************************************************************************** * * Define `TT_CONFIG_OPTION_BDF` if you want to include support for an diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h index 1381de679..2f6cdc870 100644 --- a/include/freetype/config/ftoption.h +++ b/include/freetype/config/ftoption.h @@ -739,6 +739,24 @@ FT_BEGIN_HEADER #define TT_CONFIG_OPTION_GX_VAR_SUPPORT + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_NO_BORING_EXPANSION` if you want to exclude + * support for 'boring' OpenType specification expansions. + * + * https://github.com/harfbuzz/boring-expansion-spec + * + * Right now, the following features are covered: + * + * - 'avar' version 2.0 + * + * Most likely, this is a temporary configuration option to be removed in + * the near future, since it is assumed that eventually those features are + * added to the OpenType standard. + */ +/* #define TT_CONFIG_OPTION_NO_BORING_EXPANSION */ + + /************************************************************************** * * Define `TT_CONFIG_OPTION_BDF` if you want to include support for an diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index 458b958ab..370a92c7e 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -364,10 +364,13 @@ FT_Long version; FT_Long axisCount; - FT_ULong table_offset; FT_ULong table_len; + +#ifndef TT_CONFIG_OPTION_NO_BORING_EXPANSION + FT_ULong table_offset; FT_ULong store_offset; FT_ULong axisMap_offset; +#endif FT_TRACE2(( "AVAR " )); @@ -380,7 +383,9 @@ return; } +#ifndef TT_CONFIG_OPTION_NO_BORING_EXPANSION table_offset = FT_STREAM_POS(); +#endif if ( FT_FRAME_ENTER( table_len ) ) return; @@ -388,7 +393,11 @@ version = FT_GET_LONG(); axisCount = FT_GET_LONG(); - if ( version != 0x00010000L && version != 0x00020000L ) + if ( version != 0x00010000L +#ifndef TT_CONFIG_OPTION_NO_BORING_EXPANSION + && version != 0x00020000L +#endif + ) { FT_TRACE2(( "bad table version\n" )); goto Exit; @@ -445,6 +454,7 @@ FT_TRACE5(( "\n" )); } +#ifndef TT_CONFIG_OPTION_NO_BORING_EXPANSION if ( version < 0x00020000L ) goto Exit; @@ -472,6 +482,7 @@ if ( error ) goto Exit; } +#endif Exit: