source: trunk/poppler/freetype-2.1.10/src/type1/t1objs.h @ 2

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

First import

File size: 7.2 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  t1objs.h                                                               */
4/*                                                                         */
5/*    Type 1 objects manager (specification).                              */
6/*                                                                         */
7/*  Copyright 1996-2001, 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 __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_Reset( T1_Size  size );
113
114  FT_LOCAL( FT_Error )
115  T1_Size_Init( T1_Size  size );
116
117
118  /*************************************************************************/
119  /*                                                                       */
120  /* <Type>                                                                */
121  /*    T1_GlyphSlotRec                                                    */
122  /*                                                                       */
123  /* <Description>                                                         */
124  /*    Type 1 glyph slot record.                                          */
125  /*                                                                       */
126  typedef struct  T1_GlyphSlotRec_
127  {
128    FT_GlyphSlotRec  root;
129
130    FT_Bool          hint;
131    FT_Bool          scaled;
132
133    FT_Int           max_points;
134    FT_Int           max_contours;
135
136    FT_Fixed         x_scale;
137    FT_Fixed         y_scale;
138
139  } T1_GlyphSlotRec;
140
141
142  FT_LOCAL( FT_Error )
143  T1_Face_Init( FT_Stream      stream,
144                T1_Face        face,
145                FT_Int         face_index,
146                FT_Int         num_params,
147                FT_Parameter*  params );
148
149  FT_LOCAL( void )
150  T1_Face_Done( T1_Face  face );
151
152  FT_LOCAL( FT_Error )
153  T1_GlyphSlot_Init( T1_GlyphSlot  slot );
154 
155  FT_LOCAL( void )
156  T1_GlyphSlot_Done( T1_GlyphSlot  slot );
157
158  FT_LOCAL( FT_Error )
159  T1_Driver_Init( T1_Driver  driver );
160
161  FT_LOCAL( void )
162  T1_Driver_Done( T1_Driver  driver );
163
164
165FT_END_HEADER
166
167#endif /* __T1OBJS_H__ */
168
169
170/* END */
Note: See TracBrowser for help on using the repository browser.