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 | |