1 /****************************************************************************
5 * Type 1 objects manager (specification).
7 * Copyright (C) 1996-2020 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
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.
24 #include <freetype/internal/ftobjs.h>
25 #include FT_CONFIG_CONFIG_H
26 #include <freetype/internal/t1types.h>
32 /* The following structures must be defined by the hinter */
33 typedef struct T1_Size_Hints_ T1_Size_Hints;
34 typedef struct T1_Glyph_Hints_ T1_Glyph_Hints;
37 /**************************************************************************
43 * A handle to a Type 1 size object.
45 typedef struct T1_SizeRec_* T1_Size;
48 /**************************************************************************
54 * A handle to a Type 1 glyph slot object.
56 typedef struct T1_GlyphSlotRec_* T1_GlyphSlot;
59 /**************************************************************************
65 * A handle to a Type 1 character mapping object.
68 * The Type 1 format doesn't use a charmap but an encoding table.
69 * The driver is responsible for making up charmap objects
70 * corresponding to these tables.
72 typedef struct T1_CharMapRec_* T1_CharMap;
75 /**************************************************************************
77 * HERE BEGINS THE TYPE1 SPECIFIC STUFF
82 /**************************************************************************
90 typedef struct T1_SizeRec_
98 T1_Size_Done( FT_Size size );
101 T1_Size_Request( FT_Size size,
102 FT_Size_Request req );
105 T1_Size_Init( FT_Size size );
108 /**************************************************************************
114 * Type 1 glyph slot record.
116 typedef struct T1_GlyphSlotRec_
118 FT_GlyphSlotRec root;
133 T1_Face_Init( FT_Stream stream,
137 FT_Parameter* params );
140 T1_Face_Done( FT_Face face );
143 T1_GlyphSlot_Init( FT_GlyphSlot slot );
146 T1_GlyphSlot_Done( FT_GlyphSlot slot );
149 T1_Driver_Init( FT_Module driver );
152 T1_Driver_Done( FT_Module driver );
157 #endif /* T1OBJS_H_ */