#include <ft2build.h>
#include "ttdriver.h"
#include "ttgload.h"
#include "ttpload.h"
#include "tterrors.h"
#include "ttpic.h"
Go to the source code of this file.
|
static FT_Error | tt_property_set (FT_Module module, const char *property_name, const void *value, FT_Bool value_is_string) |
|
static FT_Error | tt_property_get (FT_Module module, const char *property_name, const void *value) |
|
| FT_DEFINE_SERVICE_PROPERTIESREC (tt_service_properties,(FT_Properties_SetFunc) tt_property_set,(FT_Properties_GetFunc) tt_property_get) static FT_Error tt_get_kerning(FT_Face ttface |
|
| if (sfnt) |
|
static FT_Error | tt_size_request (FT_Size size, FT_Size_Request req) |
|
static FT_Error | tt_glyph_load (FT_GlyphSlot ttslot, FT_Size ttsize, FT_UInt glyph_index, FT_Int32 load_flags) |
|
| FT_DEFINE_SERVICE_TTGLYFREC (tt_service_truetype_glyf,(TT_Glyf_GetLocationFunc) tt_face_get_location) FT_DEFINE_SERVICEDESCREC4(tt_services |
|
&TT_SERVICE_PROPERTIES_GET | tt_get_interface (FT_Module driver, const char *tt_interface) |
|
◆ FT_COMPONENT
#define FT_COMPONENT trace_ttdriver |
◆ TT_HINTER_FLAG
◆ TT_SIZE_SELECT
◆ FT_DEFINE_SERVICE_PROPERTIESREC()
◆ FT_DEFINE_SERVICE_TTGLYFREC()
◆ if()
Definition at line 212 of file ttdriver.c.
225 {
228
229
230
231
233 {
234#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
235
238 return FT_THROW( Unimplemented_Feature );
239#endif
240
241 for ( nn = 0; nn <
count; nn++ )
242 {
245
246
247
249 advances[nn] = ah;
250 }
251 }
252 else
253 {
254#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
255
258 return FT_THROW( Unimplemented_Feature );
259#endif
260
261 for ( nn = 0; nn <
count; nn++ )
262 {
265
266
268 advances[nn] = aw;
269 }
270 }
271
273 }
#define FT_LOAD_VERTICAL_LAYOUT
#define FT_IS_VARIATION(face)
#define FT_IS_NAMED_INSTANCE(face)
GLuint GLuint GLsizei count
GLenum GLuint GLint GLenum face
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)
#define TT_FACE_FLAG_VAR_HADVANCE
struct TT_FaceRec_ * TT_Face
#define TT_FACE_FLAG_VAR_VADVANCE
◆ tt_get_interface()
Definition at line 568 of file ttdriver.c.
570 {
575
576
577
578#ifdef FT_CONFIG_OPTION_PIC
584#endif
585
589
590#ifndef FT_CONFIG_OPTION_PIC
596#endif
597
598
600 if ( sfntd )
601 {
605 }
606
607 return 0;
608 }
FT_Get_Module(FT_Library library, const char *module_name)
ft_service_list_lookup(FT_ServiceDesc service_descriptors, const char *service_id)
struct @1673::@1674 driver
SFNT_Interface * SFNT_Service
const void * module_interface
FT_Module_Requester get_interface
◆ tt_glyph_load()
Definition at line 414 of file ttdriver.c.
418 {
423
424
426 return FT_THROW( Invalid_Slot_Handle );
427
429 return FT_THROW( Invalid_Size_Handle );
430
432 return FT_THROW( Invalid_Face_Handle );
433
434#ifdef FT_CONFIG_OPTION_INCREMENTAL
436 !
face->internal->incremental_interface )
437#else
439#endif
440 return FT_THROW( Invalid_Argument );
441
443 {
444
445
446
448 load_flags &= ~FT_LOAD_NO_HINTING;
449
452 }
453
455 {
457
460 }
461
462
465 : &
size->hinted_metrics;
466
467
469
470
471
472
474 }
#define FT_LOAD_NO_BITMAP
#define FT_LOAD_NO_RECURSE
#define FT_LOAD_NO_HINTING
#define FT_LOAD_NO_AUTOHINT
#define FT_IS_TRICKY(face)
TT_Load_Glyph(TT_Size size, TT_GlyphSlot glyph, FT_UInt glyph_index, FT_Int32 load_flags)
FT_GlyphSlot TT_GlyphSlot
struct TT_SizeRec_ * TT_Size
◆ tt_property_get()
Definition at line 120 of file ttdriver.c.
123 {
126
128
129
130 if ( !
ft_strcmp( property_name,
"interpreter-version" ) )
131 {
133
134
135 *
val = interpreter_version;
136
138 }
139
140 FT_TRACE0((
"tt_property_get: missing property `%s'\n",
141 property_name ));
142 return FT_THROW( Missing_Property );
143 }
#define FT_TRACE0(varformat)
typedefFT_BEGIN_HEADER struct TT_DriverRec_ * TT_Driver
◆ tt_property_set()
Definition at line 63 of file ttdriver.c.
67 {
70
71#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
73#endif
74
75
76 if ( !
ft_strcmp( property_name,
"interpreter-version" ) )
77 {
79
80
81#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
82 if ( value_is_string )
83 {
84 const char*
s = (
const char*)
value;
85
86
88 }
89 else
90#endif
91 {
93
94
95 interpreter_version = *iv;
96 }
97
101#endif
104#endif
105 )
106 driver->interpreter_version = interpreter_version;
107 else
109
111 }
112
113 FT_TRACE0((
"tt_property_set: missing property `%s'\n",
114 property_name ));
115 return FT_THROW( Missing_Property );
116 }
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
#define TT_INTERPRETER_VERSION_38
#define TT_INTERPRETER_VERSION_40
#define TT_INTERPRETER_VERSION_35
◆ tt_size_request()
Definition at line 329 of file ttdriver.c.
331 {
334
335
336#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
337
339 {
343
344
346
349 else
350 return tt_size_select(
size, strike_index );
351 }
352
353#endif
354
356
358 {
360
361#ifdef TT_USE_BYTECODE_INTERPRETER
362
364 {
369
370
371
373 !resolution )
374 resolution = 72;
375
377 64 * 72,
378 resolution );
379 }
380#endif
381 }
382
384 }
@ FT_SIZE_REQUEST_TYPE_SCALES
#define FT_HAS_FIXED_SIZES(face)
#define FT_IS_SCALABLE(face)
FT_MulDiv(FT_Long a, FT_Long b, FT_Long c)
FT_Request_Metrics(FT_Face face, FT_Size_Request req)
FT_Size_Request_Type type
TT_Set_SBit_Strike_Func set_sbit_strike
FT_Size_Metrics * metrics
TT_Size_Metrics ttmetrics
tt_size_reset(TT_Size size, FT_Bool only_height)
◆ FT_FONT_FORMAT_TRUETYPE
◆ FT_SERVICE_ID_FONT_FORMAT
FT_SERVICE_ID_FONT_FORMAT |
◆ FT_SERVICE_ID_PROPERTIES
◆ FT_SERVICE_ID_TRUETYPE_ENGINE
FT_SERVICE_ID_TRUETYPE_ENGINE |
◆ FT_SERVICE_ID_TT_GLYF
◆ kerning
◆ left_glyph
◆ right_glyph
◆ sfnt
Definition at line 206 of file ttdriver.c.
Referenced by cff_face_done(), cff_face_init(), cff_get_interface(), cff_get_kerning(), cff_size_request(), cff_slot_load(), check_table_dir(), FT_DEFINE_SERVICE_PSINFOREC(), if(), ScriptShapeOpenType(), sfnt_done_face(), sfnt_init_face(), sfnt_load_face(), tt_face_done(), tt_face_init(), tt_face_load_font_dir(), tt_get_interface(), tt_size_request(), and woff_open_font().
◆ tt_service_truetype_engine
& tt_service_truetype_engine |
|
static |
Initial value:=
{
}
@ FT_TRUETYPE_ENGINE_TYPE_NONE
Definition at line 525 of file ttdriver.c.
◆ TT_SERVICE_TRUETYPE_GLYF_GET
& TT_SERVICE_TRUETYPE_GLYF_GET |