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
87
88
89
90
91
92
93
94
95
|
/* $XConsortium: blues.h,v 1.2 91/10/10 11:17:52 rws Exp $ */
/* Copyright International Business Machines, Corp. 1991
* All Rights Reserved
* Copyright Lexmark International, Inc. 1991
* All Rights Reserved
* Portions Copyright (c) 1990 Adobe Systems Incorporated.
* All Rights Reserved
*
* License to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation, and that the name of IBM or Lexmark or Adobe
* not be used in advertising or publicity pertaining to distribution of
* the software without specific, written prior permission.
*
* IBM, LEXMARK, AND ADOBE PROVIDE THIS SOFTWARE "AS IS", WITHOUT ANY
* WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
* LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE
* ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE, INCLUDING
* ANY DUTY TO SUPPORT OR MAINTAIN, BELONGS TO THE LICENSEE. SHOULD ANY
* PORTION OF THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM,
* LEXMARK, OR ADOBE) ASSUMES THE ENTIRE COST OF ALL SERVICING, REPAIR AND
* CORRECTION. IN NO EVENT SHALL IBM, LEXMARK, OR ADOBE BE LIABLE FOR ANY
* SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include "types.h"
extern psobj *GetType1CharString();
#define TOPLEFT 1
#define BOTTOMRIGHT 2
#define NUMBLUEVALUES 14
#define NUMOTHERBLUES 10
#define NUMFAMILYBLUES 14
#define NUMFAMILYOTHERBLUES 10
#define NUMSTEMSNAPH 12
#define NUMSTEMSNAPV 12
#define NUMSTDHW 1
#define NUMSTDVW 1
#define DEFAULTBOLDSTEMWIDTH 2.0
#define MAXALIGNMENTZONES ((NUMBLUEVALUES+NUMOTHERBLUES)/2)
#define DEFAULTBLUESCALE 0.039625
#define DEFAULTBLUESHIFT 7
#define DEFAULTBLUEFUZZ 1
#define DEFAULTSTDHW 0
#define DEFAULTSTDVW 0
#define DEFAULTFORCEBOLD FALSE
#define DEFAULTLANGUAGEGROUP 0
#define DEFAULTRNDSTEMUP FALSE
#define DEFAULTLENIV 4
#define DEFAULTEXPANSIONFACTOR 0.06
/* see Type 1 Font Format book for explanations of these values */
/* Note that we're currently doing nothing for minfeature and password. */
struct blues_struct {
struct blues_struct *next; /* ptr to next Blues structure in list */
int numBlueValues; /* # of BlueValues in following array */
int BlueValues[NUMBLUEVALUES];
int numOtherBlues; /* # of OtherBlues values in following array */
int OtherBlues[NUMOTHERBLUES];
int numFamilyBlues; /* # of FamilyBlues values in following array */
int FamilyBlues[NUMFAMILYBLUES];
int numFamilyOtherBlues; /* # of FamilyOtherBlues values in */
int FamilyOtherBlues[NUMFAMILYOTHERBLUES]; /* this array */
DOUBLE BlueScale;
int BlueShift;
int BlueFuzz;
DOUBLE StdHW;
DOUBLE StdVW;
int numStemSnapH; /* # of StemSnapH values in following array */
DOUBLE StemSnapH[NUMSTEMSNAPH];
int numStemSnapV; /* # of StemSnapV values in following array */
DOUBLE StemSnapV[NUMSTEMSNAPV];
int ForceBold;
int LanguageGroup;
int RndStemUp;
int lenIV;
DOUBLE ExpansionFactor;
};
/* the alignment zone structure -- somewhat similar to the stem structure */
/* see Adobe Type1 Font Format book about the terms used in this structure */
struct alignmentzone {
int topzone; /* TRUE if a topzone, FALSE if a bottom zone */
DOUBLE bottomy, topy; /* interval of this alignment zone */
};
|