XenevaOS
Loading...
Searching...
No Matches
t1types.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * t1types.h
4 *
5 * Basic Type1/Type2 type definitions and interface (specification
6 * only).
7 *
8 * Copyright (C) 1996-2019 by
9 * David Turner, Robert Wilhelm, and Werner Lemberg.
10 *
11 * This file is part of the FreeType project, and may only be used,
12 * modified, and distributed under the terms of the FreeType project
13 * license, LICENSE.TXT. By continuing to use, modify, or distribute
14 * this file you indicate that you have read the license and
15 * understand and accept it fully.
16 *
17 */
18
19
20#ifndef T1TYPES_H_
21#define T1TYPES_H_
22
23
24#include <ft2build.h>
25#include FT_TYPE1_TABLES_H
26#include FT_INTERNAL_POSTSCRIPT_HINTS_H
27#include FT_INTERNAL_SERVICE_H
28#include FT_INTERNAL_HASH_H
29#include FT_SERVICE_POSTSCRIPT_CMAPS_H
30
31
33
34
35 /*************************************************************************/
36 /*************************************************************************/
37 /*************************************************************************/
38 /*** ***/
39 /*** ***/
40 /*** REQUIRED TYPE1/TYPE2 TABLES DEFINITIONS ***/
41 /*** ***/
42 /*** ***/
43 /*************************************************************************/
44 /*************************************************************************/
45 /*************************************************************************/
46
47
48 /**************************************************************************
49 *
50 * @struct:
51 * T1_EncodingRec
52 *
53 * @description:
54 * A structure modeling a custom encoding.
55 *
56 * @fields:
57 * num_chars ::
58 * The number of character codes in the encoding. Usually 256.
59 *
60 * code_first ::
61 * The lowest valid character code in the encoding.
62 *
63 * code_last ::
64 * The highest valid character code in the encoding + 1. When equal to
65 * code_first there are no valid character codes.
66 *
67 * char_index ::
68 * An array of corresponding glyph indices.
69 *
70 * char_name ::
71 * An array of corresponding glyph names.
72 */
83
84
85 /* used to hold extra data of PS_FontInfoRec that
86 * cannot be stored in the publicly defined structure.
87 *
88 * Note these can't be blended with multiple-masters.
89 */
95
96
131
132
139
140
141 /*************************************************************************/
142 /*************************************************************************/
143 /*************************************************************************/
144 /*** ***/
145 /*** ***/
146 /*** AFM FONT INFORMATION STRUCTURES ***/
147 /*** ***/
148 /*** ***/
149 /*************************************************************************/
150 /*************************************************************************/
151 /*************************************************************************/
152
162
171
184
185
186 /*************************************************************************/
187 /*************************************************************************/
188 /*************************************************************************/
189 /*** ***/
190 /*** ***/
191 /*** ORIGINAL T1_FACE CLASS DEFINITION ***/
192 /*** ***/
193 /*** ***/
194 /*************************************************************************/
195 /*************************************************************************/
196 /*************************************************************************/
197
198
199 typedef struct T1_FaceRec_* T1_Face;
200 typedef struct CID_FaceRec_* CID_Face;
201
202
203 typedef struct T1_FaceRec_
204 {
207 const void* psnames;
208 const void* psaux;
209 const void* afm_data;
212
213 /* support for Multiple Masters fonts */
215
216 /* undocumented, optional: indices of subroutines that express */
217 /* the NormalizeDesignVector and the ConvertDesignVector procedure, */
218 /* respectively, as Type 2 charstrings; -1 if keywords not present */
221
222 /* undocumented, optional: has the same meaning as len_buildchar */
223 /* for Type 2 fonts; manipulated by othersubrs 19, 24, and 25 */
226
227 /* since version 2.1 - interface to PostScript hinter */
228 const void* pshinter;
229
231
232
233 typedef struct CID_FaceRec_
234 {
236 void* psnames;
237 void* psaux;
240#if 0
241 void* afm_data;
242#endif
244
245 /* since version 2.1 - interface to PostScript hinter */
246 void* pshinter;
247
248 /* since version 2.1.8, but was originally positioned after `afm_data' */
249 FT_Byte* binary_data; /* used if hex data has been converted */
251
253
254
256
257#endif /* T1TYPES_H_ */
258
259
260/* END */
#define FT_END_HEADER
Definition ftheader.h:54
#define FT_BEGIN_HEADER
Definition ftheader.h:36
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition fttypes.h:108
unsigned char FT_Byte
Definition fttypes.h:154
signed long FT_Fixed
Definition fttypes.h:287
signed long FT_Long
Definition fttypes.h:242
unsigned short FT_UShort
Definition fttypes.h:209
char FT_String
Definition fttypes.h:187
unsigned int FT_UInt
Definition fttypes.h:231
signed int FT_Int
Definition fttypes.h:220
Definition t1types.h:173
FT_Fixed Ascender
Definition t1types.h:176
AFM_KernPair KernPairs
Definition t1types.h:180
FT_Fixed Descender
Definition t1types.h:177
FT_Bool IsCIDFont
Definition t1types.h:174
FT_UInt NumKernPair
Definition t1types.h:181
AFM_TrackKern TrackKerns
Definition t1types.h:178
FT_UInt NumTrackKern
Definition t1types.h:179
FT_BBox FontBBox
Definition t1types.h:175
Definition t1types.h:164
FT_UInt index2
Definition t1types.h:166
FT_Int x
Definition t1types.h:167
FT_Int y
Definition t1types.h:168
FT_UInt index1
Definition t1types.h:165
Definition t1types.h:154
FT_Int degree
Definition t1types.h:155
FT_Fixed max_ptsize
Definition t1types.h:158
FT_Fixed min_ptsize
Definition t1types.h:156
FT_Fixed max_kern
Definition t1types.h:159
FT_Fixed min_kern
Definition t1types.h:157
Definition t1tables.h:402
Definition t1types.h:234
CID_FaceInfoRec cid
Definition t1types.h:238
FT_Stream cid_stream
Definition t1types.h:250
FT_Byte * binary_data
Definition t1types.h:249
void * pshinter
Definition t1types.h:246
void * psaux
Definition t1types.h:237
CID_Subrs subrs
Definition t1types.h:243
void * psnames
Definition t1types.h:236
PS_FontExtraRec font_extra
Definition t1types.h:239
FT_FaceRec root
Definition t1types.h:235
Definition t1types.h:134
FT_Byte ** code
Definition t1types.h:136
FT_Int num_subrs
Definition t1types.h:135
Definition ftimage.h:120
Definition freetype.h:834
Definition freetype.h:1042
Definition fthash.h:80
Definition fttypes.h:391
Definition ftsystem.h:329
Definition ftimage.h:77
Definition t1tables.h:297
Definition t1types.h:91
FT_UShort fs_type
Definition t1types.h:92
Definition t1tables.h:138
Definition t1types.h:74
FT_UShort * char_index
Definition t1types.h:79
FT_Int code_last
Definition t1types.h:77
FT_String ** char_name
Definition t1types.h:80
FT_Int code_first
Definition t1types.h:76
FT_Int num_chars
Definition t1types.h:75
Definition t1types.h:204
FT_CharMapRec charmaprecs[2]
Definition t1types.h:210
FT_Int ndv_idx
Definition t1types.h:219
FT_CharMap charmaps[2]
Definition t1types.h:211
const void * psaux
Definition t1types.h:208
const void * pshinter
Definition t1types.h:228
FT_FaceRec root
Definition t1types.h:205
PS_Blend blend
Definition t1types.h:214
FT_UInt len_buildchar
Definition t1types.h:224
FT_Int cdv_idx
Definition t1types.h:220
T1_FontRec type1
Definition t1types.h:206
const void * psnames
Definition t1types.h:207
FT_Long * buildchar
Definition t1types.h:225
const void * afm_data
Definition t1types.h:209
Definition t1types.h:98
FT_Long font_id
Definition t1types.h:126
PS_PrivateRec private_dict
Definition t1types.h:101
T1_EncodingType encoding_type
Definition t1types.h:104
PS_FontInfoRec font_info
Definition t1types.h:99
FT_Byte * subrs_block
Definition t1types.h:107
FT_Byte ** subrs
Definition t1types.h:112
FT_Int num_glyphs
Definition t1types.h:116
FT_UInt * charstrings_len
Definition t1types.h:119
FT_String ** glyph_names
Definition t1types.h:117
T1_EncodingRec encoding
Definition t1types.h:105
FT_Byte paint_type
Definition t1types.h:121
FT_BBox font_bbox
Definition t1types.h:125
FT_String * font_name
Definition t1types.h:102
FT_Matrix font_matrix
Definition t1types.h:123
FT_Int num_subrs
Definition t1types.h:111
FT_Byte * charstrings_block
Definition t1types.h:108
PS_FontExtraRec font_extra
Definition t1types.h:100
FT_Hash subrs_hash
Definition t1types.h:114
FT_Byte font_type
Definition t1types.h:122
FT_Byte ** charstrings
Definition t1types.h:118
FT_UInt * subrs_len
Definition t1types.h:113
FT_Vector font_offset
Definition t1types.h:124
FT_Fixed stroke_width
Definition t1types.h:128
FT_Byte * glyph_names_block
Definition t1types.h:109
FT_BEGIN_HEADER struct PS_FontInfoRec_ PS_FontInfoRec
enum T1_EncodingType_ T1_EncodingType
struct T1_FontRec_ T1_FontRec
struct CID_FaceRec_ * CID_Face
Definition t1types.h:200
struct CID_FaceRec_ CID_FaceRec
FT_BEGIN_HEADER struct T1_EncodingRecRec_ T1_EncodingRec
FT_BEGIN_HEADER struct T1_EncodingRecRec_ * T1_Encoding
struct AFM_TrackKernRec_ AFM_TrackKernRec
struct AFM_TrackKernRec_ * AFM_TrackKern
struct PS_FontExtraRec_ PS_FontExtraRec
struct T1_FaceRec_ T1_FaceRec
struct T1_FontRec_ * T1_Font
struct AFM_FontInfoRec_ * AFM_FontInfo
struct AFM_KernPairRec_ AFM_KernPairRec
struct T1_FaceRec_ * T1_Face
Definition t1types.h:199
struct AFM_FontInfoRec_ AFM_FontInfoRec
struct CID_SubrsRec_ CID_SubrsRec
struct CID_SubrsRec_ * CID_Subrs
struct AFM_KernPairRec_ * AFM_KernPair