284 {
289
293
294
295 cidface->num_faces = 1;
296
299 {
302
303 if ( !psaux )
304 {
305 FT_ERROR((
"cid_face_init: cannot access `psaux' module\n" ));
308 }
309
311 }
312
315 {
318
319 face->pshinter = pshinter;
320 }
321
323
324
327
331
332
333 if ( face_index < 0 )
335
336
337
338 if ( ( face_index & 0xFFFF ) != 0 )
339 {
340 FT_ERROR((
"cid_face_init: invalid face index\n" ));
343 }
344
345
346
347
348
349
350 {
353
354
355 cidface->num_glyphs = (
FT_Long)
cid->cid_count;
356 cidface->num_charmaps = 0;
357
358 cidface->face_index = face_index & 0xFFFF;
359
363
364 if (
info->is_fixed_pitch )
366
367
368
369
370
371 cidface->family_name =
info->family_name;
372
373 cidface->style_name = (char *)"Regular";
374 if ( cidface->family_name )
375 {
376 char* full =
info->full_name;
377 char* family = cidface->family_name;
378
379
380 if ( full )
381 {
382 while ( *full )
383 {
384 if ( *full == *family )
385 {
386 family++;
387 full++;
388 }
389 else
390 {
391 if ( *full == ' ' || *full == '-' )
392 full++;
393 else if ( *family == ' ' || *family == '-' )
394 family++;
395 else
396 {
397 if ( !*family )
398 cidface->style_name = full;
399 break;
400 }
401 }
402 }
403 }
404 }
405 else
406 {
407
408 if (
cid->cid_font_name )
409 cidface->family_name =
cid->cid_font_name;
410 }
411
412
413 cidface->style_flags = 0;
414 if (
info->italic_angle )
417 {
421 }
422
423
424 cidface->num_fixed_sizes = 0;
425 cidface->available_sizes =
NULL;
426
427 cidface->bbox.xMin =
cid->font_bbox.xMin >> 16;
428 cidface->bbox.yMin =
cid->font_bbox.yMin >> 16;
429
430 cidface->bbox.xMax = (
cid->font_bbox.xMax + 0xFFFF ) >> 16;
431 cidface->bbox.yMax = (
cid->font_bbox.yMax + 0xFFFF ) >> 16;
432
433 if ( !cidface->units_per_EM )
434 cidface->units_per_EM = 1000;
435
436 cidface->ascender = (
FT_Short)( cidface->bbox.yMax );
437 cidface->descender = (
FT_Short)( cidface->bbox.yMin );
438
439 cidface->height = (
FT_Short)( ( cidface->units_per_EM * 12 ) / 10 );
440 if ( cidface->height < cidface->ascender - cidface->descender )
441 cidface->height = (
FT_Short)( cidface->ascender - cidface->descender );
442
443 cidface->underline_position = (
FT_Short)
info->underline_position;
444 cidface->underline_thickness = (
FT_Short)
info->underline_thickness;
445 }
446
449 }
cid_face_open(CID_Face face, FT_Int face_index)
#define FT_STYLE_FLAG_ITALIC
#define FT_FACE_FLAG_SCALABLE
#define FT_FACE_FLAG_HINTER
#define FT_FACE_FLAG_FIXED_WIDTH
#define FT_STYLE_FLAG_BOLD
#define FT_FACE_FLAG_HORIZONTAL
#define FT_ERROR(varformat)
#define FT_TRACE2(varformat)
#define FT_FACE_LIBRARY(x)
FT_Get_Module_Interface(FT_Library library, const char *mod_name)
#define FT_STREAM_SEEK(position)
GLenum const GLfloat * params
PSHinter_Interface * PSHinter_Service
struct PSAux_ServiceRec_ * PSAux_Service