Less strict monospaced().
[grace.git] / T1lib / t1lib / t1extern.h
blobe0f4b47af30414b47f49d7db19acc6f8f8dd07d8
1 /*--------------------------------------------------------------------------
2 ----- File: t1extern.h
3 ----- Author: Rainer Menzner (Rainer.Menzner@web.de)
4 ----- Date: 2001-10-03
5 ----- Description: This file is part of the t1-library. It contains
6 external declarations used by the t1-library.
7 ----- Copyright: t1lib is copyrighted (c) Rainer Menzner, 1996-2001.
8 As of version 0.5, t1lib is distributed under the
9 GNU General Public Library Lincense. The
10 conditions can be found in the files LICENSE and
11 LGPL, which should reside in the toplevel
12 directory of the distribution. Please note that
13 there are parts of t1lib that are subject to
14 other licenses:
15 The parseAFM-package is copyrighted by Adobe Systems
16 Inc.
17 The type1 rasterizer is copyrighted by IBM and the
18 X11-consortium.
19 ----- Warranties: Of course, there's NO WARRANTY OF ANY KIND :-)
20 ----- Credits: I want to thank IBM and the X11-consortium for making
21 their rasterizer freely available.
22 Also thanks to Piet Tutelaers for his ps2pk, from
23 which I took the rasterizer sources in a format
24 independent from X11.
25 Thanks to all people who make free software living!
26 --------------------------------------------------------------------------*/
29 #include "t1misc.h"
32 /* Following struct will allow all accesses to font data! */
33 extern struct FONTBASE
35 int t1lib_flags; /* Global library flags */
36 int no_fonts_ini; /* The number of fonts initially declared in
37 Font database file. */
38 int no_fonts; /* The number of currently allocated fonts including
39 logical fonts produced by T1_CopyFont() */
40 int no_fonts_limit; /* The maximum number of font for which is memory
41 currently available. */
42 int bitmap_pad; /* The value to which bitmap-scanlines are padded */
43 int endian; /* 1 if little endian representation and 0 otherwise */
44 char **default_enc; /* The default encoding vector */
45 FONTPRIVATE *pFontArray; /* Points to first element of font pointer array */
46 } FontBase;
47 extern struct FONTBASE *pFontBase;
50 /* Further we need a struct where to save device dependent data such as
51 resolution. The values in this struct may be altered using
52 T1_SetDeviceRes(x_res,y_res). Generally, the fontsize is to be specified
53 in BigPoints ("bp")---this is the default PostScript unit. It is
54 1in=72bp.
56 extern struct
58 float x_resolution; /* Value must be specified in DPI */
59 float y_resolution; /* Value must be specified in DPI */
60 float scale_x; /* horizontal scale-value to get a
61 matrix scaled to 1b */
62 float scale_y; /* vertical scale-value to get a
63 matrix scaled to 1b */
64 } DeviceSpecifics;
67 extern struct stat filestats; /* A structure where fileinfo is stored */
68 extern char linebuf[BUF_SIZE]; /* A buffer for reading files line
69 by line */
70 extern int T1_Up; /* This one is for initialization-checking */
72 /* The width of AA-pixels */
73 extern int T1aa_bpp;
75 /* The follwoing variable allows the primary rastering functions
76 to check for the caller */
77 extern int SetFuncRequestID;
79 /* The following variable allows to suppress rastering at 1000 bp
80 for getting a correct bounding box for slanted characters -->
81 should only internally be used */
82 extern int ForceAFMBBox;
84 extern struct XYspace *IDENTITY;
86 extern int errornumber; /* for debugging purposes */
88 extern char **T1_PFAB_ptr;
89 extern char **T1_AFM_ptr;
90 extern char **T1_ENC_ptr;
91 extern char **T1_FDB_ptr;
93 /* We use a uchar buffer for error and warning messages: */
94 extern char err_warn_msg_buf[1024];
96 /* file pointer for log-file */
97 extern FILE *t1lib_log_file;
98 extern int t1lib_log_level;
100 /* The errno for t1lib */
101 extern int T1_errno;
103 /* A variable for saving stack info */
104 extern jmp_buf stck_state;