20 #include FT_INTERNAL_DEBUG_H
21 #include FT_INTERNAL_STREAM_H
22 #include FT_INTERNAL_SFNT_H
23 #include FT_SERVICE_XFREE86_NAME_H
25 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
26 #include FT_MULTIPLE_MASTERS_H
27 #include FT_SERVICE_MULTIPLE_MASTERS_H
30 #include FT_SERVICE_TRUETYPE_ENGINE_H
31 #include FT_SERVICE_TRUETYPE_GLYF_H
37 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
52 #define FT_COMPONENT trace_ttdriver
69 #define PAIR_TAG( left, right ) ( ( (FT_ULong)left << 16 ) | \
119 kerning->
x = sfnt->
get_kerning( face, left_glyph, right_glyph );
143 for ( nn = 0; nn <
count; nn++ )
155 for ( nn = 0; nn <
count; nn++ )
182 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
193 ttsize->strike_index = strike_index;
210 ttsize->strike_index = 0xFFFFFFFFUL;
227 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
236 error = sfnt->set_sbit_strike( ttface, req, &strike_index );
241 return tt_size_select( size, strike_index );
288 FT_Int32 load_flags )
297 return TT_Err_Invalid_Slot_Handle;
300 return TT_Err_Invalid_Size_Handle;
303 return TT_Err_Invalid_Argument;
305 #ifdef FT_CONFIG_OPTION_INCREMENTAL
307 !face->
internal->incremental_interface )
311 return TT_Err_Invalid_Argument;
319 load_flags &= ~FT_LOAD_NO_HINTING;
330 load_flags |= FT_LOAD_NO_HINTING;
334 error =
TT_Load_Glyph( size, slot, glyph_index, load_flags );
355 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
367 #ifdef TT_USE_BYTECODE_INTERPRETER
369 #ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
386 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
403 const char* tt_interface )
412 #ifdef FT_CONFIG_OPTION_PIC
415 library = driver->library;
421 if ( result != NULL )
424 #ifndef FT_CONFIG_OPTION_PIC
427 library = driver->library;
447 #ifdef TT_USE_BYTECODE_INTERPRETER
448 #define TT_HINTER_FLAG FT_MODULE_DRIVER_HAS_HINTER
450 #define TT_HINTER_FLAG 0
453 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
454 #define TT_SIZE_SELECT tt_size_select
456 #define TT_SIZE_SELECT 0
488 ft_stub_set_char_sizes,
489 ft_stub_set_pixel_sizes,
#define FT_SERVICE_ID_MULTI_MASTERS
ft_service_list_lookup(FT_ServiceDesc service_descriptors, const char *service_id)
#define FT_LOAD_VERTICAL_LAYOUT
static FT_Error tt_get_advances(FT_Face ttface, FT_UInt start, FT_UInt count, FT_Int32 flags, FT_Fixed *advances)
TT_Load_Strike_Metrics_Func load_strike_metrics
SFNT_Interface * SFNT_Service
#define FT_TT_SERVICE_TRUETYPE_GLYF_GET
tt_size_done(FT_Size ttsize)
FT_SERVICE_ID_TRUETYPE_ENGINE
FT_Select_Metrics(FT_Face face, FT_ULong strike_index)
#define FT_LOAD_NO_HINTING
GLuint GLsizei GLsizei GLfloat * metrics
tt_slot_init(FT_GlyphSlot slot)
#define FT_LOAD_NO_RECURSE
FT_Error(* FT_Get_MM_Func)(FT_Face face, FT_Multi_Master *master)
#define FT_MODULE_DRIVER_SCALABLE
tt_size_init(FT_Size ttsize)
FT_Face_Internal internal
FT_GlyphSlot TT_GlyphSlot
tt_face_init(FT_Stream stream, FT_Face ttface, FT_Int face_index, FT_Int num_params, FT_Parameter *params)
FT_ULong(* TT_Glyf_GetLocationFunc)(FT_Face face, FT_UInt gindex, FT_ULong *psize)
tt_size_reset(TT_Size size)
TT_Get_MM_Var(TT_Face face, FT_MM_Var **master)
TT_CMap_Info_GetFunc tt_get_cmap_info FT_DEFINE_SERVICEDESCREC3(sfnt_services, FT_SERVICE_ID_SFNT_TABLE,&FT_SFNT_SERVICE_SFNT_TABLE_GET, FT_SERVICE_ID_POSTSCRIPT_FONT_NAME,&FT_SFNT_SERVICE_PS_NAME_GET, FT_SERVICE_ID_TT_CMAP,&FT_TT_SERVICE_GET_CMAP_INFO_GET) sfnt_get_interface(FT_Module module
TT_Get_VMetrics(TT_Face face, FT_UInt idx, FT_Short *tsb, FT_UShort *ah)
#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_,get_mm_,set_mm_design_,set_mm_blend_,get_mm_var_,set_var_design_)
struct TT_FaceRec_ * TT_Face
#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_Request_Metrics(FT_Face face, FT_Size_Request req)
TT_Face_GetKerningFunc get_kerning
#define FT_SERVICE_ID_XF86_NAME
TT_Get_HMetrics(TT_Face face, FT_UInt idx, FT_Short *lsb, FT_UShort *aw)
FT_Error(* FT_Set_MM_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
#define FT_HAS_FIXED_SIZES(face)
FT_Error(* FT_Get_MM_Var_Func)(FT_Face face, FT_MM_Var **master)
tt_driver_done(FT_Module ttdriver)
#define FT_IS_TRICKY(face)
FT_Pointer FT_Module_Interface
#define FT_TT_SERVICES_GET
const void * module_interface
TT_Set_MM_Blend(TT_Face face, FT_UInt num_coords, FT_Fixed *coords)
#define FT_TT_SERVICE_GX_MULTI_MASTERS_GET
#define FT_CALLBACK_DEF(x)
FT_Error(* FT_Set_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
#define FT_MODULE_FONT_DRIVER
TT_Set_Var_Design(TT_Face face, FT_UInt num_coords, FT_Fixed *coords)
static const FT_Service_TrueTypeEngineRec tt_service_truetype_engine
tt_face_done(FT_Face ttface)
static FT_Error tt_glyph_load(FT_GlyphSlot ttslot, FT_Size ttsize, FT_UInt glyph_index, FT_Int32 load_flags)
GLenum GLsizei GLsizei GLsizei GLsizei GLbitfield flags
FT_DEFINE_SERVICE_TTGLYFREC(tt_service_truetype_glyf,(TT_Glyf_GetLocationFunc) tt_face_get_location) FT_DEFINE_SERVICEDESCREC3(tt_services
FT_Module_Requester get_interface
static FT_Error tt_get_kerning(FT_Face ttface, FT_UInt left_glyph, FT_UInt right_glyph, FT_Vector *kerning)
&FT_TT_SERVICE_TRUETYPE_GLYF_GET tt_get_interface(FT_Module driver, const char *tt_interface)
tt_driver_init(FT_Module ttdriver)
#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_,old_set_char_sizes_, old_set_pixel_sizes_,load_glyph_, get_kerning_, attach_file_,get_advances_, request_size_, select_size_)
#define FT_LOAD_NO_AUTOHINT
FT_Get_Module(FT_Library library, const char *module_name)
static FT_Error tt_size_request(FT_Size size, FT_Size_Request req)
#define FT_LOAD_NO_BITMAP
TT_Load_Glyph(TT_Size size, TT_GlyphSlot glyph, FT_UInt glyph_index, FT_Int32 load_flags)
#define FT_IS_SCALABLE(face)
FT_Error(* FT_Set_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
struct TT_SizeRec_ * TT_Size
tt_face_get_location(TT_Face face, FT_UInt gindex, FT_UInt *asize)