source: trunk/poppler/freetype-2.1.10/src/cff/cffobjs.h @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 16 years ago

First import

File size: 6.6 KB
RevLine 
[2]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
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
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
166FT_END_HEADER
167
168#endif /* __CFFOBJS_H__ */
169
170
171/* END */
Note: See TracBrowser for help on using the repository browser.