31#include FT_INTERNAL_DEBUG_H
32#include FT_INTERNAL_STREAM_H
33#include FT_TRUETYPE_TAGS_H
37#ifdef TT_CONFIG_OPTION_COLOR_LAYERS
43#define CPAL_V0_HEADER_BASE_SIZE 12
71#define FT_COMPONENT ttcpal
106 if ( cpal->version > 1 )
115 if ( CPAL_V0_HEADER_BASE_SIZE +
121 if ( cpal->num_colors * COLOR_SIZE >
table_size - colors_offset )
124 if (
face->palette_data.num_palette_entries > cpal->num_colors )
127 cpal->color_indices =
p;
130 if ( cpal->version == 1 )
132 FT_ULong type_offset, label_offset, entry_label_offset;
138 if ( CPAL_V0_HEADER_BASE_SIZE +
139 face->palette_data.num_palettes * 2U +
143 p +=
face->palette_data.num_palettes * 2;
153 if (
face->palette_data.num_palettes * 2 >
167 face->palette_data.palette_flags =
array;
174 if (
face->palette_data.num_palettes * 2 >
188 face->palette_data.palette_name_ids =
array;
191 if ( entry_label_offset )
195 if (
face->palette_data.num_palette_entries * 2 >
202 p =
table + entry_label_offset;
204 limit =
q +
face->palette_data.num_palette_entries;
209 face->palette_data.palette_entry_name_ids =
array;
220 face->palette_data.num_palette_entries ) )
250 Cpal* cpal = (Cpal*)
face->cpal;
265 Cpal* cpal = (Cpal*)
face->cpal;
276 if ( !cpal || palette_index >=
face->palette_data.num_palettes )
277 return FT_THROW( Invalid_Argument );
279 offset = cpal->color_indices + 2 * palette_index;
282 if ( color_index +
face->palette_data.num_palette_entries >
286 p = cpal->colors + COLOR_SIZE * color_index;
288 limit =
q +
face->palette_data.num_palette_entries;
static const WCHAR version[]
FT_BEGIN_HEADER struct FT_Color_ FT_Color
#define FT_NEW_ARRAY(ptr, count)
#define FT_QNEW_ARRAY(ptr, count)
#define FT_FRAME_RELEASE(bytes)
#define FT_NEXT_USHORT(buffer)
#define FT_PEEK_USHORT(p)
#define FT_FRAME_EXTRACT(size, bytes)
#define FT_NEXT_ULONG(buffer)
#define FT_NEXT_BYTE(buffer)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
GLdouble GLdouble GLdouble GLdouble q
GLenum GLuint GLint GLenum face
static char memory[1024 *256]
FT_BEGIN_HEADER tt_face_load_cpal(TT_Face face, FT_Stream stream)
tt_face_palette_set(TT_Face face, FT_UInt palette_index)
tt_face_free_cpal(TT_Face face)