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