1 /***************************************************************************/ |
1 /**************************************************************************** |
2 /* */ |
2 * |
3 /* cffotypes.h */ |
3 * cffotypes.h |
4 /* */ |
4 * |
5 /* Basic OpenType/CFF object type definitions (specification). */ |
5 * Basic OpenType/CFF object type definitions (specification). |
6 /* */ |
6 * |
7 /* Copyright 2017-2018 by */ |
7 * Copyright (C) 2017-2019 by |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
8 * David Turner, Robert Wilhelm, and Werner Lemberg. |
9 /* */ |
9 * |
10 /* This file is part of the FreeType project, and may only be used, */ |
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 */ |
11 * modified, and distributed under the terms of the FreeType project |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute |
13 /* this file you indicate that you have read the license and */ |
13 * this file you indicate that you have read the license and |
14 /* understand and accept it fully. */ |
14 * understand and accept it fully. |
15 /* */ |
15 * |
16 /***************************************************************************/ |
16 */ |
17 |
17 |
18 |
18 |
19 #ifndef CFFOTYPES_H_ |
19 #ifndef CFFOTYPES_H_ |
20 #define CFFOTYPES_H_ |
20 #define CFFOTYPES_H_ |
21 |
21 |
31 |
31 |
32 |
32 |
33 typedef TT_Face CFF_Face; |
33 typedef TT_Face CFF_Face; |
34 |
34 |
35 |
35 |
36 /*************************************************************************/ |
36 /************************************************************************** |
37 /* */ |
37 * |
38 /* <Type> */ |
38 * @type: |
39 /* CFF_Size */ |
39 * CFF_Size |
40 /* */ |
40 * |
41 /* <Description> */ |
41 * @description: |
42 /* A handle to an OpenType size object. */ |
42 * A handle to an OpenType size object. |
43 /* */ |
43 */ |
44 typedef struct CFF_SizeRec_ |
44 typedef struct CFF_SizeRec_ |
45 { |
45 { |
46 FT_SizeRec root; |
46 FT_SizeRec root; |
47 FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ |
47 FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ |
48 |
48 |
49 } CFF_SizeRec, *CFF_Size; |
49 } CFF_SizeRec, *CFF_Size; |
50 |
50 |
51 |
51 |
52 /*************************************************************************/ |
52 /************************************************************************** |
53 /* */ |
53 * |
54 /* <Type> */ |
54 * @type: |
55 /* CFF_GlyphSlot */ |
55 * CFF_GlyphSlot |
56 /* */ |
56 * |
57 /* <Description> */ |
57 * @description: |
58 /* A handle to an OpenType glyph slot object. */ |
58 * A handle to an OpenType glyph slot object. |
59 /* */ |
59 */ |
60 typedef struct CFF_GlyphSlotRec_ |
60 typedef struct CFF_GlyphSlotRec_ |
61 { |
61 { |
62 FT_GlyphSlotRec root; |
62 FT_GlyphSlotRec root; |
63 |
63 |
64 FT_Bool hint; |
64 FT_Bool hint; |
68 FT_Fixed y_scale; |
68 FT_Fixed y_scale; |
69 |
69 |
70 } CFF_GlyphSlotRec, *CFF_GlyphSlot; |
70 } CFF_GlyphSlotRec, *CFF_GlyphSlot; |
71 |
71 |
72 |
72 |
73 /*************************************************************************/ |
73 /************************************************************************** |
74 /* */ |
74 * |
75 /* <Type> */ |
75 * @type: |
76 /* CFF_Internal */ |
76 * CFF_Internal |
77 /* */ |
77 * |
78 /* <Description> */ |
78 * @description: |
79 /* The interface to the `internal' field of `FT_Size'. */ |
79 * The interface to the 'internal' field of `FT_Size`. |
80 /* */ |
80 */ |
81 typedef struct CFF_InternalRec_ |
81 typedef struct CFF_InternalRec_ |
82 { |
82 { |
83 PSH_Globals topfont; |
83 PSH_Globals topfont; |
84 PSH_Globals subfonts[CFF_MAX_CID_FONTS]; |
84 PSH_Globals subfonts[CFF_MAX_CID_FONTS]; |
85 |
85 |
86 } CFF_InternalRec, *CFF_Internal; |
86 } CFF_InternalRec, *CFF_Internal; |
87 |
87 |
88 |
88 |
89 /*************************************************************************/ |
89 /************************************************************************** |
90 /* */ |
90 * |
91 /* Subglyph transformation record. */ |
91 * Subglyph transformation record. |
92 /* */ |
92 */ |
93 typedef struct CFF_Transform_ |
93 typedef struct CFF_Transform_ |
94 { |
94 { |
95 FT_Fixed xx, xy; /* transformation matrix coefficients */ |
95 FT_Fixed xx, xy; /* transformation matrix coefficients */ |
96 FT_Fixed yx, yy; |
96 FT_Fixed yx, yy; |
97 FT_F26Dot6 ox, oy; /* offsets */ |
97 FT_F26Dot6 ox, oy; /* offsets */ |