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

« back to all changes in this revision

Viewing changes to src/3rdparty/freetype/src/cff/cffobjs.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
/*  cffobjs.h                                                              */
 
4
/*                                                                         */
 
5
/*    OpenType objects manager (specification).                            */
 
6
/*                                                                         */
 
7
/*  Copyright 1996-2001, 2002, 2003, 2004 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 __CFFOBJS_H__
 
20
#define __CFFOBJS_H__
 
21
 
 
22
 
 
23
#include <ft2build.h>
 
24
#include FT_INTERNAL_OBJECTS_H
 
25
#include "cfftypes.h"
 
26
#include FT_INTERNAL_TRUETYPE_TYPES_H
 
27
#include FT_SERVICE_POSTSCRIPT_CMAPS_H
 
28
 
 
29
 
 
30
FT_BEGIN_HEADER
 
31
 
 
32
 
 
33
  /*************************************************************************/
 
34
  /*                                                                       */
 
35
  /* <Type>                                                                */
 
36
  /*    CFF_Driver                                                         */
 
37
  /*                                                                       */
 
38
  /* <Description>                                                         */
 
39
  /*    A handle to an OpenType driver object.                             */
 
40
  /*                                                                       */
 
41
  typedef struct CFF_DriverRec_*  CFF_Driver;
 
42
 
 
43
  typedef TT_Face  CFF_Face;
 
44
 
 
45
 
 
46
  /*************************************************************************/
 
47
  /*                                                                       */
 
48
  /* <Type>                                                                */
 
49
  /*    CFF_Size                                                           */
 
50
  /*                                                                       */
 
51
  /* <Description>                                                         */
 
52
  /*    A handle to an OpenType size object.                               */
 
53
  /*                                                                       */
 
54
  typedef struct  CFF_SizeRec_
 
55
  {
 
56
    FT_SizeRec       root;
 
57
 
 
58
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
 
59
 
 
60
    FT_UInt          strike_index;    /* 0xFFFF to indicate invalid */
 
61
    FT_Size_Metrics  strike_metrics;  /* current strike's metrics   */
 
62
 
 
63
#endif
 
64
 
 
65
  } CFF_SizeRec, *CFF_Size;
 
66
 
 
67
 
 
68
  /*************************************************************************/
 
69
  /*                                                                       */
 
70
  /* <Type>                                                                */
 
71
  /*    CFF_GlyphSlot                                                      */
 
72
  /*                                                                       */
 
73
  /* <Description>                                                         */
 
74
  /*    A handle to an OpenType glyph slot object.                         */
 
75
  /*                                                                       */
 
76
  typedef struct  CFF_GlyphSlotRec_
 
77
  {
 
78
    FT_GlyphSlotRec  root;
 
79
 
 
80
    FT_Bool          hint;
 
81
    FT_Bool          scaled;
 
82
 
 
83
    FT_Fixed         x_scale;
 
84
    FT_Fixed         y_scale;
 
85
 
 
86
  } CFF_GlyphSlotRec, *CFF_GlyphSlot;
 
87
 
 
88
 
 
89
 
 
90
  /*************************************************************************/
 
91
  /*                                                                       */
 
92
  /* Subglyph transformation record.                                       */
 
93
  /*                                                                       */
 
94
  typedef struct  CFF_Transform_
 
95
  {
 
96
    FT_Fixed    xx, xy;     /* transformation matrix coefficients */
 
97
    FT_Fixed    yx, yy;
 
98
    FT_F26Dot6  ox, oy;     /* offsets        */
 
99
 
 
100
  } CFF_Transform;
 
101
 
 
102
 
 
103
  /***********************************************************************/
 
104
  /*                                                                     */
 
105
  /* TrueType driver class.                                              */
 
106
  /*                                                                     */
 
107
  typedef struct  CFF_DriverRec_
 
108
  {
 
109
    FT_DriverRec  root;
 
110
    void*         extension_component;
 
111
 
 
112
  } CFF_DriverRec;
 
113
 
 
114
 
 
115
  FT_LOCAL( FT_Error )
 
116
  cff_size_init( FT_Size  size );           /* CFF_Size */
 
117
 
 
118
  FT_LOCAL( void )
 
119
  cff_size_done( FT_Size  size );           /* CFF_Size */
 
120
 
 
121
  FT_LOCAL( FT_Error )
 
122
  cff_size_reset( FT_Size  size,            /* CFF_Size */
 
123
                  FT_UInt  char_width,
 
124
                  FT_UInt  char_height );
 
125
 
 
126
  FT_LOCAL( FT_Error )
 
127
  cff_point_size_reset( FT_Size     cffsize,
 
128
                        FT_F26Dot6  char_width,
 
129
                        FT_F26Dot6  char_height,
 
130
                        FT_UInt     horz_resolution,
 
131
                        FT_UInt     vert_resolution );
 
132
 
 
133
  FT_LOCAL( void )
 
134
  cff_slot_done( FT_GlyphSlot  slot );
 
135
 
 
136
  FT_LOCAL( FT_Error )
 
137
  cff_slot_init( FT_GlyphSlot  slot );
 
138
 
 
139
 
 
140
  /*************************************************************************/
 
141
  /*                                                                       */
 
142
  /* Face functions                                                        */
 
143
  /*                                                                       */
 
144
  FT_LOCAL( FT_Error )
 
145
  cff_face_init( FT_Stream      stream,
 
146
                 FT_Face        face,           /* CFF_Face */
 
147
                 FT_Int         face_index,
 
148
                 FT_Int         num_params,
 
149
                 FT_Parameter*  params );
 
150
 
 
151
  FT_LOCAL( void )
 
152
  cff_face_done( FT_Face  face );               /* CFF_Face */
 
153
 
 
154
 
 
155
  /*************************************************************************/
 
156
  /*                                                                       */
 
157
  /* Driver functions                                                      */
 
158
  /*                                                                       */
 
159
  FT_LOCAL( FT_Error )
 
160
  cff_driver_init( FT_Module  module );
 
161
 
 
162
  FT_LOCAL( void )
 
163
  cff_driver_done( FT_Module  module );
 
164
 
 
165
 
 
166
FT_END_HEADER
 
167
 
 
168
#endif /* __CFFOBJS_H__ */
 
169
 
 
170
 
 
171
/* END */