~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to src/3rdparty/freetype/src/pfr/pfrload.h

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-24 04:09:09 UTC
  • Revision ID: james.westby@ubuntu.com-20050824040909-xmxe9jfr4a0w5671
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************/
 
2
/*                                                                         */
 
3
/*  pfrload.h                                                              */
 
4
/*                                                                         */
 
5
/*    FreeType PFR loader (specification).                                 */
 
6
/*                                                                         */
 
7
/*  Copyright 2002 by                                                      */
 
8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 
9
/*                                                                         */
 
10
/*  This file is part of the FreeType project, and may only be used,       */
 
11
/*  modified, and distributed under the terms of the FreeType project      */
 
12
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
 
13
/*  this file you indicate that you have read the license and              */
 
14
/*  understand and accept it fully.                                        */
 
15
/*                                                                         */
 
16
/***************************************************************************/
 
17
 
 
18
 
 
19
#ifndef __PFRLOAD_H__
 
20
#define __PFRLOAD_H__
 
21
 
 
22
#include "pfrobjs.h"
 
23
#include FT_INTERNAL_STREAM_H
 
24
 
 
25
 
 
26
FT_BEGIN_HEADER
 
27
 
 
28
#ifdef PFR_CONFIG_NO_CHECKS
 
29
#define PFR_CHECK( x )  do { } while ( 0 )
 
30
#else
 
31
#define PFR_CHECK( x )  do                       \
 
32
                        {                        \
 
33
                          if ( p + (x) > limit ) \
 
34
                            goto Too_Short;      \
 
35
                        } while ( 0 )
 
36
#endif
 
37
 
 
38
#define PFR_NEXT_BYTE( p )    FT_NEXT_BYTE( p )
 
39
#define PFR_NEXT_INT8( p )    FT_NEXT_CHAR( p )
 
40
#define PFR_NEXT_SHORT( p )   FT_NEXT_SHORT( p )
 
41
#define PFR_NEXT_USHORT( p )  FT_NEXT_USHORT( p )
 
42
#define PFR_NEXT_LONG( p )    FT_NEXT_OFF3( p )
 
43
#define PFR_NEXT_ULONG( p )   FT_NEXT_UOFF3( p )
 
44
 
 
45
 
 
46
 /* handling extra items */
 
47
 
 
48
  typedef FT_Error
 
49
  (*PFR_ExtraItem_ParseFunc)( FT_Byte*    p,
 
50
                              FT_Byte*    limit,
 
51
                              FT_Pointer  data );
 
52
 
 
53
  typedef struct  PFR_ExtraItemRec_
 
54
  {
 
55
    FT_UInt                  type;
 
56
    PFR_ExtraItem_ParseFunc  parser;
 
57
  
 
58
  } PFR_ExtraItemRec;
 
59
  
 
60
  typedef const struct PFR_ExtraItemRec_*  PFR_ExtraItem;
 
61
 
 
62
 
 
63
  FT_LOCAL( FT_Error )
 
64
  pfr_extra_items_skip( FT_Byte*  *pp,
 
65
                        FT_Byte*  limit );
 
66
 
 
67
  FT_LOCAL( FT_Error )
 
68
  pfr_extra_items_parse( FT_Byte*      *pp,
 
69
                         FT_Byte*       limit,
 
70
                         PFR_ExtraItem  item_list,
 
71
                         FT_Pointer     item_data );
 
72
 
 
73
 
 
74
  /* load a PFR header */
 
75
  FT_LOCAL( FT_Error )
 
76
  pfr_header_load( PFR_Header  header,
 
77
                   FT_Stream   stream );
 
78
 
 
79
  /* check a PFR header */
 
80
  FT_LOCAL( FT_Bool )
 
81
  pfr_header_check( PFR_Header  header );
 
82
 
 
83
 
 
84
  /* return number of logical fonts in this file */
 
85
  FT_LOCAL( FT_Error )
 
86
  pfr_log_font_count( FT_Stream   stream,
 
87
                      FT_UInt32   log_section_offset,
 
88
                      FT_UInt    *acount );
 
89
 
 
90
  /* load a pfr logical font entry */
 
91
  FT_LOCAL( FT_Error )
 
92
  pfr_log_font_load( PFR_LogFont  log_font,
 
93
                     FT_Stream    stream,
 
94
                     FT_UInt      face_index,
 
95
                     FT_UInt32    section_offset,
 
96
                     FT_Bool      size_increment );
 
97
 
 
98
 
 
99
  /* load a physical font entry */
 
100
  FT_LOCAL( FT_Error )
 
101
  pfr_phy_font_load( PFR_PhyFont  phy_font,
 
102
                     FT_Stream    stream,
 
103
                     FT_UInt32    offset,
 
104
                     FT_UInt32    size );
 
105
 
 
106
  /* finalize a physical font */
 
107
  FT_LOCAL( void )
 
108
  pfr_phy_font_done( PFR_PhyFont  phy_font,
 
109
                     FT_Memory    memory );
 
110
 
 
111
  /* */
 
112
 
 
113
FT_END_HEADER
 
114
 
 
115
#endif /* __PFRLOAD_H__ */
 
116
 
 
117
 
 
118
/* END */