Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#define MAXSPECHARS 	512
2
#define MAXTOKENSIZE	128
3
#define CHARLIB	"/sys/lib/troff/font/devutf/charlib"
4
 
5
extern int debug;
6
extern int fontsize;
7
extern int fontpos;
8
extern int resolution;	/* device resolution, goobies per inch */
9
extern int minx;		/* minimum x motion */
10
extern int miny;		/* minimum y motion */
11
extern char devname[];
12
extern int devres;
13
extern int unitwidth;
14
extern char *printdesclang;
15
extern char *encoding;
16
extern int fontmnt;
17
extern char **fontmtab;
18
 
19
extern int curtrofffontid;	/* index into trofftab of current troff font */
20
extern int troffontcnt;
21
 
22
extern BOOLEAN drawflag;
23
 
24
struct specname {
25
	char *str;
26
	struct specname *next;
27
};
28
 
29
/* character entries for special characters (those pointed
30
 * to by multiple character names, e.g. \(mu for multiply.
31
 */
32
struct charent {
33
	char postfontid;	/* index into pfnamtab */
34
	char postcharid;	/* e.g., 0x00 */
35
	short troffcharwidth;
36
	char *name;
37
	struct charent *next;
38
};
39
 
40
extern struct charent **build_char_list;
41
extern int build_char_cnt;
42
 
43
struct pfnament {
44
	char *str;
45
	int used;
46
};
47
 
48
/* these entries map troff character code ranges to
49
 * postscript font and character ranges.
50
 */
51
struct psfent {
52
	int start;
53
	int end;
54
	int offset;
55
	int psftid;
56
};
57
 
58
struct troffont {
59
	char *trfontid;		/* the common troff font name e.g., `R' */
60
	BOOLEAN special;	/* flag says this is a special font. */
61
	int spacewidth;
62
	int psfmapsize;
63
	struct psfent *psfmap;
64
	struct charent *charent[NUMOFONTS][FONTSIZE];
65
};
66
 
67
extern struct troffont *troffontab;
68
extern struct charent spechars[];
69
 
70
/** prototypes **/
71
void initialize(void);
72
void mountfont(int, char*);
73
int findtfn(char *, int);
74
void runeout(Rune);
75
void specialout(char *);
76
long nametorune(char *);
77
void conv(Biobufhdr *);
78
void hgoto(int);
79
void vgoto(int);
80
void hmot(int);
81
void vmot(int);
82
void draw(Biobufhdr *);
83
void devcntl(Biobufhdr *);
84
void notavail(char *);
85
void error(int, char *, ...);
86
void loadfont(int, char *);
87
void flushtext(void);
88
void t_charht(int);
89
void t_slant(int);
90
void startstring(void);
91
void endstring(void);
92
BOOLEAN pageon(void);
93
void setpsfont(int, int);
94
void settrfont(void);
95
int hash(char *, int);
96
BOOLEAN readDESC(void);
97
void finish(void);
98
void ps_include(Biobufhdr *, Biobufhdr *, int, int,
99
	int, int, double, double, double, double,
100
	double, double, double);
101
void picture(Biobufhdr *, char *);
102
void beginpath(char*, int);
103
void drawpath(char*, int);