pcfread.c File Reference

#include <ft2build.h>
#include "pcf.h"
#include "pcfread.h"
#include "pcferror.h"

Go to the source code of this file.

Defines

#define FT_COMPONENT   trace_pcfread
#define FT_STRUCTURE   PCF_TocRec
#define FT_STRUCTURE   PCF_TableRec
#define PCF_METRIC_SIZE   12
#define FT_STRUCTURE   PCF_MetricRec
#define FT_STRUCTURE   PCF_MetricRec
#define PCF_COMPRESSED_METRIC_SIZE   5
#define FT_STRUCTURE   PCF_Compressed_MetricRec
#define PCF_PROPERTY_SIZE   9
#define FT_STRUCTURE   PCF_ParsePropertyRec
#define FT_STRUCTURE   PCF_ParsePropertyRec
#define FT_STRUCTURE   PCF_AccelRec
#define FT_STRUCTURE   PCF_AccelRec

Functions

static FT_Error pcf_read_TOC (FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_metric (FT_Stream stream, FT_ULong format, PCF_Metric metric)
static FT_Error pcf_seek_to_table_type (FT_Stream stream, PCF_Table tables, FT_ULong ntables, FT_ULong type, FT_ULong *aformat, FT_ULong *asize)
static FT_Bool pcf_has_table_type (PCF_Table tables, FT_ULong ntables, FT_ULong type)
 pcf_find_property (PCF_Face face, const FT_String *prop)
static FT_Error pcf_get_properties (FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_metrics (FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_bitmaps (FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_encodings (FT_Stream stream, PCF_Face face)
static FT_Error pcf_get_accel (FT_Stream stream, PCF_Face face, FT_ULong type)
static FT_Error pcf_interpret_style (PCF_Face pcf)
 pcf_load_font (FT_Stream stream, PCF_Face face)

Variables

static const FT_Frame_Field pcf_toc_header []
static const FT_Frame_Field pcf_table_header []
static const FT_Frame_Field pcf_metric_header []
static const FT_Frame_Field pcf_metric_msb_header []
static const FT_Frame_Field pcf_compressed_metric_header []
static const FT_Frame_Field pcf_property_header []
static const FT_Frame_Field pcf_property_msb_header []
static const FT_Frame_Field pcf_accel_header []
static const FT_Frame_Field pcf_accel_msb_header []


Define Documentation

#define FT_COMPONENT   trace_pcfread

Definition at line 47 of file pcfread.c.

#define FT_STRUCTURE   PCF_AccelRec

#define FT_STRUCTURE   PCF_AccelRec

#define FT_STRUCTURE   PCF_ParsePropertyRec

#define FT_STRUCTURE   PCF_ParsePropertyRec

#define FT_STRUCTURE   PCF_Compressed_MetricRec

#define FT_STRUCTURE   PCF_MetricRec

#define FT_STRUCTURE   PCF_MetricRec

#define FT_STRUCTURE   PCF_TableRec

#define FT_STRUCTURE   PCF_TocRec

#define PCF_COMPRESSED_METRIC_SIZE   5

Definition at line 228 of file pcfread.c.

Referenced by pcf_get_metrics().

#define PCF_METRIC_SIZE   12

Definition at line 192 of file pcfread.c.

Referenced by pcf_get_metrics().

#define PCF_PROPERTY_SIZE   9

Definition at line 344 of file pcfread.c.

Referenced by pcf_get_properties().


Function Documentation

pcf_find_property ( PCF_Face  face,
const FT_String prop 
)

Definition at line 375 of file pcfread.c.

References FT_Bool, ft_strcmp, i, name, and NULL.

Referenced by pcf_get_bdf_property(), pcf_interpret_style(), and pcf_load_font().

static FT_Error pcf_get_accel ( FT_Stream  stream,
PCF_Face  face,
FT_ULong  type 
) [static]

Definition at line 917 of file pcfread.c.

References error, FT_READ_ULONG_LE, FT_STREAM_READ_FIELDS, PCF_AccelRec_::ink_maxbounds, PCF_AccelRec_::ink_minbounds, PCF_AccelRec_::maxbounds, PCF_AccelRec_::minbounds, MSBFirst, pcf_accel_header, pcf_accel_msb_header, PCF_ACCEL_W_INKBOUNDS, PCF_BYTE_ORDER, PCF_DEFAULT_FORMAT, PCF_FORMAT_MASK, PCF_FORMAT_MATCH, pcf_get_metric(), pcf_seek_to_table_type(), size, and PC3::stream().

Referenced by pcf_load_font().

static FT_Error pcf_get_bitmaps ( FT_Stream  stream,
PCF_Face  face 
) [static]

Definition at line 659 of file pcfread.c.

References error, FT_FACE, FT_FREE, FT_GET_ULONG, FT_GET_ULONG_LE, FT_NEW_ARRAY, FT_READ_LONG, FT_READ_LONG_LE, FT_Stream_EnterFrame(), FT_Stream_ExitFrame(), FT_TRACE0, FT_TRACE4, FT_TRACE5, FT_UNUSED, GLYPHPADOPTIONS, i, MSBFirst, PCF_BITMAPS, PCF_BYTE_ORDER, PCF_DEFAULT_FORMAT, PCF_FORMAT_MATCH, PCF_GLYPH_PAD_INDEX, pcf_seek_to_table_type(), size, and PC3::stream().

Referenced by pcf_load_font().

static FT_Error pcf_get_encodings ( FT_Stream  stream,
PCF_Face  face 
) [static]

Definition at line 761 of file pcfread.c.

References PCF_EncodingRec_::enc, error, FT_FACE, FT_FREE, FT_GET_SHORT, FT_GET_SHORT_LE, FT_GET_ULONG_LE, FT_NEW_ARRAY, FT_Stream_EnterFrame(), FT_Stream_ExitFrame(), FT_TRACE4, FT_TRACE5, PCF_EncodingRec_::glyph, i, j, MSBFirst, PCF_BDF_ENCODINGS, PCF_BYTE_ORDER, PCF_DEFAULT_FORMAT, PCF_FORMAT_MATCH, pcf_seek_to_table_type(), size, and PC3::stream().

Referenced by pcf_load_font().

static FT_Error pcf_get_metric ( FT_Stream  stream,
FT_ULong  format,
PCF_Metric  metric 
) [static]

Definition at line 247 of file pcfread.c.

References PCF_MetricRec_::ascent, PCF_Compressed_MetricRec_::ascent, PCF_MetricRec_::attributes, PCF_MetricRec_::characterWidth, PCF_Compressed_MetricRec_::characterWidth, PCF_Compressed_MetricRec_::descent, PCF_MetricRec_::descent, error, FT_STREAM_READ_FIELDS, PCF_Compressed_MetricRec_::leftSideBearing, PCF_MetricRec_::leftSideBearing, MSBFirst, PCF_BYTE_ORDER, pcf_compressed_metric_header, PCF_DEFAULT_FORMAT, PCF_FORMAT_MATCH, pcf_metric_header, pcf_metric_msb_header, PCF_MetricRec_::rightSideBearing, PCF_Compressed_MetricRec_::rightSideBearing, void, and x80.

Referenced by pcf_get_accel(), and pcf_get_metrics().

static FT_Error pcf_get_metrics ( FT_Stream  stream,
PCF_Face  face 
) [static]

Definition at line 565 of file pcfread.c.

References code::bits, error, FT_FACE, FT_FREE, FT_NEW_ARRAY, FT_READ_ULONG, FT_READ_ULONG_LE, FT_READ_USHORT, FT_READ_USHORT_LE, FT_TRACE4, FT_TRACE5, i, metrics(), MSBFirst, PCF_BYTE_ORDER, PCF_COMPRESSED_METRIC_SIZE, PCF_COMPRESSED_METRICS, PCF_DEFAULT_FORMAT, PCF_FORMAT_MATCH, pcf_get_metric(), PCF_METRIC_SIZE, PCF_METRICS, pcf_seek_to_table_type(), size, PC3::stream(), and void.

Referenced by pcf_load_font().

static FT_Error pcf_get_properties ( FT_Stream  stream,
PCF_Face  face 
) [static]

Definition at line 397 of file pcfread.c.

References error, FT_FACE, FT_FREE, FT_NEW_ARRAY, FT_READ_ULONG, FT_READ_ULONG_LE, FT_STRDUP, FT_Stream_Read(), FT_STREAM_READ_FIELDS, FT_STREAM_SKIP, FT_TRACE4, i, int, PCF_PropertyRec_::isString, PCF_PropertyRec_::l, MSBFirst, name, PCF_BYTE_ORDER, PCF_DEFAULT_FORMAT, PCF_FORMAT_MATCH, PCF_PROPERTIES, pcf_property_header, pcf_property_msb_header, PCF_PROPERTY_SIZE, pcf_seek_to_table_type(), size, PC3::stream(), value, PCF_PropertyRec_::value, and void.

Referenced by pcf_load_font().

static FT_Bool pcf_has_table_type ( PCF_Table  tables,
FT_ULong  ntables,
FT_ULong  type 
) [static]

Definition at line 329 of file pcfread.c.

References FALSE, i, and TRUE.

Referenced by pcf_load_font().

static FT_Error pcf_interpret_style ( PCF_Face  pcf  )  [static]

Definition at line 991 of file pcfread.c.

References PCF_PropertyRec_::atom, error, FT_ALLOC, FT_FACE, ft_memcpy, ft_strlen, FT_STYLE_FLAG_BOLD, FT_STYLE_FLAG_ITALIC, PCF_PropertyRec_::isString, len, NULL, pcf_find_property(), s, size_t, and PCF_PropertyRec_::value.

Referenced by pcf_load_font().

pcf_load_font ( FT_Stream  stream,
PCF_Face  face 
)

Definition at line 1101 of file pcfread.c.

References PCF_PropertyRec_::atom, bsize, error, FT_Bool, FT_FACE, FT_FACE_FLAG_FAST_GLYPHS, FT_FACE_FLAG_FIXED_SIZES, FT_FACE_FLAG_FIXED_WIDTH, FT_FACE_FLAG_HORIZONTAL, FT_MEM_ZERO, FT_NEW_ARRAY, FT_Pos, FT_STRDUP, if(), PCF_PropertyRec_::isString, PCF_PropertyRec_::l, RooFitShortHand::L(), NULL, PCF_ACCELERATORS, PCF_BDF_ACCELERATORS, pcf_find_property(), pcf_get_accel(), pcf_get_bitmaps(), pcf_get_encodings(), pcf_get_metrics(), pcf_get_properties(), pcf_has_table_type(), pcf_interpret_style(), pcf_read_TOC(), root, and PCF_PropertyRec_::value.

Referenced by PCF_Face_Init().

static FT_Error pcf_read_TOC ( FT_Stream  stream,
PCF_Face  face 
) [static]

Definition at line 88 of file pcfread.c.

References PCF_TocRec_::count, error, FT_ARRAY_MAX, FT_FACE, FT_FREE, FT_NEW_ARRAY, FT_STREAM_READ_FIELDS, FT_STREAM_SEEK, FT_TRACE4, i, j, n, name, PCF_FILE_VERSION, pcf_table_header, pcf_toc_header, size, type, and PCF_TocRec_::version.

Referenced by pcf_load_font().

static FT_Error pcf_seek_to_table_type ( FT_Stream  stream,
PCF_Table  tables,
FT_ULong  ntables,
FT_ULong  type,
FT_ULong aformat,
FT_ULong asize 
) [static]

Definition at line 290 of file pcfread.c.

References error, FT_STREAM_SKIP, i, and PC3::stream().

Referenced by pcf_get_accel(), pcf_get_bitmaps(), pcf_get_encodings(), pcf_get_metrics(), and pcf_get_properties().


Variable Documentation

const FT_Frame_Field pcf_accel_header[] [static]

Initial value:

  {

#define FT_STRUCTURE

    FT_FRAME_START( 20 ),
      FT_FRAME_BYTE      ( noOverlap ),
      FT_FRAME_BYTE      ( constantMetrics ),
      FT_FRAME_BYTE      ( terminalFont ),
      FT_FRAME_BYTE      ( constantWidth ),
      FT_FRAME_BYTE      ( inkInside ),
      FT_FRAME_BYTE      ( inkMetrics ),
      FT_FRAME_BYTE      ( drawDirection ),
      FT_FRAME_SKIP_BYTES( 1 ),
      FT_FRAME_LONG_LE   ( fontAscent ),
      FT_FRAME_LONG_LE   ( fontDescent ),
      FT_FRAME_LONG_LE   ( maxOverlap ),
    FT_FRAME_END
  }

Definition at line 873 of file pcfread.c.

Referenced by pcf_get_accel().

const FT_Frame_Field pcf_accel_msb_header[] [static]

Initial value:

  {

#define FT_STRUCTURE

    FT_FRAME_START( 20 ),
      FT_FRAME_BYTE      ( noOverlap ),
      FT_FRAME_BYTE      ( constantMetrics ),
      FT_FRAME_BYTE      ( terminalFont ),
      FT_FRAME_BYTE      ( constantWidth ),
      FT_FRAME_BYTE      ( inkInside ),
      FT_FRAME_BYTE      ( inkMetrics ),
      FT_FRAME_BYTE      ( drawDirection ),
      FT_FRAME_SKIP_BYTES( 1 ),
      FT_FRAME_LONG      ( fontAscent ),
      FT_FRAME_LONG      ( fontDescent ),
      FT_FRAME_LONG      ( maxOverlap ),
    FT_FRAME_END
  }

Definition at line 895 of file pcfread.c.

Referenced by pcf_get_accel().

const FT_Frame_Field pcf_compressed_metric_header[] [static]

Initial value:

  {

#define FT_STRUCTURE

    FT_FRAME_START( PCF_COMPRESSED_METRIC_SIZE ),
      FT_FRAME_BYTE( leftSideBearing ),
      FT_FRAME_BYTE( rightSideBearing ),
      FT_FRAME_BYTE( characterWidth ),
      FT_FRAME_BYTE( ascent ),
      FT_FRAME_BYTE( descent ),
    FT_FRAME_END
  }

Definition at line 231 of file pcfread.c.

Referenced by pcf_get_metric().

const FT_Frame_Field pcf_metric_header[] [static]

Initial value:

  {

#define FT_STRUCTURE

    FT_FRAME_START( PCF_METRIC_SIZE ),
      FT_FRAME_SHORT_LE( leftSideBearing ),
      FT_FRAME_SHORT_LE( rightSideBearing ),
      FT_FRAME_SHORT_LE( characterWidth ),
      FT_FRAME_SHORT_LE( ascent ),
      FT_FRAME_SHORT_LE( descent ),
      FT_FRAME_SHORT_LE( attributes ),
    FT_FRAME_END
  }

Definition at line 195 of file pcfread.c.

Referenced by pcf_get_metric().

const FT_Frame_Field pcf_metric_msb_header[] [static]

Initial value:

  {

#define FT_STRUCTURE

    FT_FRAME_START( PCF_METRIC_SIZE ),
      FT_FRAME_SHORT( leftSideBearing ),
      FT_FRAME_SHORT( rightSideBearing ),
      FT_FRAME_SHORT( characterWidth ),
      FT_FRAME_SHORT( ascent ),
      FT_FRAME_SHORT( descent ),
      FT_FRAME_SHORT( attributes ),
    FT_FRAME_END
  }

Definition at line 212 of file pcfread.c.

Referenced by pcf_get_metric().

const FT_Frame_Field pcf_property_header[] [static]

Initial value:

Definition at line 347 of file pcfread.c.

Referenced by pcf_get_properties().

const FT_Frame_Field pcf_property_msb_header[] [static]

Initial value:

Definition at line 361 of file pcfread.c.

Referenced by pcf_get_properties().

const FT_Frame_Field pcf_table_header[] [static]

Initial value:

Definition at line 73 of file pcfread.c.

Referenced by pcf_read_TOC().

const FT_Frame_Field pcf_toc_header[] [static]

Initial value:

Definition at line 60 of file pcfread.c.

Referenced by pcf_read_TOC().


Generated on Tue Jul 5 15:58:24 2011 for ROOT_528-00b_version by  doxygen 1.5.1