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