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__ */