source: trunk/poppler/freetype-2.2.1/src/cff/cffobjs.h @ 150

Last change on this file since 150 was 150, checked in by Eugene Romanenko, 15 years ago

update freetype to 2.2.1

File size: 6.4 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  cffobjs.h                                                              */
4/*                                                                         */
5/*    OpenType objects manager (specification).                            */
6/*                                                                         */
7/*  Copyright 1996-2001, 2002, 2003, 2004, 2006 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
30FT_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    FT_ULong         strike_index;    /* 0xFFFFFFFF to indicate invalid */
58
59  } CFF_SizeRec, *CFF_Size;
60
61
62  /*************************************************************************/
63  /*                                                                       */
64  /* <Type>                                                                */
65  /*    CFF_GlyphSlot                                                      */
66  /*                                                                       */
67  /* <Description>                                                         */
68  /*    A handle to an OpenType glyph slot object.                         */
69  /*                                                                       */
70  typedef struct  CFF_GlyphSlotRec_
71  {
72    FT_GlyphSlotRec  root;
73
74    FT_Bool          hint;
75    FT_Bool          scaled;
76
77    FT_Fixed         x_scale;
78    FT_Fixed         y_scale;
79
80  } CFF_GlyphSlotRec, *CFF_GlyphSlot;
81
82
83
84  /*************************************************************************/
85  /*                                                                       */
86  /* Subglyph transformation record.                                       */
87  /*                                                                       */
88  typedef struct  CFF_Transform_
89  {
90    FT_Fixed    xx, xy;     /* transformation matrix coefficients */
91    FT_Fixed    yx, yy;
92    FT_F26Dot6  ox, oy;     /* offsets        */
93
94  } CFF_Transform;
95
96
97  /***********************************************************************/
98  /*                                                                     */
99  /* TrueType driver class.                                              */
100  /*                                                                     */
101  typedef struct  CFF_DriverRec_
102  {
103    FT_DriverRec  root;
104    void*         extension_component;
105
106  } CFF_DriverRec;
107
108
109  FT_LOCAL( FT_Error )
110  cff_size_init( FT_Size  size );           /* CFF_Size */
111
112  FT_LOCAL( void )
113  cff_size_done( FT_Size  size );           /* CFF_Size */
114
115  FT_LOCAL( FT_Error )
116  cff_size_request( FT_Size          size,
117                    FT_Size_Request  req );
118
119#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
120
121  FT_LOCAL( FT_Error )
122  cff_size_select( FT_Size   size,
123                   FT_ULong  index );
124
125#endif
126
127  FT_LOCAL( void )
128  cff_slot_done( FT_GlyphSlot  slot );
129
130  FT_LOCAL( FT_Error )
131  cff_slot_init( FT_GlyphSlot  slot );
132
133
134  /*************************************************************************/
135  /*                                                                       */
136  /* Face functions                                                        */
137  /*                                                                       */
138  FT_LOCAL( FT_Error )
139  cff_face_init( FT_Stream      stream,
140                 FT_Face        face,           /* CFF_Face */
141                 FT_Int         face_index,
142                 FT_Int         num_params,
143                 FT_Parameter*  params );
144
145  FT_LOCAL( void )
146  cff_face_done( FT_Face  face );               /* CFF_Face */
147
148
149  /*************************************************************************/
150  /*                                                                       */
151  /* Driver functions                                                      */
152  /*                                                                       */
153  FT_LOCAL( FT_Error )
154  cff_driver_init( FT_Module  module );
155
156  FT_LOCAL( void )
157  cff_driver_done( FT_Module  module );
158
159
160FT_END_HEADER
161
162#endif /* __CFFOBJS_H__ */
163
164
165/* END */
Note: See TracBrowser for help on using the repository browser.