1418 {
1423
1424
1428
1429 root->num_faces = 1;
1430 root->face_index = 0;
1431
1432
1433 if ( face_index < 0 )
1435
1439
1440
1444 if ( !hasBDFAccelerators )
1445 {
1449 }
1450
1451
1455
1456
1460
1461
1465
1466
1467 if ( hasBDFAccelerators )
1468 {
1472 }
1473
1474
1475
1476
1477 {
1479
1480
1483
1484 if (
face->accel.constantWidth )
1486
1489
1492 {
1493
1494#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
1495
1497
1498
1499 if ( !
driver->no_long_family_names )
1500 {
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512 PCF_Property foundry_prop, point_size_prop, average_width_prop;
1513
1515 int wide = 0;
1516
1517
1521
1522 if ( point_size_prop && average_width_prop )
1523 {
1524 if ( average_width_prop->
value.
l >= point_size_prop->
value.
l )
1525 {
1526
1527 wide = 1;
1529 }
1530 }
1531
1532 if ( foundry_prop && foundry_prop->
isString )
1533 {
1535
1538
1542 }
1543 else
1544 {
1547
1549 }
1550
1551 if ( wide )
1553 }
1554 else
1555
1556#endif
1557
1558 {
1561 }
1562 }
1563 else
1565
1567
1568 root->num_fixed_sizes = 1;
1571
1572 {
1574 FT_Short resolution_x = 0, resolution_y = 0;
1575
1576
1578
1579
1580
1581#if 0
1582 bsize->
height =
face->accel.maxbounds.ascent << 6;
1583#endif
1584
1585#ifdef FT_DEBUG_LEVEL_TRACE
1586 if (
face->accel.fontAscent +
face->accel.fontDescent < 0 )
1587 FT_TRACE0((
"pcf_load_font: negative height\n" ));
1588#endif
1590 face->accel.fontDescent ) > 0x7FFF )
1591 {
1593 FT_TRACE0((
"pcf_load_font: clamping height to value %d\n",
1595 }
1596 else
1598 face->accel.fontDescent ) );
1599
1601 if ( prop )
1602 {
1603#ifdef FT_DEBUG_LEVEL_TRACE
1605 FT_TRACE0((
"pcf_load_font: negative average width\n" ));
1606#endif
1608 {
1609 bsize->
width = 0x7FFF;
1610 FT_TRACE0((
"pcf_load_font: clamping average width to value %d\n",
1612 }
1613 else
1615 }
1616 else
1617 {
1618
1620 }
1621
1623 if ( prop )
1624 {
1625#ifdef FT_DEBUG_LEVEL_TRACE
1627 FT_TRACE0((
"pcf_load_font: negative point size\n" ));
1628#endif
1629
1631 {
1632 bsize->
size = 0x7FFF;
1633 FT_TRACE0((
"pcf_load_font: clamping point size to value %ld\n",
1635 }
1636 else
1638 64 * 7200,
1639 72270L );
1640 }
1641
1643 if ( prop )
1644 {
1645#ifdef FT_DEBUG_LEVEL_TRACE
1647 FT_TRACE0((
"pcf_load_font: negative pixel size\n" ));
1648#endif
1650 {
1651 bsize->
y_ppem = 0x7FFF << 6;
1652 FT_TRACE0((
"pcf_load_font: clamping pixel size to value %ld\n",
1654 }
1655 else
1657 }
1658
1660 if ( prop )
1661 {
1662#ifdef FT_DEBUG_LEVEL_TRACE
1664 FT_TRACE0((
"pcf_load_font: negative X resolution\n" ));
1665#endif
1667 {
1668 resolution_x = 0x7FFF;
1669 FT_TRACE0((
"pcf_load_font: clamping X resolution to value %d\n",
1670 resolution_x ));
1671 }
1672 else
1674 }
1675
1677 if ( prop )
1678 {
1679#ifdef FT_DEBUG_LEVEL_TRACE
1681 FT_TRACE0((
"pcf_load_font: negative Y resolution\n" ));
1682#endif
1684 {
1685 resolution_y = 0x7FFF;
1686 FT_TRACE0((
"pcf_load_font: clamping Y resolution to value %d\n",
1687 resolution_y ));
1688 }
1689 else
1691 }
1692
1693 if ( bsize->
y_ppem == 0 )
1694 {
1696 if ( resolution_y )
1698 }
1699 if ( resolution_x && resolution_y )
1701 resolution_x,
1702 resolution_y );
1703 else
1705 }
1706
1707
1708 {
1710
1711
1714
1715 if ( charset_registry && charset_registry->
isString &&
1716 charset_encoding && charset_encoding->
isString )
1717 {
1723 }
1724 }
1725 }
1726
1729 {
1730
1731
1733 }
1734
1736 }
#define FT_FACE_FLAG_FIXED_SIZES
#define FT_FACE_FLAG_FIXED_WIDTH
#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 @1789::@1790 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_::@4579 value