source: trunk/poppler/freetype-2.1.10/src/cid/cidobjs.h @ 2

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

First import

File size: 6.5 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  cidobjs.h                                                              */
4/*                                                                         */
5/*    CID objects manager (specification).                                 */
6/*                                                                         */
7/*  Copyright 1996-2001, 2002, 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 __CIDOBJS_H__
20#define __CIDOBJS_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 CID_Size_Hints_   CID_Size_Hints;
34  typedef struct CID_Glyph_Hints_  CID_Glyph_Hints;
35
36
37  /*************************************************************************/
38  /*                                                                       */
39  /* <Type>                                                                */
40  /*    CID_Driver                                                         */
41  /*                                                                       */
42  /* <Description>                                                         */
43  /*    A handle to a Type 1 driver object.                                */
44  /*                                                                       */
45  typedef struct CID_DriverRec_*  CID_Driver;
46
47
48  /*************************************************************************/
49  /*                                                                       */
50  /* <Type>                                                                */
51  /*    CID_Size                                                           */
52  /*                                                                       */
53  /* <Description>                                                         */
54  /*    A handle to a Type 1 size object.                                  */
55  /*                                                                       */
56  typedef struct CID_SizeRec_*  CID_Size;
57
58
59  /*************************************************************************/
60  /*                                                                       */
61  /* <Type>                                                                */
62  /*    CID_GlyphSlot                                                      */
63  /*                                                                       */
64  /* <Description>                                                         */
65  /*    A handle to a Type 1 glyph slot object.                            */
66  /*                                                                       */
67  typedef struct CID_GlyphSlotRec_*  CID_GlyphSlot;
68
69
70  /*************************************************************************/
71  /*                                                                       */
72  /* <Type>                                                                */
73  /*    CID_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 CID_CharMapRec_*  CID_CharMap;
84
85
86  /*************************************************************************/
87  /*                                                                       */
88  /* HERE BEGINS THE TYPE 1 SPECIFIC STUFF                                 */
89  /*                                                                       */
90  /*************************************************************************/
91
92
93  typedef struct  CID_SizeRec_
94  {
95    FT_SizeRec  root;
96    FT_Bool     valid;
97
98  } CID_SizeRec;
99
100
101  typedef struct  CID_GlyphSlotRec_
102  {
103    FT_GlyphSlotRec  root;
104
105    FT_Bool          hint;
106    FT_Bool          scaled;
107
108    FT_Fixed         x_scale;
109    FT_Fixed         y_scale;
110
111  } CID_GlyphSlotRec;
112
113
114  FT_LOCAL( void )
115  cid_slot_done( FT_GlyphSlot  slot );
116
117  FT_LOCAL( FT_Error )
118  cid_slot_init( FT_GlyphSlot  slot );
119
120
121  FT_LOCAL( void )
122  cid_size_done( FT_Size  size );       /* CID_Size */
123
124  FT_LOCAL( FT_Error )
125  cid_size_init( FT_Size  size );       /* CID_Size */
126
127  FT_LOCAL( FT_Error )
128  cid_size_reset( FT_Size  size,        /* CID_Size */
129                  FT_UInt  char_width,
130                  FT_UInt  char_height );
131
132  FT_LOCAL( FT_Error )
133  cid_point_size_reset( FT_Size     size,
134                        FT_F26Dot6  char_width,
135                        FT_F26Dot6  char_height,
136                        FT_UInt     horz_resolution,
137                        FT_UInt     vert_resolution );
138
139
140  FT_LOCAL( FT_Error )
141  cid_face_init( FT_Stream      stream,
142                 FT_Face        face,           /* CID_Face */
143                 FT_Int         face_index,
144                 FT_Int         num_params,
145                 FT_Parameter*  params );
146
147  FT_LOCAL( void )
148  cid_face_done( FT_Face  face );               /* CID_Face */
149
150
151  FT_LOCAL( FT_Error )
152  cid_driver_init( FT_Module  driver );
153
154  FT_LOCAL( void )
155  cid_driver_done( FT_Module  driver );
156
157
158FT_END_HEADER
159
160#endif /* __CIDOBJS_H__ */
161
162
163/* END */
Note: See TracBrowser for help on using the repository browser.