1 /***************************************************************************/
5 /* OpenType objects manager (specification). */
7 /* Copyright 1996-2016 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 /* CFF driver class. */
117 typedef struct CFF_DriverRec_
121 FT_UInt hinting_engine
;
122 FT_Bool no_stem_darkening
;
124 FT_Int darken_params
[8];
130 cff_size_init( FT_Size size
); /* CFF_Size */
133 cff_size_done( FT_Size size
); /* CFF_Size */
136 cff_size_request( FT_Size size
,
137 FT_Size_Request req
);
139 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
142 cff_size_select( FT_Size size
,
143 FT_ULong strike_index
);
148 cff_slot_done( FT_GlyphSlot slot
);
151 cff_slot_init( FT_GlyphSlot slot
);
154 /*************************************************************************/
159 cff_face_init( FT_Stream stream
,
160 FT_Face face
, /* CFF_Face */
163 FT_Parameter
* params
);
166 cff_face_done( FT_Face face
); /* CFF_Face */
169 /*************************************************************************/
171 /* Driver functions */
174 cff_driver_init( FT_Module module
); /* CFF_Driver */
177 cff_driver_done( FT_Module module
); /* CFF_Driver */
182 #endif /* CFFOBJS_H_ */