ReactOS 0.4.16-dev-1067-ge98bba2
t1driver.c File Reference
#include <ft2build.h>
#include "t1driver.h"
#include "t1gload.h"
#include "t1load.h"
#include "t1errors.h"
#include "t1afm.h"
Include dependency graph for t1driver.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FT_COMPONENT   t1driver
 

Functions

static FT_Error t1_get_glyph_name (T1_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)
 
static FT_UInt t1_get_name_index (T1_Face face, FT_String *glyph_name)
 
static const chart1_get_ps_name (T1_Face face)
 
static FT_Error t1_ps_get_font_info (FT_Face face, PS_FontInfoRec *afont_info)
 
static FT_Error t1_ps_get_font_extra (FT_Face face, PS_FontExtraRec *afont_extra)
 
static FT_Int t1_ps_has_glyph_names (FT_Face face)
 
static FT_Error t1_ps_get_font_private (FT_Face face, PS_PrivateRec *afont_private)
 
static FT_Long t1_ps_get_font_value (FT_Face face, PS_Dict_Keys key, FT_UInt idx, void *value, FT_Long value_len_)
 
 FT_DEFINE_SERVICE_PROPERTIESREC (t1_service_properties,(FT_Properties_SetFunc) ps_property_set,(FT_Properties_GetFunc) ps_property_get) static const FT_ServiceDescRec t1_services[]
 
 Get_Interface (FT_Module module, const FT_String *t1_interface)
 
static FT_Error Get_Kerning (FT_Face t1face, FT_UInt left_glyph, FT_UInt right_glyph, FT_Vector *kerning)
 

Variables

static const FT_Service_GlyphDictRec t1_service_glyph_dict
 
static const FT_Service_PsFontNameRec t1_service_ps_name
 
static const FT_Service_MultiMastersRec t1_service_multi_masters
 
static const FT_Service_PsInfoRec t1_service_ps_info
 
static const FT_Service_KerningRec t1_service_kerning
 
FT_CALLBACK_TABLE_DEF const FT_Driver_ClassRec t1_driver_class
 

Macro Definition Documentation

◆ FT_COMPONENT

#define FT_COMPONENT   t1driver

Definition at line 53 of file t1driver.c.

Function Documentation

◆ FT_DEFINE_SERVICE_PROPERTIESREC()

FT_DEFINE_SERVICE_PROPERTIESREC ( t1_service_properties  ,
(FT_Properties_SetFunc ps_property_set,
(FT_Properties_GetFunc ps_property_get 
) const

◆ Get_Interface()

Get_Interface ( FT_Module  module,
const FT_String t1_interface 
)

Definition at line 678 of file t1driver.c.

680 {
681 FT_UNUSED( module );
682
683 return ft_service_list_lookup( t1_services, t1_interface );
684 }
#define FT_UNUSED(arg)
Definition: ftconfig.h:100
ft_service_list_lookup(FT_ServiceDesc service_descriptors, const char *service_id)
Definition: ftobjs.c:110

◆ Get_Kerning()

static FT_Error Get_Kerning ( FT_Face  t1face,
FT_UInt  left_glyph,
FT_UInt  right_glyph,
FT_Vector kerning 
)
static

Definition at line 726 of file t1driver.c.

730 {
731 T1_Face face = (T1_Face)t1face;
732
733
734 kerning->x = 0;
735 kerning->y = 0;
736
737 if ( face->afm_data )
738 T1_Get_Kerning( (AFM_FontInfo)face->afm_data,
741 kerning );
742
743 return FT_Err_Ok;
744 }
return FT_Err_Ok
Definition: ftbbox.c:527
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
FT_Pos x
Definition: ftimage.h:78
FT_Pos y
Definition: ftimage.h:79
T1_Get_Kerning(AFM_FontInfo fi, FT_UInt glyph1, FT_UInt glyph2, FT_Vector *kerning)
Definition: t1afm.c:330
struct T1_FaceRec_ * T1_Face
Definition: t1types.h:199
FT_UInt FT_UInt FT_Vector * kerning
Definition: ttdriver.c:207
FT_UInt left_glyph
Definition: ttdriver.c:204
FT_UInt FT_UInt right_glyph
Definition: ttdriver.c:205

◆ t1_get_glyph_name()

static FT_Error t1_get_glyph_name ( T1_Face  face,
FT_UInt  glyph_index,
FT_Pointer  buffer,
FT_UInt  buffer_max 
)
static

Definition at line 61 of file t1driver.c.

65 {
66 FT_STRCPYN( buffer, face->type1.glyph_names[glyph_index], buffer_max );
67
68 return FT_Err_Ok;
69 }
#define FT_STRCPYN(dst, src, size)
Definition: ftmemory.h:381
GLuint buffer
Definition: glext.h:5915

◆ t1_get_name_index()

static FT_UInt t1_get_name_index ( T1_Face  face,
FT_String glyph_name 
)
static

Definition at line 73 of file t1driver.c.

75 {
76 FT_Int i;
77
78
79 for ( i = 0; i < face->type1.num_glyphs; i++ )
80 {
81 FT_String* gname = face->type1.glyph_names[i];
82
83
84 if ( !ft_strcmp( glyph_name, gname ) )
85 return (FT_UInt)i;
86 }
87
88 return 0;
89 }
#define ft_strcmp
Definition: ftstdlib.h:86
char FT_String
Definition: fttypes.h:187
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

◆ t1_get_ps_name()

static const char * t1_get_ps_name ( T1_Face  face)
static

Definition at line 105 of file t1driver.c.

106 {
107 return (const char*) face->type1.font_name;
108 }

◆ t1_ps_get_font_extra()

static FT_Error t1_ps_get_font_extra ( FT_Face  face,
PS_FontExtraRec afont_extra 
)
static

Definition at line 158 of file t1driver.c.

160 {
161 *afont_extra = ((T1_Face)face)->type1.font_extra;
162
163 return FT_Err_Ok;
164 }

◆ t1_ps_get_font_info()

static FT_Error t1_ps_get_font_info ( FT_Face  face,
PS_FontInfoRec afont_info 
)
static

Definition at line 148 of file t1driver.c.

150 {
151 *afont_info = ((T1_Face)face)->type1.font_info;
152
153 return FT_Err_Ok;
154 }

◆ t1_ps_get_font_private()

static FT_Error t1_ps_get_font_private ( FT_Face  face,
PS_PrivateRec afont_private 
)
static

Definition at line 177 of file t1driver.c.

179 {
180 *afont_private = ((T1_Face)face)->type1.private_dict;
181
182 return FT_Err_Ok;
183 }

◆ t1_ps_get_font_value()

static FT_Long t1_ps_get_font_value ( FT_Face  face,
PS_Dict_Keys  key,
FT_UInt  idx,
void value,
FT_Long  value_len_ 
)
static

Definition at line 187 of file t1driver.c.

192 {
193 FT_ULong retval = 0; /* always >= 1 if valid */
194 FT_ULong value_len = value_len_ < 0 ? 0 : (FT_ULong)value_len_;
195
196 T1_Face t1face = (T1_Face)face;
197 T1_Font type1 = &t1face->type1;
198
199
200 switch ( key )
201 {
203 retval = sizeof ( type1->font_type );
204 if ( value && value_len >= retval )
205 *((FT_Byte *)value) = type1->font_type;
206 break;
207
209 if ( idx < sizeof ( type1->font_matrix ) /
210 sizeof ( type1->font_matrix.xx ) )
211 {
212 FT_Fixed val = 0;
213
214
215 retval = sizeof ( val );
216 if ( value && value_len >= retval )
217 {
218 switch ( idx )
219 {
220 case 0:
221 val = type1->font_matrix.xx;
222 break;
223 case 1:
224 val = type1->font_matrix.xy;
225 break;
226 case 2:
227 val = type1->font_matrix.yx;
228 break;
229 case 3:
230 val = type1->font_matrix.yy;
231 break;
232 }
233 *((FT_Fixed *)value) = val;
234 }
235 }
236 break;
237
239 if ( idx < sizeof ( type1->font_bbox ) /
240 sizeof ( type1->font_bbox.xMin ) )
241 {
242 FT_Fixed val = 0;
243
244
245 retval = sizeof ( val );
246 if ( value && value_len >= retval )
247 {
248 switch ( idx )
249 {
250 case 0:
251 val = type1->font_bbox.xMin;
252 break;
253 case 1:
254 val = type1->font_bbox.yMin;
255 break;
256 case 2:
257 val = type1->font_bbox.xMax;
258 break;
259 case 3:
260 val = type1->font_bbox.yMax;
261 break;
262 }
263 *((FT_Fixed *)value) = val;
264 }
265 }
266 break;
267
269 retval = sizeof ( type1->paint_type );
270 if ( value && value_len >= retval )
271 *((FT_Byte *)value) = type1->paint_type;
272 break;
273
275 if ( type1->font_name )
276 {
277 retval = ft_strlen( type1->font_name ) + 1;
278 if ( value && value_len >= retval )
279 ft_memcpy( value, (void *)( type1->font_name ), retval );
280 }
281 break;
282
284 retval = sizeof ( type1->private_dict.unique_id );
285 if ( value && value_len >= retval )
286 *((FT_Int *)value) = type1->private_dict.unique_id;
287 break;
288
290 retval = sizeof ( type1->num_glyphs );
291 if ( value && value_len >= retval )
292 *((FT_Int *)value) = type1->num_glyphs;
293 break;
294
296 if ( idx < (FT_UInt)type1->num_glyphs )
297 {
298 retval = ft_strlen( type1->glyph_names[idx] ) + 1;
299 if ( value && value_len >= retval )
300 {
301 ft_memcpy( value, (void *)( type1->glyph_names[idx] ), retval );
302 ((FT_Char *)value)[retval - 1] = (FT_Char)'\0';
303 }
304 }
305 break;
306
308 if ( idx < (FT_UInt)type1->num_glyphs )
309 {
310 retval = type1->charstrings_len[idx] + 1;
311 if ( value && value_len >= retval )
312 {
313 ft_memcpy( value, (void *)( type1->charstrings[idx] ),
314 retval - 1 );
315 ((FT_Char *)value)[retval - 1] = (FT_Char)'\0';
316 }
317 }
318 break;
319
321 retval = sizeof ( type1->encoding_type );
322 if ( value && value_len >= retval )
323 *((T1_EncodingType *)value) = type1->encoding_type;
324 break;
325
327 if ( type1->encoding_type == T1_ENCODING_TYPE_ARRAY &&
328 idx < (FT_UInt)type1->encoding.num_chars )
329 {
330 retval = ft_strlen( type1->encoding.char_name[idx] ) + 1;
331 if ( value && value_len >= retval )
332 {
333 ft_memcpy( value, (void *)( type1->encoding.char_name[idx] ),
334 retval - 1 );
335 ((FT_Char *)value)[retval - 1] = (FT_Char)'\0';
336 }
337 }
338 break;
339
341 retval = sizeof ( type1->num_subrs );
342 if ( value && value_len >= retval )
343 *((FT_Int *)value) = type1->num_subrs;
344 break;
345
346 case PS_DICT_SUBR:
347 {
348 FT_Bool ok = 0;
349
350
351 if ( type1->subrs_hash )
352 {
353 /* convert subr index to array index */
354 size_t* val = ft_hash_num_lookup( (FT_Int)idx,
355 type1->subrs_hash );
356
357
358 if ( val )
359 {
360 idx = *val;
361 ok = 1;
362 }
363 }
364 else
365 {
366 if ( idx < (FT_UInt)type1->num_subrs )
367 ok = 1;
368 }
369
370 if ( ok && type1->subrs )
371 {
372 retval = type1->subrs_len[idx] + 1;
373 if ( value && value_len >= retval )
374 {
375 ft_memcpy( value, (void *)( type1->subrs[idx] ), retval - 1 );
376 ((FT_Char *)value)[retval - 1] = (FT_Char)'\0';
377 }
378 }
379 }
380 break;
381
382 case PS_DICT_STD_HW:
383 retval = sizeof ( type1->private_dict.standard_width[0] );
384 if ( value && value_len >= retval )
385 *((FT_UShort *)value) = type1->private_dict.standard_width[0];
386 break;
387
388 case PS_DICT_STD_VW:
389 retval = sizeof ( type1->private_dict.standard_height[0] );
390 if ( value && value_len >= retval )
392 break;
393
395 retval = sizeof ( type1->private_dict.num_blue_values );
396 if ( value && value_len >= retval )
398 break;
399
401 if ( idx < type1->private_dict.num_blue_values )
402 {
403 retval = sizeof ( type1->private_dict.blue_values[idx] );
404 if ( value && value_len >= retval )
405 *((FT_Short *)value) = type1->private_dict.blue_values[idx];
406 }
407 break;
408
410 retval = sizeof ( type1->private_dict.blue_scale );
411 if ( value && value_len >= retval )
412 *((FT_Fixed *)value) = type1->private_dict.blue_scale;
413 break;
414
416 retval = sizeof ( type1->private_dict.blue_fuzz );
417 if ( value && value_len >= retval )
418 *((FT_Int *)value) = type1->private_dict.blue_fuzz;
419 break;
420
422 retval = sizeof ( type1->private_dict.blue_shift );
423 if ( value && value_len >= retval )
424 *((FT_Int *)value) = type1->private_dict.blue_shift;
425 break;
426
428 retval = sizeof ( type1->private_dict.num_other_blues );
429 if ( value && value_len >= retval )
431 break;
432
434 if ( idx < type1->private_dict.num_other_blues )
435 {
436 retval = sizeof ( type1->private_dict.other_blues[idx] );
437 if ( value && value_len >= retval )
438 *((FT_Short *)value) = type1->private_dict.other_blues[idx];
439 }
440 break;
441
443 retval = sizeof ( type1->private_dict.num_family_blues );
444 if ( value && value_len >= retval )
446 break;
447
449 if ( idx < type1->private_dict.num_family_blues )
450 {
451 retval = sizeof ( type1->private_dict.family_blues[idx] );
452 if ( value && value_len >= retval )
454 }
455 break;
456
458 retval = sizeof ( type1->private_dict.num_family_other_blues );
459 if ( value && value_len >= retval )
461 break;
462
464 if ( idx < type1->private_dict.num_family_other_blues )
465 {
466 retval = sizeof ( type1->private_dict.family_other_blues[idx] );
467 if ( value && value_len >= retval )
469 }
470 break;
471
473 retval = sizeof ( type1->private_dict.num_snap_widths );
474 if ( value && value_len >= retval )
476 break;
477
479 if ( idx < type1->private_dict.num_snap_widths )
480 {
481 retval = sizeof ( type1->private_dict.snap_widths[idx] );
482 if ( value && value_len >= retval )
483 *((FT_Short *)value) = type1->private_dict.snap_widths[idx];
484 }
485 break;
486
488 retval = sizeof ( type1->private_dict.num_snap_heights );
489 if ( value && value_len >= retval )
491 break;
492
494 if ( idx < type1->private_dict.num_snap_heights )
495 {
496 retval = sizeof ( type1->private_dict.snap_heights[idx] );
497 if ( value && value_len >= retval )
499 }
500 break;
501
503 retval = sizeof ( type1->private_dict.round_stem_up );
504 if ( value && value_len >= retval )
506 break;
507
509 retval = sizeof ( type1->private_dict.force_bold );
510 if ( value && value_len >= retval )
511 *((FT_Bool *)value) = type1->private_dict.force_bold;
512 break;
513
515 if ( idx < sizeof ( type1->private_dict.min_feature ) /
516 sizeof ( type1->private_dict.min_feature[0] ) )
517 {
518 retval = sizeof ( type1->private_dict.min_feature[idx] );
519 if ( value && value_len >= retval )
520 *((FT_Short *)value) = type1->private_dict.min_feature[idx];
521 }
522 break;
523
524 case PS_DICT_LEN_IV:
525 retval = sizeof ( type1->private_dict.lenIV );
526 if ( value && value_len >= retval )
527 *((FT_Int *)value) = type1->private_dict.lenIV;
528 break;
529
530 case PS_DICT_PASSWORD:
531 retval = sizeof ( type1->private_dict.password );
532 if ( value && value_len >= retval )
533 *((FT_Long *)value) = type1->private_dict.password;
534 break;
535
537 retval = sizeof ( type1->private_dict.language_group );
538 if ( value && value_len >= retval )
540 break;
541
543 retval = sizeof ( type1->font_info.is_fixed_pitch );
544 if ( value && value_len >= retval )
545 *((FT_Bool *)value) = type1->font_info.is_fixed_pitch;
546 break;
547
549 retval = sizeof ( type1->font_info.underline_position );
550 if ( value && value_len >= retval )
551 *((FT_Short *)value) = type1->font_info.underline_position;
552 break;
553
555 retval = sizeof ( type1->font_info.underline_thickness );
556 if ( value && value_len >= retval )
557 *((FT_UShort *)value) = type1->font_info.underline_thickness;
558 break;
559
560 case PS_DICT_FS_TYPE:
561 retval = sizeof ( type1->font_extra.fs_type );
562 if ( value && value_len >= retval )
563 *((FT_UShort *)value) = type1->font_extra.fs_type;
564 break;
565
566 case PS_DICT_VERSION:
567 if ( type1->font_info.version )
568 {
569 retval = ft_strlen( type1->font_info.version ) + 1;
570 if ( value && value_len >= retval )
571 ft_memcpy( value, (void *)( type1->font_info.version ), retval );
572 }
573 break;
574
575 case PS_DICT_NOTICE:
576 if ( type1->font_info.notice )
577 {
578 retval = ft_strlen( type1->font_info.notice ) + 1;
579 if ( value && value_len >= retval )
580 ft_memcpy( value, (void *)( type1->font_info.notice ), retval );
581 }
582 break;
583
585 if ( type1->font_info.full_name )
586 {
587 retval = ft_strlen( type1->font_info.full_name ) + 1;
588 if ( value && value_len >= retval )
589 ft_memcpy( value, (void *)( type1->font_info.full_name ), retval );
590 }
591 break;
592
594 if ( type1->font_info.family_name )
595 {
596 retval = ft_strlen( type1->font_info.family_name ) + 1;
597 if ( value && value_len >= retval )
598 ft_memcpy( value, (void *)( type1->font_info.family_name ),
599 retval );
600 }
601 break;
602
603 case PS_DICT_WEIGHT:
604 if ( type1->font_info.weight )
605 {
606 retval = ft_strlen( type1->font_info.weight ) + 1;
607 if ( value && value_len >= retval )
608 ft_memcpy( value, (void *)( type1->font_info.weight ), retval );
609 }
610 break;
611
613 retval = sizeof ( type1->font_info.italic_angle );
614 if ( value && value_len >= retval )
615 *((FT_Long *)value) = type1->font_info.italic_angle;
616 break;
617 }
618
619 return retval == 0 ? -1 : (FT_Long)retval;
620 }
#define ok(value,...)
Definition: atltest.h:57
unsigned int idx
Definition: utils.c:41
size_t * ft_hash_num_lookup(FT_Int num, FT_Hash hash)
Definition: fthash.c:327
#define ft_memcpy
Definition: ftstdlib.h:82
#define ft_strlen
Definition: ftstdlib.h:88
signed char FT_Char
Definition: fttypes.h:143
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:108
unsigned long FT_ULong
Definition: fttypes.h:253
unsigned char FT_Byte
Definition: fttypes.h:154
signed long FT_Fixed
Definition: fttypes.h:287
signed long FT_Long
Definition: fttypes.h:242
unsigned short FT_UShort
Definition: fttypes.h:209
signed short FT_Short
Definition: fttypes.h:198
GLuint GLfloat * val
Definition: glext.h:7180
FT_Pos xMin
Definition: ftimage.h:121
FT_Pos yMax
Definition: ftimage.h:122
FT_Pos yMin
Definition: ftimage.h:121
FT_Pos xMax
Definition: ftimage.h:122
FT_Fixed xx
Definition: fttypes.h:392
FT_Fixed yx
Definition: fttypes.h:393
FT_Fixed yy
Definition: fttypes.h:393
FT_Fixed xy
Definition: fttypes.h:392
FT_UShort fs_type
Definition: t1types.h:92
FT_Byte num_snap_widths
Definition: t1tables.h:160
FT_Byte num_other_blues
Definition: t1tables.h:143
FT_UShort standard_width[1]
Definition: t1tables.h:157
FT_Byte num_family_blues
Definition: t1tables.h:144
FT_Int blue_fuzz
Definition: t1tables.h:155
FT_Long password
Definition: t1tables.h:171
FT_Short snap_heights[13]
Definition: t1tables.h:166
FT_Short snap_widths[13]
Definition: t1tables.h:165
FT_Bool force_bold
Definition: t1tables.h:162
FT_Byte num_snap_heights
Definition: t1tables.h:161
FT_Short other_blues[10]
Definition: t1tables.h:148
FT_Byte num_family_other_blues
Definition: t1tables.h:145
FT_Int lenIV
Definition: t1tables.h:140
FT_UShort standard_height[1]
Definition: t1tables.h:158
FT_Bool round_stem_up
Definition: t1tables.h:163
FT_Short family_blues[14]
Definition: t1tables.h:150
FT_Int blue_shift
Definition: t1tables.h:154
FT_Short family_other_blues[10]
Definition: t1tables.h:151
FT_Short blue_values[14]
Definition: t1tables.h:147
FT_Byte num_blue_values
Definition: t1tables.h:142
FT_Int unique_id
Definition: t1tables.h:139
FT_Fixed blue_scale
Definition: t1tables.h:153
FT_Short min_feature[2]
Definition: t1tables.h:173
FT_Long language_group
Definition: t1tables.h:170
T1_FontRec type1
Definition: t1types.h:206
PS_PrivateRec private_dict
Definition: t1types.h:101
T1_EncodingType encoding_type
Definition: t1types.h:104
PS_FontInfoRec font_info
Definition: t1types.h:99
FT_Byte ** subrs
Definition: t1types.h:112
FT_Int num_glyphs
Definition: t1types.h:116
FT_UInt * charstrings_len
Definition: t1types.h:119
FT_String ** glyph_names
Definition: t1types.h:117
T1_EncodingRec encoding
Definition: t1types.h:105
FT_Byte paint_type
Definition: t1types.h:121
FT_BBox font_bbox
Definition: t1types.h:125
FT_String * font_name
Definition: t1types.h:102
FT_Matrix font_matrix
Definition: t1types.h:123
FT_Int num_subrs
Definition: t1types.h:111
PS_FontExtraRec font_extra
Definition: t1types.h:100
FT_Hash subrs_hash
Definition: t1types.h:114
FT_Byte font_type
Definition: t1types.h:122
FT_Byte ** charstrings
Definition: t1types.h:118
FT_UInt * subrs_len
Definition: t1types.h:113
Definition: copy.c:22
@ T1_ENCODING_TYPE_ARRAY
Definition: t1tables.h:567
@ PS_DICT_ITALIC_ANGLE
Definition: t1tables.h:687
@ PS_DICT_FONT_BBOX
Definition: t1tables.h:640
@ PS_DICT_NUM_BLUE_VALUES
Definition: t1tables.h:655
@ PS_DICT_WEIGHT
Definition: t1tables.h:682
@ PS_DICT_BLUE_SHIFT
Definition: t1tables.h:665
@ PS_DICT_FONT_NAME
Definition: t1tables.h:642
@ PS_DICT_NUM_STEM_SNAP_V
Definition: t1tables.h:668
@ PS_DICT_SUBR
Definition: t1tables.h:652
@ PS_DICT_PASSWORD
Definition: t1tables.h:674
@ PS_DICT_NUM_CHAR_STRINGS
Definition: t1tables.h:644
@ PS_DICT_STEM_SNAP_H
Definition: t1tables.h:667
@ PS_DICT_NUM_STEM_SNAP_H
Definition: t1tables.h:666
@ PS_DICT_BLUE_SCALE
Definition: t1tables.h:664
@ PS_DICT_ENCODING_ENTRY
Definition: t1tables.h:648
@ PS_DICT_FS_TYPE
Definition: t1tables.h:686
@ PS_DICT_FONT_MATRIX
Definition: t1tables.h:639
@ PS_DICT_NUM_FAMILY_OTHER_BLUES
Definition: t1tables.h:662
@ PS_DICT_IS_FIXED_PITCH
Definition: t1tables.h:683
@ PS_DICT_FAMILY_OTHER_BLUE
Definition: t1tables.h:663
@ PS_DICT_LANGUAGE_GROUP
Definition: t1tables.h:675
@ PS_DICT_NUM_SUBRS
Definition: t1tables.h:651
@ PS_DICT_FAMILY_NAME
Definition: t1tables.h:681
@ PS_DICT_LEN_IV
Definition: t1tables.h:673
@ PS_DICT_FONT_TYPE
Definition: t1tables.h:638
@ PS_DICT_FULL_NAME
Definition: t1tables.h:680
@ PS_DICT_STD_HW
Definition: t1tables.h:653
@ PS_DICT_NUM_FAMILY_BLUES
Definition: t1tables.h:660
@ PS_DICT_BLUE_VALUE
Definition: t1tables.h:656
@ PS_DICT_MIN_FEATURE
Definition: t1tables.h:672
@ PS_DICT_NOTICE
Definition: t1tables.h:679
@ PS_DICT_STEM_SNAP_V
Definition: t1tables.h:669
@ PS_DICT_NUM_OTHER_BLUES
Definition: t1tables.h:658
@ PS_DICT_STD_VW
Definition: t1tables.h:654
@ PS_DICT_ENCODING_TYPE
Definition: t1tables.h:647
@ PS_DICT_FORCE_BOLD
Definition: t1tables.h:670
@ PS_DICT_BLUE_FUZZ
Definition: t1tables.h:657
@ PS_DICT_CHAR_STRING_KEY
Definition: t1tables.h:645
@ PS_DICT_UNDERLINE_POSITION
Definition: t1tables.h:684
@ PS_DICT_UNDERLINE_THICKNESS
Definition: t1tables.h:685
@ PS_DICT_VERSION
Definition: t1tables.h:678
@ PS_DICT_RND_STEM_UP
Definition: t1tables.h:671
@ PS_DICT_CHAR_STRING
Definition: t1tables.h:646
@ PS_DICT_OTHER_BLUE
Definition: t1tables.h:659
@ PS_DICT_UNIQUE_ID
Definition: t1tables.h:643
@ PS_DICT_PAINT_TYPE
Definition: t1tables.h:641
@ PS_DICT_FAMILY_BLUE
Definition: t1tables.h:661
enum T1_EncodingType_ T1_EncodingType
Definition: pdh_main.c:96
int retval
Definition: wcstombs.cpp:91

◆ t1_ps_has_glyph_names()

static FT_Int t1_ps_has_glyph_names ( FT_Face  face)
static

Definition at line 168 of file t1driver.c.

169 {
170 FT_UNUSED( face );
171
172 return 1;
173 }

Variable Documentation

◆ t1_driver_class

Definition at line 751 of file t1driver.c.

◆ t1_service_glyph_dict

const FT_Service_GlyphDictRec t1_service_glyph_dict
static
Initial value:
=
{
}
FT_UInt(* FT_GlyphDict_NameIndexFunc)(FT_Face face, FT_String *glyph_name)
Definition: svgldict.h:44
FT_Error(* FT_GlyphDict_GetNameFunc)(FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)
Definition: svgldict.h:38
static FT_Error t1_get_glyph_name(T1_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)
Definition: t1driver.c:61
static FT_UInt t1_get_name_index(T1_Face face, FT_String *glyph_name)
Definition: t1driver.c:73

Definition at line 92 of file t1driver.c.

Referenced by FT_DEFINE_SERVICE_PROPERTIESREC().

◆ t1_service_kerning

const FT_Service_KerningRec t1_service_kerning
static
Initial value:
=
{
}
T1_Get_Track_Kerning(FT_Face face, FT_Fixed ptsize, FT_Int degree, FT_Fixed *kerning)
Definition: t1afm.c:371

Definition at line 634 of file t1driver.c.

Referenced by FT_DEFINE_SERVICE_PROPERTIESREC().

◆ t1_service_multi_masters

const FT_Service_MultiMastersRec t1_service_multi_masters
static
Initial value:
=
{
}
#define NULL
Definition: types.h:112
FT_Error(* FT_Set_Instance_Func)(FT_Face face, FT_UInt instance_index)
Definition: svmm.h:71
FT_Error(* FT_Set_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: svmm.h:61
FT_Error(* FT_Get_MM_Func)(FT_Face face, FT_Multi_Master *master)
Definition: svmm.h:39
FT_Error(* FT_Set_MM_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: svmm.h:47
FT_Error(* FT_Get_MM_Var_Func)(FT_Face face, FT_MM_Var **master)
Definition: svmm.h:43
FT_Error(* FT_Get_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: svmm.h:75
void(* FT_Done_Blend_Func)(FT_Face)
Definition: svmm.h:87
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)
Definition: svmm.h:80
FT_Error(* FT_Get_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: svmm.h:66
FT_Error(* FT_Get_MM_WeightVector_Func)(FT_Face face, FT_UInt *len, FT_Fixed *weight_vector)
Definition: svmm.h:95
FT_Error(* FT_Set_MM_WeightVector_Func)(FT_Face face, FT_UInt len, FT_Fixed *weight_vector)
Definition: svmm.h:90
FT_Error(* FT_Set_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: svmm.h:54
T1_Get_MM_WeightVector(T1_Face face, FT_UInt *len, FT_Fixed *weightvector)
Definition: t1load.c:524
T1_Reset_MM_Blend(T1_Face face, FT_UInt instance_index)
Definition: t1load.c:640
T1_Get_Var_Design(T1_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: t1load.c:674
T1_Get_MM_Blend(T1_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: t1load.c:449
T1_Set_Var_Design(T1_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: t1load.c:655
T1_Set_MM_Blend(T1_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: t1load.c:428
T1_Done_Blend(T1_Face face)
Definition: t1load.c:710
T1_Set_MM_Design(T1_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: t1load.c:553
T1_Get_MM_Var(T1_Face face, FT_MM_Var **master)
Definition: t1load.c:302
T1_Get_Multi_Master(T1_Face face, FT_Multi_Master *master)
Definition: t1load.c:192
T1_Set_MM_WeightVector(T1_Face face, FT_UInt len, FT_Fixed *weightvector)
Definition: t1load.c:484

Definition at line 123 of file t1driver.c.

Referenced by FT_DEFINE_SERVICE_PROPERTIESREC().

◆ t1_service_ps_info

const FT_Service_PsInfoRec t1_service_ps_info
static
Initial value:
=
{
}
FT_Long(* PS_GetFontValueFunc)(FT_Face face, PS_Dict_Keys key, FT_UInt idx, void *value, FT_Long value_len)
Definition: svpsinfo.h:48
FT_Error(* PS_GetFontInfoFunc)(FT_Face face, PS_FontInfoRec *afont_info)
Definition: svpsinfo.h:33
FT_Int(* PS_HasGlyphNamesFunc)(FT_Face face)
Definition: svpsinfo.h:41
FT_Error(* PS_GetFontExtraFunc)(FT_Face face, PS_FontExtraRec *afont_extra)
Definition: svpsinfo.h:37
FT_Error(* PS_GetFontPrivateFunc)(FT_Face face, PS_PrivateRec *afont_private)
Definition: svpsinfo.h:44
static FT_Error t1_ps_get_font_private(FT_Face face, PS_PrivateRec *afont_private)
Definition: t1driver.c:177
static FT_Int t1_ps_has_glyph_names(FT_Face face)
Definition: t1driver.c:168
static FT_Error t1_ps_get_font_extra(FT_Face face, PS_FontExtraRec *afont_extra)
Definition: t1driver.c:158
static FT_Long t1_ps_get_font_value(FT_Face face, PS_Dict_Keys key, FT_UInt idx, void *value, FT_Long value_len_)
Definition: t1driver.c:187
static FT_Error t1_ps_get_font_info(FT_Face face, PS_FontInfoRec *afont_info)
Definition: t1driver.c:148

Definition at line 623 of file t1driver.c.

Referenced by FT_DEFINE_SERVICE_PROPERTIESREC().

◆ t1_service_ps_name

const FT_Service_PsFontNameRec t1_service_ps_name
static
Initial value:
=
{
}
const char *(* FT_PsName_GetFunc)(FT_Face face)
Definition: svpostnm.h:41
static const char * t1_get_ps_name(T1_Face face)
Definition: t1driver.c:105

Definition at line 111 of file t1driver.c.

Referenced by FT_DEFINE_SERVICE_PROPERTIESREC().