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 */
};
|