source: trunk/poppler/freetype2/src/type1/t1objs.h @ 182

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

freetype update to version 2.3.0

File size: 7.5 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  t1objs.h                                                               */
4/*                                                                         */
5/*    Type 1 objects manager (specification).                              */
6/*                                                                         */
7/*  Copyright 1996-2001, 2002, 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 __T1OBJS_H__
20#define __T1OBJS_H__
21
22
23#include <ft2build.h>
24#include FT_INTERNAL_OBJECTS_H
25#include FT_CONFIG_CONFIG_H
26#include FT_INTERNAL_TYPE1_TYPES_H
27
28
29FT_BEGIN_HEADER
30
31
32  /* The following structures must be defined by the hinter */
33  typedef struct T1_Size_Hints_   T1_Size_Hints;
34  typedef struct T1_Glyph_Hints_  T1_Glyph_Hints;
35
36
37  /*************************************************************************/
38  /*                                                                       */
39  /* <Type>                                                                */
40  /*    T1_Driver                                                          */
41  /*                                                                       */
42  /* <Description>                                                         */
43  /*    A handle to a Type 1 driver object.                                */
44  /*                                                                       */
45  typedef struct T1_DriverRec_   *T1_Driver;
46
47
48  /*************************************************************************/
49  /*                                                                       */
50  /* <Type>                                                                */
51  /*    T1_Size                                                            */
52  /*                                                                       */
53  /* <Description>                                                         */
54  /*    A handle to a Type 1 size object.                                  */
55  /*                                                                       */
56  typedef struct T1_SizeRec_*  T1_Size;
57
58
59  /*************************************************************************/
60  /*                                                                       */
61  /* <Type>                                                                */
62  /*    T1_GlyphSlot                                                       */
63  /*                                                                       */
64  /* <Description>                                                         */
65  /*    A handle to a Type 1 glyph slot object.                            */
66  /*                                                                       */
67  typedef struct T1_GlyphSlotRec_*  T1_GlyphSlot;
68
69
70  /*************************************************************************/
71  /*                                                                       */
72  /* <Type>                                                                */
73  /*    T1_CharMap                                                         */
74  /*                                                                       */
75  /* <Description>                                                         */
76  /*    A handle to a Type 1 character mapping object.                     */
77  /*                                                                       */
78  /* <Note>                                                                */
79  /*    The Type 1 format doesn't use a charmap but an encoding table.     */
80  /*    The driver is responsible for making up charmap objects            */
81  /*    corresponding to these tables.                                     */
82  /*                                                                       */
83  typedef struct T1_CharMapRec_*   T1_CharMap;
84
85
86  /*************************************************************************/
87  /*                                                                       */
88  /*                  HERE BEGINS THE TYPE1 SPECIFIC STUFF                 */
89  /*                                                                       */
90  /*************************************************************************/
91
92
93  /*************************************************************************/
94  /*                                                                       */
95  /* <Type>                                                                */
96  /*    T1_SizeRec                                                         */
97  /*                                                                       */
98  /* <Description>                                                         */
99  /*    Type 1 size record.                                                */
100  /*                                                                       */
101  typedef struct  T1_SizeRec_
102  {
103    FT_SizeRec  root;
104
105  } T1_SizeRec;
106
107
108  FT_LOCAL( void )
109  T1_Size_Done( T1_Size  size );
110
111  FT_LOCAL( FT_Error )
112  T1_Size_Request( T1_Size          size,
113                   FT_Size_Request  req );
114
115  FT_LOCAL( FT_Error )
116  T1_Size_Init( T1_Size  size );
117
118
119  /*************************************************************************/
120  /*                                                                       */
121  /* <Type>                                                                */
122  /*    T1_GlyphSlotRec                                                    */
123  /*                                                                       */
124  /* <Description>                                                         */
125  /*    Type 1 glyph slot record.                                          */
126  /*                                                                       */
127  typedef struct  T1_GlyphSlotRec_
128  {
129    FT_GlyphSlotRec  root;
130
131    FT_Bool          hint;
132    FT_Bool          scaled;
133
134    FT_Int           max_points;
135    FT_Int           max_contours;
136
137    FT_Fixed         x_scale;
138    FT_Fixed         y_scale;
139
140  } T1_GlyphSlotRec;
141
142
143  FT_LOCAL( FT_Error )
144  T1_Face_Init( FT_Stream      stream,
145                T1_Face        face,
146                FT_Int         face_index,
147                FT_Int         num_params,
148                FT_Parameter*  params );
149
150  FT_LOCAL( void )
151  T1_Face_Done( T1_Face  face );
152
153  FT_LOCAL( FT_Error )
154  T1_GlyphSlot_Init( T1_GlyphSlot  slot );
155
156  FT_LOCAL( void )
157  T1_GlyphSlot_Done( T1_GlyphSlot  slot );
158
159  FT_LOCAL( FT_Error )
160  T1_Driver_Init( T1_Driver  driver );
161
162  FT_LOCAL( void )
163  T1_Driver_Done( T1_Driver  driver );
164
165
166FT_END_HEADER
167
168#endif /* __T1OBJS_H__ */
169
170
171/* END */
Note: See TracBrowser for help on using the repository browser.