1
/***************************************************************************/
5
/* OpenType objects manager (specification). */
7
/* Copyright 1996-2001, 2002, 2003, 2004 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
33
/*************************************************************************/
39
/* A handle to an OpenType driver object. */
41
typedef struct CFF_DriverRec_* CFF_Driver;
43
typedef TT_Face CFF_Face;
46
/*************************************************************************/
52
/* A handle to an OpenType size object. */
54
typedef struct CFF_SizeRec_
58
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
60
FT_UInt strike_index; /* 0xFFFF to indicate invalid */
61
FT_Size_Metrics strike_metrics; /* current strike's metrics */
65
} CFF_SizeRec, *CFF_Size;
68
/*************************************************************************/
74
/* A handle to an OpenType glyph slot object. */
76
typedef struct CFF_GlyphSlotRec_
86
} CFF_GlyphSlotRec, *CFF_GlyphSlot;
90
/*************************************************************************/
92
/* Subglyph transformation record. */
94
typedef struct CFF_Transform_
96
FT_Fixed xx, xy; /* transformation matrix coefficients */
98
FT_F26Dot6 ox, oy; /* offsets */
103
/***********************************************************************/
105
/* TrueType driver class. */
107
typedef struct CFF_DriverRec_
110
void* extension_component;
116
cff_size_init( FT_Size size ); /* CFF_Size */
119
cff_size_done( FT_Size size ); /* CFF_Size */
122
cff_size_reset( FT_Size size, /* CFF_Size */
124
FT_UInt char_height );
127
cff_point_size_reset( FT_Size cffsize,
128
FT_F26Dot6 char_width,
129
FT_F26Dot6 char_height,
130
FT_UInt horz_resolution,
131
FT_UInt vert_resolution );
134
cff_slot_done( FT_GlyphSlot slot );
137
cff_slot_init( FT_GlyphSlot slot );
140
/*************************************************************************/
145
cff_face_init( FT_Stream stream,
146
FT_Face face, /* CFF_Face */
149
FT_Parameter* params );
152
cff_face_done( FT_Face face ); /* CFF_Face */
155
/*************************************************************************/
157
/* Driver functions */
160
cff_driver_init( FT_Module module );
163
cff_driver_done( FT_Module module );
168
#endif /* __CFFOBJS_H__ */