/***************************************************************************/ /* */ /* cffobjs.h */ /* */ /* OpenType objects manager (specification). */ /* */ /* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ #ifndef __CFFOBJS_H__ #define __CFFOBJS_H__ #include #include FT_INTERNAL_OBJECTS_H #include FT_INTERNAL_CFF_TYPES_H #include FT_INTERNAL_TRUETYPE_TYPES_H #include FT_INTERNAL_POSTSCRIPT_NAMES_H FT_BEGIN_HEADER /*************************************************************************/ /* */ /* */ /* CFF_Driver */ /* */ /* */ /* A handle to an OpenType driver object. */ /* */ typedef struct CFF_DriverRec_* CFF_Driver; typedef TT_Face CFF_Face; /*************************************************************************/ /* */ /* */ /* CFF_Size */ /* */ /* */ /* A handle to an OpenType size object. */ /* */ typedef FT_Size CFF_Size; /*************************************************************************/ /* */ /* */ /* CFF_GlyphSlot */ /* */ /* */ /* A handle to an OpenType glyph slot object. */ /* */ typedef struct CFF_GlyphSlotRec_ { FT_GlyphSlotRec root; FT_Bool hint; FT_Bool scaled; FT_Fixed x_scale; FT_Fixed y_scale; } CFF_GlyphSlotRec, *CFF_GlyphSlot; /*************************************************************************/ /* */ /* Subglyph transformation record. */ /* */ typedef struct CFF_Transform_ { FT_Fixed xx, xy; /* transformation matrix coefficients */ FT_Fixed yx, yy; FT_F26Dot6 ox, oy; /* offsets */ } CFF_Transform; /* this is only used in the case of a pure CFF font with no charmap */ typedef struct CFF_CharMapRec_ { TT_CharMapRec root; PS_Unicodes unicodes; } CFF_CharMapRec, *CFF_CharMap; /***********************************************************************/ /* */ /* TrueType driver class. */ /* */ typedef struct CFF_DriverRec_ { FT_DriverRec root; void* extension_component; } CFF_DriverRec; FT_LOCAL( FT_Error ) cff_size_init( CFF_Size size ); FT_LOCAL( void ) cff_size_done( CFF_Size size ); FT_LOCAL( FT_Error ) cff_size_reset( CFF_Size size ); FT_LOCAL( void ) cff_slot_done( CFF_GlyphSlot slot ); FT_LOCAL( FT_Error ) cff_slot_init( CFF_GlyphSlot slot ); /*************************************************************************/ /* */ /* Face functions */ /* */ FT_LOCAL( FT_Error ) cff_face_init( FT_Stream stream, CFF_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter* params ); FT_LOCAL( void ) cff_face_done( CFF_Face face ); /*************************************************************************/ /* */ /* Driver functions */ /* */ FT_LOCAL( FT_Error ) cff_driver_init( CFF_Driver driver ); FT_LOCAL( void ) cff_driver_done( CFF_Driver driver ); FT_END_HEADER #endif /* __CFFOBJS_H__ */ /* END */