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
|
/* $Header: fontinfo.h,v 1.1 88/01/15 13:03:58 simpson Rel $ */
/*
$Log: fontinfo.h,v $
* Revision 1.1 88/01/15 13:03:58 simpson
* initial release
*
* Revision 0.1 87/12/11 18:30:53 simpson
* beta test
*
*/
/* Information on a whole font */
struct FontInfo {
int blocksize; /* Estimated blocks >= real blocks */
int qmsheight; /* Height to give QMS printer */
int qmsbaseline; /* Baseline height to give QMS printer */
int numchars; /* Number of characters in font */
/* The following are just as in the PK documentation */
char comment[256];
long ds; /* Design size in FIXes */
long cs; /* Checksum */
long hppp, vppp; /* Pixel sps per point */
struct charinfo {
long tfm; /* Width of character in FIXes/designsize */
long dx, dy; /* Escapements in pixels sps */
long w, h; /* Width, height in pixels */
long hoff, voff; /* horizontal, vertical offset in pixels */
} chararray[256];
};
/* Information on a single character in a font */
struct CharInfo {
long cc; /* Character found */
long tfm; /* Width of character in FIXes/designsize */
enum {pshort, pexshort, plong} preambletype;
long dxordm, dy; /* Escapements */
long w, h; /* Width and height of bitmap */
long hoff, voff; /* Offsets */
char *bitmap; /* Raster bitmap. If type 'X' orientation
* then it is (w+7)/8 bytes wide, h tall.
* If type 'Y' orientation then it is (h+7)/8
* bytes wide, w tall.
*/
};
|