1336 {
1341
1342
1346
1347 root->num_faces = 1;
1348 root->face_index = 0;
1349
1350
1351 if ( face_index < 0 )
1353
1357
1358
1362 if ( !hasBDFAccelerators )
1363 {
1367 }
1368
1369
1373
1374
1378
1379
1383
1384
1385 if ( hasBDFAccelerators )
1386 {
1390 }
1391
1392
1393
1394
1395 {
1397
1398
1402
1403 if (
face->accel.constantWidth )
1405
1408
1411 {
1412
1413#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
1414
1416
1417
1418 if ( !
driver->no_long_family_names )
1419 {
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431 PCF_Property foundry_prop, point_size_prop, average_width_prop;
1432
1434 int wide = 0;
1435
1436
1440
1441 if ( point_size_prop && average_width_prop )
1442 {
1443 if ( average_width_prop->
value.
l >= point_size_prop->
value.
l )
1444 {
1445
1446 wide = 1;
1448 }
1449 }
1450
1451 if ( foundry_prop && foundry_prop->
isString )
1452 {
1454
1457
1461 }
1462 else
1463 {
1466
1468 }
1469
1470 if ( wide )
1472 }
1473 else
1474
1475#endif
1476
1477 {
1480 }
1481 }
1482 else
1484
1485
1486
1487
1488
1489
1490
1491
1493
1494 root->num_fixed_sizes = 1;
1497
1498 {
1500 FT_Short resolution_x = 0, resolution_y = 0;
1501
1502
1504
1505
1506
1507#if 0
1508 bsize->
height =
face->accel.maxbounds.ascent << 6;
1509#endif
1510
1511#ifdef FT_DEBUG_LEVEL_TRACE
1512 if (
face->accel.fontAscent +
face->accel.fontDescent < 0 )
1513 FT_TRACE0((
"pcf_load_font: negative height\n" ));
1514#endif
1516 face->accel.fontDescent ) > 0x7FFF )
1517 {
1519 FT_TRACE0((
"pcf_load_font: clamping height to value %d\n",
1521 }
1522 else
1524 face->accel.fontDescent ) );
1525
1527 if ( prop )
1528 {
1529#ifdef FT_DEBUG_LEVEL_TRACE
1531 FT_TRACE0((
"pcf_load_font: negative average width\n" ));
1532#endif
1534 {
1535 bsize->
width = 0x7FFF;
1536 FT_TRACE0((
"pcf_load_font: clamping average width to value %d\n",
1538 }
1539 else
1541 }
1542 else
1543 {
1544
1546 }
1547
1549 if ( prop )
1550 {
1551#ifdef FT_DEBUG_LEVEL_TRACE
1553 FT_TRACE0((
"pcf_load_font: negative point size\n" ));
1554#endif
1555
1557 {
1558 bsize->
size = 0x7FFF;
1559 FT_TRACE0((
"pcf_load_font: clamping point size to value %d\n",
1561 }
1562 else
1564 64 * 7200,
1565 72270L );
1566 }
1567
1569 if ( prop )
1570 {
1571#ifdef FT_DEBUG_LEVEL_TRACE
1573 FT_TRACE0((
"pcf_load_font: negative pixel size\n" ));
1574#endif
1576 {
1577 bsize->
y_ppem = 0x7FFF << 6;
1578 FT_TRACE0((
"pcf_load_font: clamping pixel size to value %d\n",
1580 }
1581 else
1583 }
1584
1586 if ( prop )
1587 {
1588#ifdef FT_DEBUG_LEVEL_TRACE
1590 FT_TRACE0((
"pcf_load_font: negative X resolution\n" ));
1591#endif
1593 {
1594 resolution_x = 0x7FFF;
1595 FT_TRACE0((
"pcf_load_font: clamping X resolution to value %d\n",
1596 resolution_x ));
1597 }
1598 else
1600 }
1601
1603 if ( prop )
1604 {
1605#ifdef FT_DEBUG_LEVEL_TRACE
1607 FT_TRACE0((
"pcf_load_font: negative Y resolution\n" ));
1608#endif
1610 {
1611 resolution_y = 0x7FFF;
1612 FT_TRACE0((
"pcf_load_font: clamping Y resolution to value %d\n",
1613 resolution_y ));
1614 }
1615 else
1617 }
1618
1619 if ( bsize->
y_ppem == 0 )
1620 {
1622 if ( resolution_y )
1624 }
1625 if ( resolution_x && resolution_y )
1627 resolution_x,
1628 resolution_y );
1629 else
1631 }
1632
1633
1634 {
1636
1637
1640
1641 if ( charset_registry && charset_registry->
isString &&
1642 charset_encoding && charset_encoding->
isString )
1643 {
1649 }
1650 }
1651 }
1652
1655 {
1656
1657
1659 }
1660
1662 }
#define FT_FACE_FLAG_FIXED_SIZES
#define FT_FACE_FLAG_FIXED_WIDTH
#define FT_FACE_FLAG_FAST_GLYPHS
#define FT_FACE_FLAG_HORIZONTAL
FT_MulDiv(FT_Long a, FT_Long b, FT_Long c)
#define FT_TRACE0(varformat)
#define FT_NEW_ARRAY(ptr, count)
#define FT_STRDUP(dst, str)
#define FT_SET_ERROR(expression)
#define FT_FACE_DRIVER(x)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLenum GLuint GLint GLenum face
static char memory[1024 *256]
struct @1677::@1678 driver
struct PCF_DriverRec_ * PCF_Driver
#define PCF_BDF_ACCELERATORS
static FT_Error pcf_get_properties(FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_encodings(FT_Stream stream, PCF_Face face)
static FT_Bool pcf_has_table_type(PCF_Table tables, FT_ULong ntables, FT_ULong type)
static FT_Error pcf_get_bitmaps(FT_Stream stream, PCF_Face face)
pcf_find_property(PCF_Face face, const FT_String *prop)
static FT_Error pcf_get_accel(FT_Stream stream, PCF_Face face, FT_ULong type)
static FT_Error pcf_interpret_style(PCF_Face pcf)
static FT_Error pcf_read_TOC(FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_metrics(FT_Stream stream, PCF_Face face)
union PCF_PropertyRec_::@4247 value