#include <freetype/internal/ftdebug.h>
#include <freetype/internal/ftobjs.h>
#include <freetype/internal/ftstream.h>
#include <freetype/tttags.h>
#include <freetype/t1tables.h>
#include <freetype/internal/psaux.h>
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
#include <freetype/ftmm.h>
#include <freetype/internal/services/svmm.h>
#endif
#include "cffload.h"
#include "cffparse.h"
#include "cfferrs.h"
#define FT_FIXED_ONE …
#if 1
static const FT_UShort cff_isoadobe_charset[229] = …;
static const FT_UShort cff_expert_charset[166] = …;
static const FT_UShort cff_expertsubset_charset[87] = …;
static const FT_UShort cff_standard_encoding[256] = …;
static const FT_UShort cff_expert_encoding[256] = …;
#endif
FT_LOCAL_DEF( FT_UShort )
cff_get_standard_encoding( FT_UInt charcode )
{ … }
#undef FT_COMPONENT
#define FT_COMPONENT …
static FT_ULong
cff_index_read_offset( CFF_Index idx,
FT_Error *errorp )
{ … }
static FT_Error
cff_index_init( CFF_Index idx,
FT_Stream stream,
FT_Bool load,
FT_Bool cff2 )
{ … }
static void
cff_index_done( CFF_Index idx )
{ … }
static FT_Error
cff_index_load_offsets( CFF_Index idx )
{ … }
static FT_Error
cff_index_get_pointers( CFF_Index idx,
FT_Byte*** table,
FT_Byte** pool,
FT_ULong* pool_size )
{ … }
FT_LOCAL_DEF( FT_Error )
cff_index_access_element( CFF_Index idx,
FT_UInt element,
FT_Byte** pbytes,
FT_ULong* pbyte_len )
{ … }
FT_LOCAL_DEF( void )
cff_index_forget_element( CFF_Index idx,
FT_Byte** pbytes )
{ … }
FT_LOCAL_DEF( FT_String* )
cff_index_get_name( CFF_Font font,
FT_UInt element )
{ … }
FT_LOCAL_DEF( FT_String* )
cff_index_get_string( CFF_Font font,
FT_UInt element )
{ … }
FT_LOCAL_DEF( FT_String* )
cff_index_get_sid_string( CFF_Font font,
FT_UInt sid )
{ … }
static void
CFF_Done_FD_Select( CFF_FDSelect fdselect,
FT_Stream stream )
{ … }
static FT_Error
CFF_Load_FD_Select( CFF_FDSelect fdselect,
FT_UInt num_glyphs,
FT_Stream stream,
FT_ULong offset )
{ … }
FT_LOCAL_DEF( FT_Byte )
cff_fd_select_get( CFF_FDSelect fdselect,
FT_UInt glyph_index )
{ … }
static FT_Error
cff_charset_compute_cids( CFF_Charset charset,
FT_UInt num_glyphs,
FT_Memory memory )
{ … }
FT_LOCAL_DEF( FT_UInt )
cff_charset_cid_to_gindex( CFF_Charset charset,
FT_UInt cid )
{ … }
static void
cff_charset_free_cids( CFF_Charset charset,
FT_Memory memory )
{ … }
static void
cff_charset_done( CFF_Charset charset,
FT_Stream stream )
{ … }
static FT_Error
cff_charset_load( CFF_Charset charset,
FT_UInt num_glyphs,
FT_Stream stream,
FT_ULong base_offset,
FT_ULong offset,
FT_Bool invert )
{ … }
static void
cff_vstore_done( CFF_VStoreRec* vstore,
FT_Memory memory )
{ … }
#define FT_fdot14ToFixed( x ) …
static FT_Error
cff_vstore_load( CFF_VStoreRec* vstore,
FT_Stream stream,
FT_ULong base_offset,
FT_ULong offset )
{ … }
FT_LOCAL_DEF( void )
cff_blend_clear( CFF_SubFont subFont )
{ … }
FT_LOCAL_DEF( FT_Error )
cff_blend_doBlend( CFF_SubFont subFont,
CFF_Parser parser,
FT_UInt numBlends )
{ … }
FT_LOCAL_DEF( FT_Error )
cff_blend_build_vector( CFF_Blend blend,
FT_UInt vsindex,
FT_UInt lenNDV,
FT_Fixed* NDV )
{ … }
FT_LOCAL_DEF( FT_Bool )
cff_blend_check_vector( CFF_Blend blend,
FT_UInt vsindex,
FT_UInt lenNDV,
FT_Fixed* NDV )
{ … }
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
FT_LOCAL_DEF( FT_Error )
cff_get_var_blend( FT_Face face,
FT_UInt *num_coords,
FT_Fixed* *coords,
FT_Fixed* *normalizedcoords,
FT_MM_Var* *mm_var )
{ … }
FT_LOCAL_DEF( void )
cff_done_blend( FT_Face face )
{ … }
#endif
static void
cff_encoding_done( CFF_Encoding encoding )
{ … }
static FT_Error
cff_encoding_load( CFF_Encoding encoding,
CFF_Charset charset,
FT_UInt num_glyphs,
FT_Stream stream,
FT_ULong base_offset,
FT_ULong offset )
{ … }
FT_LOCAL_DEF( FT_Error )
cff_load_private_dict( CFF_Font font,
CFF_SubFont subfont,
FT_UInt lenNDV,
FT_Fixed* NDV )
{ … }
static FT_Error
cff_subfont_load( CFF_SubFont subfont,
CFF_Index idx,
FT_UInt font_index,
FT_Stream stream,
FT_ULong base_offset,
FT_UInt code,
CFF_Font font,
CFF_Face face )
{ … }
static void
cff_subfont_done( FT_Memory memory,
CFF_SubFont subfont )
{ … }
FT_LOCAL_DEF( FT_Error )
cff_font_load( FT_Library library,
FT_Stream stream,
FT_Int face_index,
CFF_Font font,
CFF_Face face,
FT_Bool pure_cff,
FT_Bool cff2 )
{ … }
FT_LOCAL_DEF( void )
cff_font_done( CFF_Font font )
{ … }