20#include FT_INTERNAL_DEBUG_H
21#include FT_INTERNAL_STREAM_H
22#include FT_INTERNAL_SFNT_H
23#include FT_SERVICE_FONT_FORMAT_H
25#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
26#include FT_MULTIPLE_MASTERS_H
27#include FT_SERVICE_MULTIPLE_MASTERS_H
28#include FT_SERVICE_METRICS_VARIATIONS_H
31#include FT_SERVICE_TRUETYPE_ENGINE_H
32#include FT_SERVICE_TRUETYPE_GLYF_H
33#include FT_SERVICE_PROPERTIES_H
40#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
55#define FT_COMPONENT trace_ttdriver
64 const char* property_name,
71#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
76 if ( !
ft_strcmp( property_name,
"interpreter-version" ) )
81#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
82 if ( value_is_string )
84 const char*
s = (
const char*)
value;
95 interpreter_version = *iv;
106 driver->interpreter_version = interpreter_version;
113 FT_TRACE0((
"tt_property_set: missing property `%s'\n",
115 return FT_THROW( Missing_Property );
121 const char* property_name,
130 if ( !
ft_strcmp( property_name,
"interpreter-version" ) )
135 *
val = interpreter_version;
140 FT_TRACE0((
"tt_property_get: missing property `%s'\n",
142 return FT_THROW( Missing_Property );
147 tt_service_properties,
200 tt_get_kerning(
FT_Face ttface,
220 tt_get_advances(
FT_Face ttface,
234#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
238 return FT_THROW( Unimplemented_Feature );
241 for ( nn = 0; nn <
count; nn++ )
254#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
258 return FT_THROW( Unimplemented_Feature );
261 for ( nn = 0; nn <
count; nn++ )
289#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
300 ttsize->strike_index = strike_index;
319 ttsize->strike_index = 0xFFFFFFFFUL;
336#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
350 return tt_size_select(
size, strike_index );
361#ifdef TT_USE_BYTECODE_INTERPRETER
417 FT_Int32 load_flags )
426 return FT_THROW( Invalid_Slot_Handle );
429 return FT_THROW( Invalid_Size_Handle );
432 return FT_THROW( Invalid_Face_Handle );
434#ifdef FT_CONFIG_OPTION_INCREMENTAL
436 !
face->internal->incremental_interface )
440 return FT_THROW( Invalid_Argument );
448 load_flags &= ~FT_LOAD_NO_HINTING;
465 : &
size->hinted_metrics;
489#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
492 tt_service_gx_multi_masters,
508 tt_service_metrics_variations,
527#ifdef TT_USE_BYTECODE_INTERPRETER
540 tt_service_truetype_glyf,
546#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
569 const char* tt_interface )
578#ifdef FT_CONFIG_OPTION_PIC
590#ifndef FT_CONFIG_OPTION_PIC
613#ifdef TT_USE_BYTECODE_INTERPRETER
614#define TT_HINTER_FLAG FT_MODULE_DRIVER_HAS_HINTER
616#define TT_HINTER_FLAG 0
619#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
620#define TT_SIZE_SELECT tt_size_select
622#define TT_SIZE_SELECT 0
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
#define FT_LOAD_VERTICAL_LAYOUT
#define FT_LOAD_NO_BITMAP
@ FT_SIZE_REQUEST_TYPE_SCALES
#define FT_LOAD_NO_RECURSE
#define FT_LOAD_NO_HINTING
#define FT_HAS_FIXED_SIZES(face)
#define FT_IS_SCALABLE(face)
#define FT_IS_VARIATION(face)
#define FT_IS_NAMED_INSTANCE(face)
#define FT_LOAD_NO_AUTOHINT
#define FT_IS_TRICKY(face)
FT_MulDiv(FT_Long a, FT_Long b, FT_Long c)
#define FT_CALLBACK_DEF(x)
#define FT_TRACE0(varformat)
#define TT_INTERPRETER_VERSION_38
#define TT_INTERPRETER_VERSION_40
#define TT_INTERPRETER_VERSION_35
#define FT_DEFINE_DRIVER( class_, flags_, size_, name_, version_, requires_, interface_, init_, done_, get_interface_, face_object_size_, size_object_size_, slot_object_size_, init_face_, done_face_, init_size_, done_size_, init_slot_, done_slot_, load_glyph_, get_kerning_, attach_file_, get_advances_, request_size_, select_size_)
#define FT_MODULE_FONT_DRIVER
@ FT_TRUETYPE_ENGINE_TYPE_NONE
@ FT_TRUETYPE_ENGINE_TYPE_PATENTED
FT_Get_Module(FT_Library library, const char *module_name)
#define FT_MODULE_DRIVER_SCALABLE
FT_Select_Metrics(FT_Face face, FT_ULong strike_index)
FT_Request_Metrics(FT_Face face, FT_Size_Request req)
#define FT_DEFINE_SERVICEDESCREC6(class_, serv_id_1, serv_data_1, serv_id_2, serv_data_2, serv_id_3, serv_data_3, serv_id_4, serv_data_4, serv_id_5, serv_data_5, serv_id_6, serv_data_6)
#define FT_DEFINE_SERVICEDESCREC4(class_, serv_id_1, serv_data_1, serv_id_2, serv_data_2, serv_id_3, serv_data_3, serv_id_4, serv_data_4)
ft_service_list_lookup(FT_ServiceDesc service_descriptors, const char *service_id)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLuint GLuint GLsizei count
GLenum GLuint GLint GLenum face
struct @1673::@1674 driver
SFNT_Interface * SFNT_Service
const void * module_interface
FT_Size_Request_Type type
TT_Load_Strike_Metrics_Func load_strike_metrics
FT_Module_Requester get_interface
TT_Face_GetKerningFunc get_kerning
TT_Set_SBit_Strike_Func set_sbit_strike
FT_Size_Metrics * metrics
TT_Size_Metrics ttmetrics
FT_Error(* FT_HAdvance_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
void(* FT_Metrics_Adjust_Func)(FT_Face face)
FT_Error(* FT_VOrg_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
#define FT_SERVICE_ID_METRICS_VARIATIONS
FT_Error(* FT_LSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
FT_Error(* FT_TSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
FT_Error(* FT_RSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
FT_Error(* FT_VAdvance_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC(class_, hadvance_adjust_, lsb_adjust_, rsb_adjust_, vadvance_adjust_, tsb_adjust_, bsb_adjust_, vorg_adjust_, metrics_adjust_)
FT_Error(* FT_BSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
FT_Error(* FT_Set_Instance_Func)(FT_Face face, FT_UInt instance_index)
FT_Error(* FT_Set_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
FT_Error(* FT_Get_MM_Func)(FT_Face face, FT_Multi_Master *master)
FT_Error(* FT_Set_MM_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, set_mm_blend_, get_mm_blend_, get_mm_var_, set_var_design_, get_var_design_, set_instance_, get_var_blend_, done_blend_)
FT_Error(* FT_Get_MM_Var_Func)(FT_Face face, FT_MM_Var **master)
FT_Error(* FT_Get_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
#define FT_SERVICE_ID_MULTI_MASTERS
void(* FT_Done_Blend_Func)(FT_Face)
FT_Error(* FT_Get_Var_Blend_Func)(FT_Face face, FT_UInt *num_coords, FT_Fixed **coords, FT_Fixed **normalizedcoords, FT_MM_Var **mm_var)
FT_Error(* FT_Get_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
FT_Error(* FT_Set_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
#define FT_DEFINE_SERVICE_PROPERTIESREC(class_, set_property_, get_property_)
FT_Error(* FT_Properties_GetFunc)(FT_Module module, const char *property_name, void *value)
FT_Error(* FT_Properties_SetFunc)(FT_Module module, const char *property_name, const void *value, FT_Bool value_is_string)
#define FT_DEFINE_SERVICE_TTGLYFREC(class_, get_location_)
FT_ULong(* TT_Glyf_GetLocationFunc)(FT_Face face, FT_UInt gindex, FT_ULong *psize)
FT_UInt FT_UInt FT_Vector * kerning
FT_SERVICE_ID_TRUETYPE_ENGINE
&TT_SERVICE_PROPERTIES_GET tt_get_interface(FT_Module driver, const char *tt_interface)
static FT_Error tt_size_request(FT_Size size, FT_Size_Request req)
& TT_SERVICE_TRUETYPE_GLYF_GET
static FT_Error tt_property_set(FT_Module module, const char *property_name, const void *value, FT_Bool value_is_string)
static const FT_Service_TrueTypeEngineRec tt_service_truetype_engine
static FT_Error tt_glyph_load(FT_GlyphSlot ttslot, FT_Size ttsize, FT_UInt glyph_index, FT_Int32 load_flags)
static FT_Error tt_property_get(FT_Module module, const char *property_name, const void *value)
FT_UInt FT_UInt right_glyph
FT_SERVICE_ID_FONT_FORMAT
TT_Load_Glyph(TT_Size size, TT_GlyphSlot glyph, FT_UInt glyph_index, FT_Int32 load_flags)
TT_Get_HMetrics(TT_Face face, FT_UInt idx, FT_Short *lsb, FT_UShort *aw)
TT_Get_VMetrics(TT_Face face, FT_UInt idx, FT_Pos yMax, FT_Short *tsb, FT_UShort *ah)
tt_face_init(FT_Stream stream, FT_Face ttface, FT_Int face_index, FT_Int num_params, FT_Parameter *params)
tt_size_init(FT_Size ttsize)
tt_size_done(FT_Size ttsize)
tt_slot_init(FT_GlyphSlot slot)
tt_size_reset(TT_Size size, FT_Bool only_height)
tt_driver_init(FT_Module ttdriver)
tt_face_done(FT_Face ttface)
tt_driver_done(FT_Module ttdriver)
typedefFT_BEGIN_HEADER struct TT_DriverRec_ * TT_Driver
FT_GlyphSlot TT_GlyphSlot
#define TT_SERVICE_PROPERTIES_GET
#define TT_SERVICE_GX_MULTI_MASTERS_GET
#define TT_SERVICE_METRICS_VARIATIONS_GET
tt_face_get_location(TT_Face face, FT_UInt gindex, FT_UInt *asize)
#define TT_FACE_FLAG_VAR_HADVANCE
struct TT_FaceRec_ * TT_Face
struct TT_SizeRec_ * TT_Size
#define TT_FACE_FLAG_VAR_VADVANCE