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 ) | \ 106 tt_get_kerning(
FT_Face ttface,
119 kerning->
x = sfnt->
get_kerning( face, left_glyph, right_glyph );
129 tt_get_advances(
FT_Face ttface,
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 );
297 return FT_THROW( Invalid_Slot_Handle );
300 return FT_THROW( Invalid_Size_Handle );
303 return FT_THROW( Invalid_Argument );
305 #ifdef FT_CONFIG_OPTION_INCREMENTAL 307 !face->
internal->incremental_interface )
311 return FT_THROW( Invalid_Argument );
319 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 357 tt_service_gx_multi_masters,
365 static const FT_Service_TrueTypeEngineRec tt_service_truetype_engine =
367 #ifdef TT_USE_BYTECODE_INTERPRETER 369 #ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING 383 tt_service_truetype_glyf,
386 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT 404 const char* tt_interface )
413 #ifdef FT_CONFIG_OPTION_PIC 416 library = driver->library;
422 if ( result !=
NULL )
425 #ifndef FT_CONFIG_OPTION_PIC 428 library = driver->library;
448 #ifdef TT_USE_BYTECODE_INTERPRETER 449 #define TT_HINTER_FLAG FT_MODULE_DRIVER_HAS_HINTER 451 #define TT_HINTER_FLAG 0 454 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS 455 #define TT_SIZE_SELECT tt_size_select 457 #define TT_SIZE_SELECT 0 489 ft_stub_set_char_sizes,
490 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
TT_Load_Strike_Metrics_Func load_strike_metrics
SFNT_Interface * SFNT_Service
tt_size_done(FT_Size ttsize)
FT_SERVICE_ID_TRUETYPE_ENGINE
FT_Select_Metrics(FT_Face face, FT_ULong strike_index)
FT_Error(* FT_Set_MM_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
#define FT_LOAD_NO_HINTING
return FT_THROW(Missing_Property)
tt_slot_init(FT_GlyphSlot slot)
#define FT_LOAD_NO_RECURSE
#define FT_MODULE_DRIVER_SCALABLE
tt_size_init(FT_Size ttsize)
#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)
#define TT_SERVICE_TRUETYPE_GLYF_GET
FT_ULong(* TT_Glyf_GetLocationFunc)(FT_Face face, FT_UInt gindex, FT_ULong *psize)
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)
GLenum GLuint GLint GLenum face
tt_size_reset(TT_Size size)
#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_)
TT_Get_MM_Var(TT_Face face, FT_MM_Var **master)
TT_Get_VMetrics(TT_Face face, FT_UInt idx, FT_Short *tsb, FT_UShort *ah)
struct TT_FaceRec_ * TT_Face
TT_CMap_Info_GetFunc tt_get_cmap_info FT_DEFINE_SERVICEDESCREC3(sfnt_services, FT_SERVICE_ID_SFNT_TABLE, &SFNT_SERVICE_SFNT_TABLE_GET, FT_SERVICE_ID_POSTSCRIPT_FONT_NAME, &SFNT_SERVICE_PS_NAME_GET, FT_SERVICE_ID_TT_CMAP, &TT_SERVICE_CMAP_INFO_GET) sfnt_get_interface(FT_Module module
FT_Request_Metrics(FT_Face face, FT_Size_Request req)
TT_Face_GetKerningFunc get_kerning
TT_Get_HMetrics(TT_Face face, FT_UInt idx, FT_Short *lsb, FT_UShort *aw)
#define FT_HAS_FIXED_SIZES(face)
tt_driver_done(FT_Module ttdriver)
#define FT_IS_TRICKY(face)
FT_Pointer FT_Module_Interface
&TT_SERVICE_TRUETYPE_GLYF_GET tt_get_interface(FT_Module driver, const char *tt_interface)
const void * module_interface
FT_Error(* FT_Set_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
TT_Set_MM_Blend(TT_Face face, FT_UInt num_coords, FT_Fixed *coords)
#define FT_CALLBACK_DEF(x)
#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_)
FT_Error(* FT_Set_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
#define FT_MODULE_FONT_DRIVER
TT_Set_Var_Design(TT_Face face, FT_UInt num_coords, FT_Fixed *coords)
tt_face_done(FT_Face ttface)
if(!abbox) return FT_THROW(Invalid_Argument)
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
FT_Error(* FT_Get_MM_Func)(FT_Face face, FT_Multi_Master *master)
tt_driver_init(FT_Module ttdriver)
#define FT_LOAD_NO_AUTOHINT
FT_Get_Module(FT_Library library, const char *module_name)
GLuint GLuint GLsizei count
#define TT_SERVICE_GX_MULTI_MASTERS_GET
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
#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_Get_MM_Var_Func)(FT_Face face, FT_MM_Var **master)
struct TT_SizeRec_ * TT_Size
tt_face_get_location(TT_Face face, FT_UInt gindex, FT_UInt *asize)