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_MMFONT          -5   /* font is a Multiple Master Font */
00056 #define SCAN_TRUE            -6
00057 #define SCAN_FALSE           -7
00058 #define SCAN_END             -8
00059  
00060 /***================================================================***/
00061 /*  Name of FontInfo fields                                           */
00062 /***================================================================***/
00063  
00064 #define FONTNAME 1
00065 #define PAINTTYPE 2
00066 #define FONTTYPENUM 3
00067 #define FONTMATRIX 4
00068 #define FONTBBOX   5
00069 #define UNIQUEID  6
00070 #define STROKEWIDTH  7
00071 #define VERSION     8
00072 #define NOTICE     9
00073 #define FULLNAME 10
00074 #define FAMILYNAME 11
00075 #define WEIGHT 12
00076 #define ITALICANGLE 13
00077 #define ISFIXEDPITCH  14
00078 #define UNDERLINEPOSITION 15
00079 #define UNDERLINETHICKNESS 16
00080 #define ENCODING 17
00081 /***================================================================***/
00082 /*  Name of Private values                                            */
00083 /***================================================================***/
00084 #define BLUEVALUES 1
00085 #define OTHERBLUES 2
00086 #define FAMILYBLUES 3
00087 #define FAMILYOTHERBLUES 4
00088 #define BLUESCALE 5
00089 #define BLUESHIFT 6
00090 #define BLUEFUZZ  7
00091 #define STDHW     8
00092 #define STDVW     9
00093 #define STEMSNAPH 10
00094 #define STEMSNAPV 11
00095 #define FORCEBOLD 12
00096 #define LANGUAGEGROUP 13
00097 #define LENIV     14
00098 #define RNDSTEMUP 15
00099 #define EXPANSIONFACTOR 16