ref: 866d74c0c4bb50e85e9e8bb95140c10d409e53be
dir: /libfreetype/t1objs.h/
/***************************************************************************/ /* */ /* t1objs.h */ /* */ /* Type 1 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 __T1OBJS_H__ #define __T1OBJS_H__ #include <ft2build.h> #include FT_INTERNAL_OBJECTS_H #include FT_CONFIG_CONFIG_H #include FT_INTERNAL_TYPE1_TYPES_H FT_BEGIN_HEADER /* The following structures must be defined by the hinter */ typedef struct T1_Size_Hints_ T1_Size_Hints; typedef struct T1_Glyph_Hints_ T1_Glyph_Hints; /*************************************************************************/ /* */ /* <Type> */ /* T1_Driver */ /* */ /* <Description> */ /* A handle to a Type 1 driver object. */ /* */ typedef struct T1_DriverRec_ *T1_Driver; /*************************************************************************/ /* */ /* <Type> */ /* T1_Size */ /* */ /* <Description> */ /* A handle to a Type 1 size object. */ /* */ typedef struct T1_SizeRec_* T1_Size; /*************************************************************************/ /* */ /* <Type> */ /* T1_GlyphSlot */ /* */ /* <Description> */ /* A handle to a Type 1 glyph slot object. */ /* */ typedef struct T1_GlyphSlotRec_* T1_GlyphSlot; /*************************************************************************/ /* */ /* <Type> */ /* T1_CharMap */ /* */ /* <Description> */ /* A handle to a Type 1 character mapping object. */ /* */ /* <Note> */ /* The Type 1 format doesn't use a charmap but an encoding table. */ /* The driver is responsible for making up charmap objects */ /* corresponding to these tables. */ /* */ typedef struct T1_CharMapRec_* T1_CharMap; /*************************************************************************/ /* */ /* HERE BEGINS THE TYPE1 SPECIFIC STUFF */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* <Type> */ /* T1_SizeRec */ /* */ /* <Description> */ /* Type 1 size record. */ /* */ typedef struct T1_SizeRec_ { FT_SizeRec root; } T1_SizeRec; FT_LOCAL( void ) T1_Size_Done( T1_Size size ); FT_LOCAL( FT_Error ) T1_Size_Reset( T1_Size size ); FT_LOCAL( FT_Error ) T1_Size_Init( T1_Size size ); /*************************************************************************/ /* */ /* <Type> */ /* T1_GlyphSlotRec */ /* */ /* <Description> */ /* Type 1 glyph slot record. */ /* */ typedef struct T1_GlyphSlotRec_ { FT_GlyphSlotRec root; FT_Bool hint; FT_Bool scaled; FT_Int max_points; FT_Int max_contours; FT_Fixed x_scale; FT_Fixed y_scale; } T1_GlyphSlotRec; FT_LOCAL( FT_Error ) T1_Face_Init( FT_Stream stream, T1_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter* params ); FT_LOCAL( void ) T1_Face_Done( T1_Face face ); FT_LOCAL( FT_Error ) T1_GlyphSlot_Init( T1_GlyphSlot slot ); FT_LOCAL( void ) T1_GlyphSlot_Done( T1_GlyphSlot slot ); FT_LOCAL( FT_Error ) T1_Driver_Init( T1_Driver driver ); FT_LOCAL( void ) T1_Driver_Done( T1_Driver driver ); FT_END_HEADER #endif /* __T1OBJS_H__ */ /* END */