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
|
/*
* FILE: pkout.h
*
* PURPOSE: interface to te PK output functions (pkfile.c)
*
* COMMENT: See the pktest.c example program how to use the PK functions.
*
* VERSION: Febr. 1992
* Dec. 1993
*
* AUTHOR: Piet Tutelaers (rcpt@urc.tue.nl)
*/
#ifdef WORD16
typedef long INT32;
#else
typedef int INT32;
#endif
/* A function for opening a pk file */
void pk_open(char *name);
/* A function for closing a pk file */
void pk_close();
/* A function for writing the preamble */
void pk_preamble(char *comment, /* comment string: source of font */
float pointsize, /* design size in points */
INT32 checksum, /* checksum */
unsigned int h_res, /* horizontal resolution (dpi) */
unsigned int v_res); /* vertical resolution (dpi) */
/* For packing a character */
void pk_char(int char_code, /* character code 0..255 */
INT32 tfm_width, /* TFM width of character */
int h_escapement, /* horizontal escapement in pixels */
unsigned int width, /* width of bounding box */
unsigned int height, /* height of bounding box */
int h_offset, /* horizontal offset to reference point */
int v_offset, /* vertical offset to reference point */
int (*next_pixel)()); /* user's pixel generator */
/* Barebone postample */
void pk_postamble();
/* PS2PK postamble */
void ps2pk_postamble(char *fontname, /* The real FontName from the afm */
char *encname, /* The actual name, not the filename */
int base_res, /* basic resolution */
int h_res, /* Match against base_res for mag */
int v_res, /* Match against h_res for aspect_ratio */
float pointsize, /* Used for fontfacebyte calculation */
char *args); /* Essential ps2pk args */
/* Here are some definitions to play with pixels */
#define BLACK 1
#define WHITE 0
#define OTHER(pixel) (pixel==BLACK? WHITE: BLACK)
|