diff --git a/ChangeLog b/ChangeLog index b7864d27f..ed4592afd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-06-10 Werner Lemberg + + s/FT_Palette/FT_Palette_Data/, s/palette/palette_data/. + + * include/freetype/ftcolor.h, include/freetype/internal/tttypes.h, + src/base/ftcolor.c, src/sfnt/sfobjs.c, src/sfnt/ttcolr.c: Updated. + 2018-06-10 Nikolaus Waxweiler CMakeLists: also accept IOS_PLATFORM=SIMULATOR64 diff --git a/include/freetype/ftcolor.h b/include/freetype/ftcolor.h index 559069daa..1711877dd 100644 --- a/include/freetype/ftcolor.h +++ b/include/freetype/ftcolor.h @@ -93,8 +93,8 @@ FT_BEGIN_HEADER * * @description: * A list of bit field constants used in the `palette_types' array of - * the @FT_Palette structure to indicate for which background a palette - * with a given index is usable. + * the @FT_Palette_Data structure to indicate for which background a + * palette with a given index is usable. * * @values: * FT_PALETTE_USABLE_WITH_LIGHT_BACKGROUND :: @@ -115,7 +115,7 @@ FT_BEGIN_HEADER /************************************************************************** * * @struct: - * FT_Palette + * FT_Palette_Data * * @description: * This structure holds the data of the `CPAL' table. @@ -167,7 +167,7 @@ FT_BEGIN_HEADER * @since: * 2.10 */ - typedef struct FT_Palette_ { + typedef struct FT_Palette_Data_ { FT_UShort num_palettes; const FT_UShort* palette_name_ids; const FT_UShort* palette_types; @@ -175,13 +175,13 @@ FT_BEGIN_HEADER FT_UShort num_palette_entries; const FT_UShort* palette_entry_name_ids; - } FT_Palette; + } FT_Palette_Data; /************************************************************************** * * @func: - * FT_Palette_Get + * FT_Palette_Data_Get * * @description: * Retrieve the face's color palette data. @@ -192,13 +192,13 @@ FT_BEGIN_HEADER * * @output: * apalette :: - * A pointer to an @FT_Palette structure. + * A pointer to an @FT_Palette_Data structure. * * @return: * FreeType error code. 0~means success. * * @note: - * All arrays in the returned @FT_Palette structure are read-only. + * All arrays in the returned @FT_Palette_Data structure are read-only. * * This function always returns an error if the config macro * `TT_CONFIG_OPTION_COLOR_LAYERS' is not defined in `ftoption.h'. @@ -207,8 +207,8 @@ FT_BEGIN_HEADER * 2.10 */ FT_EXPORT( FT_Error ) - FT_Palette_Get( FT_Face face, - FT_Palette *apalette ); + FT_Palette_Data_Get( FT_Face face, + FT_Palette_Data *apalette ); /************************************************************************** @@ -243,12 +243,14 @@ FT_BEGIN_HEADER * If `apalette_entries' is set to NULL, no array gets returned (and * no color entries can be modified). * + * In case the font doesn't support color palettes, NULL is returned. + * * @return: * FreeType error code. 0~means success. * * @note: * The number of color entries is given by the `num_palette_entries' - * field in the @FT_Palette structure. + * field in the @FT_Palette_Data structure. * * The array pointed to by `apalette_entries' is owned and managed by * FreeType. diff --git a/include/freetype/internal/tttypes.h b/include/freetype/internal/tttypes.h index 2d5ee0aac..c5e362ef7 100644 --- a/include/freetype/internal/tttypes.h +++ b/include/freetype/internal/tttypes.h @@ -1659,7 +1659,7 @@ FT_BEGIN_HEADER TT_Post_NamesRec postscript_names; /* glyph colors */ - FT_Palette palette; /* since 2.10 */ + FT_Palette_Data palette_data; /* since 2.10 */ /************************************************************************ diff --git a/src/base/ftcolor.c b/src/base/ftcolor.c index 441eda3dc..26f6569da 100644 --- a/src/base/ftcolor.c +++ b/src/base/ftcolor.c @@ -25,24 +25,24 @@ #ifdef TT_CONFIG_OPTION_COLOR_LAYERS static - const FT_Palette null_palette = { 0, NULL, NULL, 0, NULL }; + const FT_Palette_Data null_palette_data = { 0, NULL, NULL, 0, NULL }; /* documentation is in ftcolor.h */ FT_EXPORT_DEF( FT_Error ) - FT_Palette_Get( FT_Face face, - FT_Palette *apalette ) + FT_Palette_Data_Get( FT_Face face, + FT_Palette_Data *apalette_data ) { if ( !face ) return FT_THROW( Invalid_Face_Handle ); - if ( !apalette) + if ( !apalette_data) return FT_THROW( Invalid_Argument ); if ( FT_IS_SFNT( face ) ) - *apalette = ( (TT_Face)face )->palette; + *apalette_data = ( (TT_Face)face )->palette_data; else - *apalette = null_palette; + *apalette_data = null_palette_data; return FT_Err_Ok; } @@ -50,8 +50,8 @@ #else /* !TT_CONFIG_OPTION_COLOR_LAYERS */ FT_EXPORT_DEF( FT_Error ) - FT_Palette_Get( FT_Face face, - FT_Palette *apalette ) + FT_Palette_Data_Get( FT_Face face, + FT_Palette_Data *apalette_data ) { FT_UNUSED( face ); FT_UNUSED( apalette ); diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c index 87749cae4..67b5ff4a7 100644 --- a/src/sfnt/sfobjs.c +++ b/src/sfnt/sfobjs.c @@ -1809,9 +1809,9 @@ #endif /* freeing glyph color palette data */ - FT_FREE( face->palette.palette_name_ids ); - FT_FREE( face->palette.palette_types ); - FT_FREE( face->palette.palette_entry_name_ids ); + FT_FREE( face->palette_data.palette_name_ids ); + FT_FREE( face->palette_data.palette_types ); + FT_FREE( face->palette_data.palette_entry_name_ids ); face->sfnt = NULL; } diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c index 93185e387..d34336572 100644 --- a/src/sfnt/ttcolr.c +++ b/src/sfnt/ttcolr.c @@ -69,7 +69,7 @@ } Colr; - /* all data from `CPAL' not covered in FT_Palette */ + /* all data from `CPAL' not covered in FT_Palette_Data */ typedef struct Cpal_ { FT_UShort version; /* Table version number (0 or 1 supported). */ @@ -186,8 +186,8 @@ if ( cpal.version > 1 ) goto InvalidTable; - face->palette.num_palette_entries = FT_NEXT_USHORT( p ); - face->palette.num_palettes = FT_NEXT_USHORT( p ); + face->palette_data.num_palette_entries = FT_NEXT_USHORT( p ); + face->palette_data.num_palettes = FT_NEXT_USHORT( p ); cpal.num_colors = FT_NEXT_USHORT( p ); colors_offset = FT_NEXT_ULONG( p ); @@ -208,7 +208,7 @@ FT_UShort* q; - p += face->palette.num_palettes * 2; + p += face->palette_data.num_palettes * 2; type_offset = FT_NEXT_ULONG( p ); label_offset = FT_NEXT_ULONG( p ); @@ -218,61 +218,64 @@ { if ( type_offset >= table_size ) goto InvalidTable; - if ( face->palette.num_palettes * 2 > table_size - type_offset ) + if ( face->palette_data.num_palettes * 2 > + table_size - type_offset ) goto InvalidTable; - if ( FT_QNEW_ARRAY( array, face->palette.num_palettes ) ) + if ( FT_QNEW_ARRAY( array, face->palette_data.num_palettes ) ) goto NoColor; p = cpal_table + type_offset; q = array; - limit = q + face->palette.num_palettes * sizeof ( FT_UShort ); + limit = q + face->palette_data.num_palettes * sizeof ( FT_UShort ); while ( q < limit ) *q++ = FT_NEXT_USHORT( p ); - face->palette.palette_types = array; + face->palette_data.palette_types = array; } if ( label_offset ) { if ( label_offset >= table_size ) goto InvalidTable; - if ( face->palette.num_palettes * 2 > table_size - label_offset ) + if ( face->palette_data.num_palettes * 2 > + table_size - label_offset ) goto InvalidTable; - if ( FT_QNEW_ARRAY( array, face->palette.num_palettes ) ) + if ( FT_QNEW_ARRAY( array, face->palette_data.num_palettes ) ) goto NoColor; p = cpal_table + label_offset; q = array; - limit = q + face->palette.num_palettes * sizeof ( FT_UShort ); + limit = q + face->palette_data.num_palettes * sizeof ( FT_UShort ); while ( q < limit ) *q++ = FT_NEXT_USHORT( p ); - face->palette.palette_name_ids = array; + face->palette_data.palette_name_ids = array; } if ( entry_label_offset ) { if ( entry_label_offset >= table_size ) goto InvalidTable; - if ( face->palette.num_palette_entries * 2 > + if ( face->palette_data.num_palette_entries * 2 > table_size - entry_label_offset ) goto InvalidTable; - if ( FT_QNEW_ARRAY( array, face->palette.num_palette_entries ) ) + if ( FT_QNEW_ARRAY( array, face->palette_data.num_palette_entries ) ) goto NoColor; p = cpal_table + entry_label_offset; q = array; - limit = q + face->palette.num_palette_entries * sizeof ( FT_UShort ); + limit = q + face->palette_data.num_palette_entries * + sizeof ( FT_UShort ); while ( q < limit ) *q++ = FT_NEXT_USHORT( p ); - face->palette.palette_entry_name_ids = array; + face->palette_data.palette_entry_name_ids = array; } } @@ -295,7 +298,7 @@ FT_FRAME_RELEASE( colr_table ); FT_FRAME_RELEASE( cpal_table ); - /* arrays in `face->palette' are freed in `sfnt_face_done' */ + /* arrays in `face->palette_data' are freed in `sfnt_face_done' */ return error; } @@ -401,8 +404,8 @@ FT_UShort palette_index = FT_NEXT_USHORT( layer_record_ptr ); - if ( palette_index != 0xFFFF && - palette_index >= face->palette.num_palette_entries ) + if ( palette_index != 0xFFFF && + palette_index >= face->palette_data.num_palette_entries ) { error = FT_THROW( Invalid_File_Format ); goto Error; @@ -441,7 +444,7 @@ FT_Int color_offset; - if ( color_index >= face->palette.num_palette_entries ) + if ( color_index >= face->palette_data.num_palette_entries ) return 0; p = cpal->color_indices + palette_index * (int)sizeof ( FT_UShort );