sdk-world
v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Toggle main menu visibility
Loading...
Searching...
No Matches
psfont.h
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* psfont.h
4
*
5
* Adobe's code for font instances (specification).
6
*
7
* Copyright 2007-2013 Adobe Systems Incorporated.
8
*
9
* This software, and all works of authorship, whether in source or
10
* object code form as indicated by the copyright notice(s) included
11
* herein (collectively, the "Work") is made available, and may only be
12
* used, modified, and distributed under the FreeType Project License,
13
* LICENSE.TXT. Additionally, subject to the terms and conditions of the
14
* FreeType Project License, each contributor to the Work hereby grants
15
* to any individual or legal entity exercising permissions granted by
16
* the FreeType Project License and this section (hereafter, "You" or
17
* "Your") a perpetual, worldwide, non-exclusive, no-charge,
18
* royalty-free, irrevocable (except as stated in this section) patent
19
* license to make, have made, use, offer to sell, sell, import, and
20
* otherwise transfer the Work, where such license applies only to those
21
* patent claims licensable by such contributor that are necessarily
22
* infringed by their contribution(s) alone or by combination of their
23
* contribution(s) with the Work to which such contribution(s) was
24
* submitted. If You institute patent litigation against any entity
25
* (including a cross-claim or counterclaim in a lawsuit) alleging that
26
* the Work or a contribution incorporated within the Work constitutes
27
* direct or contributory patent infringement, then any patent licenses
28
* granted to You under this License for that Work shall terminate as of
29
* the date such litigation is filed.
30
*
31
* By using, modifying, or distributing the Work you indicate that you
32
* have read and understood the terms and conditions of the
33
* FreeType Project License as well as those provided in this section,
34
* and you accept them fully.
35
*
36
*/
37
38
43
#ifndef PSFONT_H_
44
#define PSFONT_H_
45
46
47
#include <
freetype/internal/services/svcfftl.h
>
48
49
#include "
psft.h
"
50
#include "
psblues.h
"
51
52
53
FT_BEGIN_HEADER
54
55
56
#define CF2_OPERAND_STACK_SIZE 48
57
#define CF2_MAX_SUBR 16
/* maximum subroutine nesting; */
58
/* only 10 are allowed but there exist */
59
/* fonts like `HiraKakuProN-W3.ttf' */
60
/* (Hiragino Kaku Gothic ProN W3; */
61
/* 8.2d6e1; 2014-12-19) that exceed */
62
/* this limit */
63
#define CF2_STORAGE_SIZE 32
64
65
66
/* typedef is in `cf2glue.h' */
67
struct
CF2_FontRec_
68
{
69
FT_Memory memory;
70
FT_Error error;
/* shared error for this instance */
71
72
FT_Bool isT1;
73
FT_Bool isCFF2;
74
CF2_RenderingFlags renderingFlags;
75
76
/* variables that depend on Transform: */
77
/* the following have zero translation; */
78
/* inner * outer = font * original */
79
80
CF2_Matrix currentTransform;
/* original client matrix */
81
CF2_Matrix innerTransform;
/* for hinting; erect, scaled */
82
CF2_Matrix outerTransform;
/* post hinting; includes rotations */
83
CF2_Fixed ppem;
/* transform-dependent */
84
85
/* variation data */
86
CFF_BlendRec blend;
/* cached charstring blend vector */
87
CF2_UInt vsindex;
/* current vsindex */
88
CF2_UInt lenNDV;
/* current length NDV or zero */
89
FT_Fixed* NDV;
/* ptr to current NDV or NULL */
90
91
CF2_Int unitsPerEm;
92
93
CF2_Fixed syntheticEmboldeningAmountX;
/* character space units */
94
CF2_Fixed syntheticEmboldeningAmountY;
/* character space units */
95
96
/* FreeType related members */
97
CF2_OutlineRec outline;
/* freetype glyph outline functions */
98
PS_Decoder* decoder;
99
CFF_SubFont lastSubfont;
/* FreeType parsed data; */
100
/* top font or subfont */
101
102
/* these flags can vary from one call to the next */
103
FT_Bool hinted;
104
FT_Bool darkened;
/* true if stemDarkened or synthetic bold */
105
/* i.e. darkenX != 0 || darkenY != 0 */
106
FT_Bool stemDarkened;
107
108
FT_Int darkenParams[8];
/* 1000 unit character space */
109
110
/* variables that depend on both FontDict and Transform */
111
CF2_Fixed stdVW;
/* in character space; depends on dict entry */
112
CF2_Fixed stdHW;
/* in character space; depends on dict entry */
113
CF2_Fixed darkenX;
/* character space units */
114
CF2_Fixed darkenY;
/* depends on transform */
115
/* and private dict (StdVW) */
116
FT_Bool reverseWinding;
/* darken assuming */
117
/* counterclockwise winding */
118
119
CF2_BluesRec blues;
/* computed zone data */
120
121
FT_Service_CFFLoad cffload;
/* pointer to cff functions */
122
};
123
124
125
FT_LOCAL( FT_Error )
126
cf2_getGlyphOutline( CF2_Font font,
127
CF2_Buffer charstring,
128
const
CF2_Matrix* transform,
129
CF2_F16Dot16* glyphWidth );
130
131
132
FT_END_HEADER
133
134
135
#endif
/* PSFONT_H_ */
136
137
138
/* END */
psblues.h
psft.h
CF2_FontRec_
Definition
psfont.h:68
svcfftl.h
freetype
src
psaux
psfont.h
Generated by
1.18.0