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