blob: b1ed1f840d792e780b5f14f1bd7ae2d7629dc9db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/* gstate.h -- define data structures for Graphics State, graphics states are
* mananged by font instructions.
* Copyright (C) 1996 Li-Da Lho, All right reserved.
*/
#ifndef __TTF_GSTATE_H
#define __TTF_GSTATE_H
/* $Id: gstate.h,v 1.2 1998/07/06 06:07:01 werner Exp $ */
/* unit vectors used for directional purposes */
#define F2Dot14_ONE 1<<14
#define F2Dot14_EPSILON 1
#define F26Dot6_ONE 1L<<26
#define F26Dot6_EPSILON 1L
typedef struct
{
F2Dot14 x;
F2Dot14 y;
}
TTFUnitVector;
/* Unit vectors pointing into x and y direction */
#define UnitX {F2Dot14_ONE,0}
#define UnitY {0,F2Dot14_ONE}
/* vectors used as positional vectors */
typedef struct
{
F26Dot6 x;
F26Dot6 y;
}
TTFVector;
/* the types of the following fields are not well defined in the True Type
* Font specification.
* We can define them as we like.
*/
typedef struct
{
/* boolean values */
BYTE auto_flip;
BYTE scan_control;
USHORT instruction_control;
SHORT round_state;
F26Dot6 control_value_cut_in;
F26Dot6 minimum_distance;
F26Dot6 single_width_cut_in;
FWord single_width_value;
ULONG delta_base;
ULONG delta_shift;
/* unit vectors */
TTFUnitVector dual_projection_vector;
TTFUnitVector freedom_vector;
TTFUnitVector projection_vector;
/* reference points */
ULONG rp0;
ULONG rp1;
ULONG rp2;
/* zone pointers: take only 0 or 1 as values */
ULONG zp0;
ULONG zp1;
ULONG zp2;
SHORT gep0;
SHORT gep1;
SHORT gep2;
ULONG loop;
}
GraphicsState;
#define GS_DEFAULT
#endif /* __TTF_GSTATE_H */
/* end of gstate.h */
|