• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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