1 /**************************************************************************** 2 * 3 * t42objs.h 4 * 5 * Type 42 objects manager (specification). 6 * 7 * Copyright 2002-2018 by 8 * Roberto Alameda. 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 T42OBJS_H_ 20 #define T42OBJS_H_ 21 22 #include <ft2build.h> 23 #include FT_FREETYPE_H 24 #include FT_TYPE1_TABLES_H 25 #include FT_INTERNAL_TYPE1_TYPES_H 26 #include "t42types.h" 27 #include FT_INTERNAL_OBJECTS_H 28 #include FT_INTERNAL_DRIVER_H 29 #include FT_SERVICE_POSTSCRIPT_CMAPS_H 30 #include FT_INTERNAL_POSTSCRIPT_HINTS_H 31 32 33 FT_BEGIN_HEADER 34 35 36 /* Type42 size */ 37 typedef struct T42_SizeRec_ 38 { 39 FT_SizeRec root; 40 FT_Size ttsize; 41 42 } T42_SizeRec, *T42_Size; 43 44 45 /* Type42 slot */ 46 typedef struct T42_GlyphSlotRec_ 47 { 48 FT_GlyphSlotRec root; 49 FT_GlyphSlot ttslot; 50 51 } T42_GlyphSlotRec, *T42_GlyphSlot; 52 53 54 /* Type 42 driver */ 55 typedef struct T42_DriverRec_ 56 { 57 FT_DriverRec root; 58 FT_Driver_Class ttclazz; 59 60 } T42_DriverRec, *T42_Driver; 61 62 63 /* */ 64 65 66 FT_LOCAL( FT_Error ) 67 T42_Face_Init( FT_Stream stream, 68 FT_Face face, 69 FT_Int face_index, 70 FT_Int num_params, 71 FT_Parameter* params ); 72 73 74 FT_LOCAL( void ) 75 T42_Face_Done( FT_Face face ); 76 77 78 FT_LOCAL( FT_Error ) 79 T42_Size_Init( FT_Size size ); 80 81 82 FT_LOCAL( FT_Error ) 83 T42_Size_Request( FT_Size size, 84 FT_Size_Request req ); 85 86 87 FT_LOCAL( FT_Error ) 88 T42_Size_Select( FT_Size size, 89 FT_ULong strike_index ); 90 91 92 FT_LOCAL( void ) 93 T42_Size_Done( FT_Size size ); 94 95 96 FT_LOCAL( FT_Error ) 97 T42_GlyphSlot_Init( FT_GlyphSlot slot ); 98 99 100 FT_LOCAL( FT_Error ) 101 T42_GlyphSlot_Load( FT_GlyphSlot glyph, 102 FT_Size size, 103 FT_UInt glyph_index, 104 FT_Int32 load_flags ); 105 106 FT_LOCAL( void ) 107 T42_GlyphSlot_Done( FT_GlyphSlot slot ); 108 109 110 FT_LOCAL( FT_Error ) 111 T42_Driver_Init( FT_Module module ); 112 113 FT_LOCAL( void ) 114 T42_Driver_Done( FT_Module module ); 115 116 /* */ 117 118 FT_END_HEADER 119 120 121 #endif /* T42OBJS_H_ */ 122 123 124 /* END */ 125