2018-06-03 22:00:42 +02:00
|
|
|
/****************************************************************************
|
|
|
|
*
|
|
|
|
* svcfftl.h
|
|
|
|
*
|
|
|
|
* The FreeType CFF tables loader service (specification).
|
|
|
|
*
|
2019-01-22 20:31:44 +01:00
|
|
|
* Copyright 2017-2019 by
|
2018-06-03 22:00:42 +02:00
|
|
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
|
|
*
|
|
|
|
* This file is part of the FreeType project, and may only be used,
|
|
|
|
* modified, and distributed under the terms of the FreeType project
|
|
|
|
* license, LICENSE.TXT. By continuing to use, modify, or distribute
|
|
|
|
* this file you indicate that you have read the license and
|
|
|
|
* understand and accept it fully.
|
|
|
|
*
|
|
|
|
*/
|
2017-09-25 08:29:38 +02:00
|
|
|
|
|
|
|
|
2017-09-24 22:20:38 +02:00
|
|
|
#ifndef SVCFFTL_H_
|
|
|
|
#define SVCFFTL_H_
|
|
|
|
|
|
|
|
#include FT_INTERNAL_SERVICE_H
|
Move struct declarations to `freetype/internal'.
NOTE: Does not compile!
This is so that the CFF functions moved to `psaux' can access the
same structs that they need.
* src/cff/cfftypes.h: Moved to...
* include/freetype/internal/cfftypes.h: ...Here.
* src/cff/cffobjs.h: Moved the struct declarations to...
* include/freetype/internal/cffotypes.h: ... this new file.
* include/freetype/internal/internal.h (FT_INTERNAL_CFF_TYPES_H,
FT_INTERNAL_CFF_OBJECT_TYPES_H): New macros.
* src/cff/cffcmap.h, src/cff/cffdrivr.c, src/cff/cffgload.c,
src/cff/cffgload.h, src/cff/cffload.h, src/cff/cffobjs.c,
src/cff/cffobjs.h, src/cff/cffparse.h, src/psaux/psobjs.h,
include/freetype/internal/psaux.h,
include/freetype/internal/services/svcfftl.h: Update includes.
* src/cff/rules.mk (CFF_DRV_H): Updated.
2017-09-24 22:28:07 +02:00
|
|
|
#include FT_INTERNAL_CFF_TYPES_H
|
2017-09-24 22:20:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
FT_BEGIN_HEADER
|
|
|
|
|
|
|
|
|
|
|
|
#define FT_SERVICE_ID_CFF_LOAD "cff-load"
|
|
|
|
|
|
|
|
|
|
|
|
typedef FT_UShort
|
|
|
|
(*FT_Get_Standard_Encoding_Func)( FT_UInt charcode );
|
|
|
|
|
|
|
|
typedef FT_Error
|
|
|
|
(*FT_Load_Private_Dict_Func)( CFF_Font font,
|
|
|
|
CFF_SubFont subfont,
|
|
|
|
FT_UInt lenNDV,
|
|
|
|
FT_Fixed* NDV );
|
|
|
|
|
|
|
|
typedef FT_Byte
|
|
|
|
(*FT_FD_Select_Get_Func)( CFF_FDSelect fdselect,
|
|
|
|
FT_UInt glyph_index );
|
|
|
|
|
|
|
|
typedef FT_Bool
|
|
|
|
(*FT_Blend_Check_Vector_Func)( CFF_Blend blend,
|
|
|
|
FT_UInt vsindex,
|
|
|
|
FT_UInt lenNDV,
|
|
|
|
FT_Fixed* NDV );
|
|
|
|
|
|
|
|
typedef FT_Error
|
|
|
|
(*FT_Blend_Build_Vector_Func)( CFF_Blend blend,
|
|
|
|
FT_UInt vsindex,
|
|
|
|
FT_UInt lenNDV,
|
|
|
|
FT_Fixed* NDV );
|
|
|
|
|
|
|
|
|
|
|
|
FT_DEFINE_SERVICE( CFFLoad )
|
|
|
|
{
|
|
|
|
FT_Get_Standard_Encoding_Func get_standard_encoding;
|
|
|
|
FT_Load_Private_Dict_Func load_private_dict;
|
|
|
|
FT_FD_Select_Get_Func fd_select_get;
|
|
|
|
FT_Blend_Check_Vector_Func blend_check_vector;
|
|
|
|
FT_Blend_Build_Vector_Func blend_build_vector;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#define FT_DEFINE_SERVICE_CFFLOADREC( class_, \
|
|
|
|
get_standard_encoding_, \
|
|
|
|
load_private_dict_, \
|
|
|
|
fd_select_get_, \
|
|
|
|
blend_check_vector_, \
|
|
|
|
blend_build_vector_ ) \
|
|
|
|
static const FT_Service_CFFLoadRec class_ = \
|
|
|
|
{ \
|
|
|
|
get_standard_encoding_, \
|
|
|
|
load_private_dict_, \
|
|
|
|
fd_select_get_, \
|
|
|
|
blend_check_vector_, \
|
|
|
|
blend_build_vector_ \
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
FT_END_HEADER
|
|
|
|
|
2017-09-26 12:53:41 +02:00
|
|
|
|
2017-09-24 22:20:38 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/* END */
|