1 /**************************************************************************** 2 * 3 * pfrobjs.h 4 * 5 * FreeType PFR object methods (specification). 6 * 7 * Copyright 2002-2018 by 8 * David Turner, Robert Wilhelm, and Werner Lemberg. 9 * 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. 15 * 16 */ 17 18 19 #ifndef PFROBJS_H_ 20 #define PFROBJS_H_ 21 22 #include "pfrtypes.h" 23 24 25 FT_BEGIN_HEADER 26 27 typedef struct PFR_FaceRec_* PFR_Face; 28 29 typedef struct PFR_SizeRec_* PFR_Size; 30 31 typedef struct PFR_SlotRec_* PFR_Slot; 32 33 34 typedef struct PFR_FaceRec_ 35 { 36 FT_FaceRec root; 37 PFR_HeaderRec header; 38 PFR_LogFontRec log_font; 39 PFR_PhyFontRec phy_font; 40 41 } PFR_FaceRec; 42 43 44 typedef struct PFR_SizeRec_ 45 { 46 FT_SizeRec root; 47 48 } PFR_SizeRec; 49 50 51 typedef struct PFR_SlotRec_ 52 { 53 FT_GlyphSlotRec root; 54 PFR_GlyphRec glyph; 55 56 } PFR_SlotRec; 57 58 59 FT_LOCAL( FT_Error ) 60 pfr_face_init( FT_Stream stream, 61 FT_Face face, /* PFR_Face */ 62 FT_Int face_index, 63 FT_Int num_params, 64 FT_Parameter* params ); 65 66 FT_LOCAL( void ) 67 pfr_face_done( FT_Face face ); /* PFR_Face */ 68 69 70 FT_LOCAL( FT_Error ) 71 pfr_face_get_kerning( FT_Face face, /* PFR_Face */ 72 FT_UInt glyph1, 73 FT_UInt glyph2, 74 FT_Vector* kerning ); 75 76 77 FT_LOCAL( FT_Error ) 78 pfr_slot_init( FT_GlyphSlot slot ); /* PFR_Slot */ 79 80 FT_LOCAL( void ) 81 pfr_slot_done( FT_GlyphSlot slot ); /* PFR_Slot */ 82 83 84 FT_LOCAL( FT_Error ) 85 pfr_slot_load( FT_GlyphSlot slot, /* PFR_Slot */ 86 FT_Size size, /* PFR_Size */ 87 FT_UInt gindex, 88 FT_Int32 load_flags ); 89 90 91 FT_END_HEADER 92 93 #endif /* PFROBJS_H_ */ 94 95 96 /* END */ 97