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
32FT_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
117FT_END_HEADER
118
119
120#endif /* T42OBJS_H_ */
121
122
123/* END */
124