1 /***************************************************************************/
5 /* OpenType objects manager (specification). */
7 /* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
24 #include FT_INTERNAL_OBJECTS_H
26 #include FT_INTERNAL_TRUETYPE_TYPES_H
27 #include FT_SERVICE_POSTSCRIPT_CMAPS_H
28 #include FT_INTERNAL_POSTSCRIPT_HINTS_H
34 /*************************************************************************/
40 /* A handle to an OpenType driver object. */
42 typedef struct CFF_DriverRec_
* CFF_Driver
;
44 typedef TT_Face CFF_Face
;
47 /*************************************************************************/
53 /* A handle to an OpenType size object. */
55 typedef struct CFF_SizeRec_
58 FT_ULong strike_index
; /* 0xFFFFFFFF to indicate invalid */
60 } CFF_SizeRec
, *CFF_Size
;
63 /*************************************************************************/
69 /* A handle to an OpenType glyph slot object. */
71 typedef struct CFF_GlyphSlotRec_
81 } CFF_GlyphSlotRec
, *CFF_GlyphSlot
;
84 /*************************************************************************/
90 /* The interface to the `internal' field of `FT_Size'. */
92 typedef struct CFF_InternalRec_
95 PSH_Globals subfonts
[CFF_MAX_CID_FONTS
];
97 } CFF_InternalRec
, *CFF_Internal
;
100 /*************************************************************************/
102 /* Subglyph transformation record. */
104 typedef struct CFF_Transform_
106 FT_Fixed xx
, xy
; /* transformation matrix coefficients */
108 FT_F26Dot6 ox
, oy
; /* offsets */
113 /***********************************************************************/
115 /* TrueType driver class. */
117 typedef struct CFF_DriverRec_
120 void* extension_component
;
126 cff_size_init( FT_Size size
); /* CFF_Size */
129 cff_size_done( FT_Size size
); /* CFF_Size */
132 cff_size_request( FT_Size size
,
133 FT_Size_Request req
);
135 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
138 cff_size_select( FT_Size size
,
139 FT_ULong strike_index
);
144 cff_slot_done( FT_GlyphSlot slot
);
147 cff_slot_init( FT_GlyphSlot slot
);
150 /*************************************************************************/
155 cff_face_init( FT_Stream stream
,
156 FT_Face face
, /* CFF_Face */
159 FT_Parameter
* params
);
162 cff_face_done( FT_Face face
); /* CFF_Face */
165 /*************************************************************************/
167 /* Driver functions */
170 cff_driver_init( FT_Module module
);
173 cff_driver_done( FT_Module module
);
178 #endif /* __CFFOBJS_H__ */