Back to index

tetex-bin  3.0
fontfcn.h
Go to the documentation of this file.
00001 /* $XConsortium: fontfcn.h,v 1.3 92/03/26 16:42:23 eswu Exp $ */
00002 /* Copyright International Business Machines,Corp. 1991
00003  * All Rights Reserved
00004  *
00005  * License to use, copy, modify, and distribute this software
00006  * and its documentation for any purpose and without fee is
00007  * hereby granted, provided that the above copyright notice
00008  * appear in all copies and that both that copyright notice and
00009  * this permission notice appear in supporting documentation,
00010  * and that the name of IBM not be used in advertising or
00011  * publicity pertaining to distribution of the software without
00012  * specific, written prior permission.
00013  *
00014  * IBM PROVIDES THIS SOFTWARE "AS IS", WITHOUT ANY WARRANTIES
00015  * OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
00016  * LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
00017  * FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF
00018  * THIRD PARTY RIGHTS.  THE ENTIRE RISK AS TO THE QUALITY AND
00019  * PERFORMANCE OF THE SOFTWARE, INCLUDING ANY DUTY TO SUPPORT
00020  * OR MAINTAIN, BELONGS TO THE LICENSEE.  SHOULD ANY PORTION OF
00021  * THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM) ASSUMES
00022  * THE ENTIRE COST OF ALL SERVICING, REPAIR AND CORRECTION.  IN
00023  * NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
00024  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
00025  * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
00026  * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
00027  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
00028  * SOFTWARE.
00029  */
00030 /*     Definition of a PostScript FONT             */
00031 typedef struct ps_font {
00032             char    *vm_start;
00033             psobj   FontFileName;
00034             psobj   Subrs;
00035             psdict  *CharStringsP;
00036             psdict  *Private;
00037             psdict  *fontInfoP;
00038 struct blues_struct *BluesP;
00039 } psfont;
00040 /***================================================================***/
00041 /*  Routines in scan_font                                             */
00042 /***================================================================***/
00043  
00044 extern boolean Init_StdEnc();
00045 extern int scan_font();
00046 extern int GetFontInfo();
00047 /***================================================================***/
00048 /*  Return codes from scan_font                                       */
00049 /***================================================================***/
00050 #define SCAN_OK               0
00051 #define SCAN_FILE_EOF        -1
00052 #define SCAN_ERROR           -2
00053 #define SCAN_OUT_OF_MEMORY   -3
00054 #define SCAN_FILE_OPEN_ERROR -4
00055 #define SCAN_TRUE            -5
00056 #define SCAN_FALSE           -6
00057 #define SCAN_END             -7
00058  
00059 /***================================================================***/
00060 /*  Name of FontInfo fields                                           */
00061 /***================================================================***/
00062  
00063 #define FONTNAME 1
00064 #define PAINTTYPE 2
00065 #define FONTTYPENUM 3
00066 #define FONTMATRIX 4
00067 #define FONTBBOX   5
00068 #define UNIQUEID  6
00069 #define STROKEWIDTH  7
00070 #define VERSION     8
00071 #define NOTICE     9
00072 #define FULLNAME 10
00073 #define FAMILYNAME 11
00074 #define WEIGHT 12
00075 #define ITALICANGLE 13
00076 #define ISFIXEDPITCH  14
00077 #define UNDERLINEPOSITION 15
00078 #define UNDERLINETHICKNESS 16
00079 #define ENCODING 17
00080 /***================================================================***/
00081 /*  Name of Private values                                            */
00082 /***================================================================***/
00083 #define BLUEVALUES 1
00084 #define OTHERBLUES 2
00085 #define FAMILYBLUES 3
00086 #define FAMILYOTHERBLUES 4
00087 #define BLUESCALE 5
00088 #define BLUESHIFT 6
00089 #define BLUEFUZZ  7
00090 #define STDHW     8
00091 #define STDVW     9
00092 #define STEMSNAPH 10
00093 #define STEMSNAPV 11
00094 #define FORCEBOLD 12
00095 #define LANGUAGEGROUP 13
00096 #define LENIV     14
00097 #define RNDSTEMUP 15
00098 #define EXPANSIONFACTOR 16