The BIG graph update
[rrdtool.git] / libraries / freetype-2.0.5 / include / cffobjs.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  cffobjs.h                                                              */
4 /*                                                                         */
5 /*    OpenType objects manager (specification).                            */
6 /*                                                                         */
7 /*  Copyright 1996-2001 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 FT_INTERNAL_CFF_TYPES_H
26 #include FT_INTERNAL_POSTSCRIPT_NAMES_H
27
28
29 FT_BEGIN_HEADER
30
31
32   /*************************************************************************/
33   /*                                                                       */
34   /* <Type>                                                                */
35   /*    CFF_Driver                                                         */
36   /*                                                                       */
37   /* <Description>                                                         */
38   /*    A handle to an OpenType driver object.                             */
39   /*                                                                       */
40   typedef struct CFF_DriverRec_*  CFF_Driver;
41
42   typedef TT_Face  CFF_Face;
43
44
45   /*************************************************************************/
46   /*                                                                       */
47   /* <Type>                                                                */
48   /*    CFF_Size                                                           */
49   /*                                                                       */
50   /* <Description>                                                         */
51   /*    A handle to an OpenType size object.                               */
52   /*                                                                       */
53   typedef FT_Size  CFF_Size;
54
55
56   /*************************************************************************/
57   /*                                                                       */
58   /* <Type>                                                                */
59   /*    CFF_GlyphSlot                                                      */
60   /*                                                                       */
61   /* <Description>                                                         */
62   /*    A handle to an OpenType glyph slot object.                         */
63   /*                                                                       */
64   typedef struct  CFF_GlyphSlotRec_
65   {
66     FT_GlyphSlotRec  root;
67
68     FT_Bool          hint;
69     FT_Bool          scaled;
70
71     FT_Fixed         x_scale;
72     FT_Fixed         y_scale;
73
74   } CFF_GlyphSlotRec, *CFF_GlyphSlot;
75
76
77
78   /*************************************************************************/
79   /*                                                                       */
80   /* Subglyph transformation record.                                       */
81   /*                                                                       */
82   typedef struct  CFF_Transform_
83   {
84     FT_Fixed    xx, xy;     /* transformation matrix coefficients */
85     FT_Fixed    yx, yy;
86     FT_F26Dot6  ox, oy;     /* offsets        */
87
88   } CFF_Transform;
89
90
91   /* this is only used in the case of a pure CFF font with no charmap */
92   typedef struct  CFF_CharMapRec_
93   {
94     TT_CharMapRec  root;
95     PS_Unicodes    unicodes;
96
97   } CFF_CharMapRec, *CFF_CharMap;
98
99
100   /***********************************************************************/
101   /*                                                                     */
102   /* TrueType driver class.                                              */
103   /*                                                                     */
104   typedef struct  CFF_DriverRec_
105   {
106     FT_DriverRec  root;
107     void*         extension_component;
108
109   } CFF_DriverRec;
110
111
112   /*************************************************************************/
113   /*                                                                       */
114   /* Face functions                                                        */
115   /*                                                                       */
116   FT_LOCAL FT_Error
117   CFF_Init_Face( FT_Stream      stream,
118                  CFF_Face       face,
119                  FT_Int         face_index,
120                  FT_Int         num_params,
121                  FT_Parameter*  params );
122
123   FT_LOCAL void
124   CFF_Done_Face( CFF_Face  face );
125
126
127   /*************************************************************************/
128   /*                                                                       */
129   /* Driver functions                                                      */
130   /*                                                                       */
131   FT_LOCAL FT_Error
132   CFF_Init_Driver( CFF_Driver  driver );
133
134   FT_LOCAL void
135   CFF_Done_Driver( CFF_Driver  driver );
136
137
138 FT_END_HEADER
139
140 #endif /* __CFFOBJS_H__ */
141
142
143 /* END */