1411 {
1416
1417
1421
1422 root->num_faces = 1;
1423 root->face_index = 0;
1424
1425
1426 if ( face_index < 0 )
1428
1432
1433
1437 if ( !hasBDFAccelerators )
1438 {
1442 }
1443
1444
1448
1449
1453
1454
1458
1459
1460 if ( hasBDFAccelerators )
1461 {
1465 }
1466
1467
1468
1469
1470 {
1472
1473
1476
1477 if (
face->accel.constantWidth )
1479
1482
1485 {
1486
1487#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
1488
1490
1491
1492 if ( !
driver->no_long_family_names )
1493 {
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505 PCF_Property foundry_prop, point_size_prop, average_width_prop;
1506
1508 int wide = 0;
1509
1510
1514
1515 if ( point_size_prop && average_width_prop )
1516 {
1517 if ( average_width_prop->
value.
l >= point_size_prop->
value.
l )
1518 {
1519
1520 wide = 1;
1522 }
1523 }
1524
1525 if ( foundry_prop && foundry_prop->
isString )
1526 {
1528
1531
1535 }
1536 else
1537 {
1540
1542 }
1543
1544 if ( wide )
1546 }
1547 else
1548
1549#endif
1550
1551 {
1554 }
1555 }
1556 else
1558
1560
1561 root->num_fixed_sizes = 1;
1564
1565 {
1567 FT_Short resolution_x = 0, resolution_y = 0;
1568
1569
1571
1572
1573
1574#if 0
1575 bsize->
height =
face->accel.maxbounds.ascent << 6;
1576#endif
1577
1578#ifdef FT_DEBUG_LEVEL_TRACE
1579 if (
face->accel.fontAscent +
face->accel.fontDescent < 0 )
1580 FT_TRACE0((
"pcf_load_font: negative height\n" ));
1581#endif
1583 face->accel.fontDescent ) > 0x7FFF )
1584 {
1586 FT_TRACE0((
"pcf_load_font: clamping height to value %d\n",
1588 }
1589 else
1591 face->accel.fontDescent ) );
1592
1594 if ( prop )
1595 {
1596#ifdef FT_DEBUG_LEVEL_TRACE
1598 FT_TRACE0((
"pcf_load_font: negative average width\n" ));
1599#endif
1601 {
1602 bsize->
width = 0x7FFF;
1603 FT_TRACE0((
"pcf_load_font: clamping average width to value %d\n",
1605 }
1606 else
1608 }
1609 else
1610 {
1611
1613 }
1614
1616 if ( prop )
1617 {
1618#ifdef FT_DEBUG_LEVEL_TRACE
1620 FT_TRACE0((
"pcf_load_font: negative point size\n" ));
1621#endif
1622
1624 {
1625 bsize->
size = 0x7FFF;
1626 FT_TRACE0((
"pcf_load_font: clamping point size to value %d\n",
1628 }
1629 else
1631 64 * 7200,
1632 72270L );
1633 }
1634
1636 if ( prop )
1637 {
1638#ifdef FT_DEBUG_LEVEL_TRACE
1640 FT_TRACE0((
"pcf_load_font: negative pixel size\n" ));
1641#endif
1643 {
1644 bsize->
y_ppem = 0x7FFF << 6;
1645 FT_TRACE0((
"pcf_load_font: clamping pixel size to value %d\n",
1647 }
1648 else
1650 }
1651
1653 if ( prop )
1654 {
1655#ifdef FT_DEBUG_LEVEL_TRACE
1657 FT_TRACE0((
"pcf_load_font: negative X resolution\n" ));
1658#endif
1660 {
1661 resolution_x = 0x7FFF;
1662 FT_TRACE0((
"pcf_load_font: clamping X resolution to value %d\n",
1663 resolution_x ));
1664 }
1665 else
1667 }
1668
1670 if ( prop )
1671 {
1672#ifdef FT_DEBUG_LEVEL_TRACE
1674 FT_TRACE0((
"pcf_load_font: negative Y resolution\n" ));
1675#endif
1677 {
1678 resolution_y = 0x7FFF;
1679 FT_TRACE0((
"pcf_load_font: clamping Y resolution to value %d\n",
1680 resolution_y ));
1681 }
1682 else
1684 }
1685
1686 if ( bsize->
y_ppem == 0 )
1687 {
1689 if ( resolution_y )
1691 }
1692 if ( resolution_x && resolution_y )
1694 resolution_x,
1695 resolution_y );
1696 else
1698 }
1699
1700
1701 {
1703
1704
1707
1708 if ( charset_registry && charset_registry->
isString &&
1709 charset_encoding && charset_encoding->
isString )
1710 {
1716 }
1717 }
1718 }
1719
1722 {
1723
1724
1726 }
1727
1729 }
#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 @1717::@1718 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_::@4379 value