ref: 8cfb220eb976949396a4949320424e8c4e9fb19d
dir: /src/cff/cffobjs.h/
/***************************************************************************/ /* */ /* cffobjs.h */ /* */ /* OpenType objects manager (specification). */ /* */ /* Copyright 1996-2001, 2002, 2003, 2004 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 <ft2build.h> #include FT_INTERNAL_OBJECTS_H #include "cfftypes.h" #include FT_INTERNAL_TRUETYPE_TYPES_H #include FT_SERVICE_POSTSCRIPT_CMAPS_H FT_BEGIN_HEADER /*************************************************************************/ /* */ /* <Type> */ /* CFF_Driver */ /* */ /* <Description> */ /* A handle to an OpenType driver object. */ /* */ typedef struct CFF_DriverRec_* CFF_Driver; typedef TT_Face CFF_Face; /*************************************************************************/ /* */ /* <Type> */ /* CFF_Size */ /* */ /* <Description> */ /* A handle to an OpenType size object. */ /* */ typedef struct CFF_SizeRec_ { FT_SizeRec root; #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS FT_UInt strike_index; /* 0xFFFF to indicate invalid */ FT_Size_Metrics strike_metrics; /* current strike's metrics */ #endif } CFF_SizeRec, *CFF_Size; /*************************************************************************/ /* */ /* <Type> */ /* CFF_GlyphSlot */ /* */ /* <Description> */ /* 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; /***********************************************************************/ /* */ /* TrueType driver class. */ /* */ typedef struct CFF_DriverRec_ { FT_DriverRec root; void* extension_component; } CFF_DriverRec; FT_LOCAL( FT_Error ) cff_size_init( FT_Size size ); /* CFF_Size */ FT_LOCAL( void ) cff_size_done( FT_Size size ); /* CFF_Size */ FT_LOCAL( FT_Error ) cff_size_reset( FT_Size size, /* CFF_Size */ FT_UInt char_width, FT_UInt char_height ); FT_LOCAL( FT_Error ) cff_point_size_reset( FT_Size cffsize, FT_F26Dot6 char_width, FT_F26Dot6 char_height, FT_UInt horz_resolution, FT_UInt vert_resolution ); FT_LOCAL( void ) cff_slot_done( FT_GlyphSlot slot ); FT_LOCAL( FT_Error ) cff_slot_init( FT_GlyphSlot slot ); /*************************************************************************/ /* */ /* Face functions */ /* */ FT_LOCAL( FT_Error ) cff_face_init( FT_Stream stream, FT_Face face, /* CFF_Face */ FT_Int face_index, FT_Int num_params, FT_Parameter* params ); FT_LOCAL( void ) cff_face_done( FT_Face face ); /* CFF_Face */ /*************************************************************************/ /* */ /* Driver functions */ /* */ FT_LOCAL( FT_Error ) cff_driver_init( FT_Module module ); FT_LOCAL( void ) cff_driver_done( FT_Module module ); FT_END_HEADER #endif /* __CFFOBJS_H__ */ /* END */