aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/postscript/tr2post/tr2post.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/postscript/tr2post/tr2post.h')
-rw-r--r--src/cmd/postscript/tr2post/tr2post.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/cmd/postscript/tr2post/tr2post.h b/src/cmd/postscript/tr2post/tr2post.h
new file mode 100644
index 00000000..b07e0b13
--- /dev/null
+++ b/src/cmd/postscript/tr2post/tr2post.h
@@ -0,0 +1,103 @@
+#define MAXSPECHARS 512
+#define MAXTOKENSIZE 128
+#define CHARLIB "#9/sys/lib/troff/font/devutf/charlib"
+
+extern int debug;
+extern int fontsize;
+extern int fontpos;
+extern int resolution; /* device resolution, goobies per inch */
+extern int minx; /* minimum x motion */
+extern int miny; /* minimum y motion */
+extern char devname[];
+extern int devres;
+extern int unitwidth;
+extern char *printdesclang;
+extern char *encoding;
+extern int fontmnt;
+extern char **fontmtab;
+
+extern int curtrofffontid; /* index into trofftab of current troff font */
+extern int troffontcnt;
+
+extern BOOLEAN drawflag;
+
+struct specname {
+ char *str;
+ struct specname *next;
+};
+
+/* character entries for special characters (those pointed
+ * to by multiple character names, e.g. \(mu for multiply.
+ */
+struct charent {
+ char postfontid; /* index into pfnamtab */
+ char postcharid; /* e.g., 0x00 */
+ short troffcharwidth;
+ char *name;
+ struct charent *next;
+};
+
+extern struct charent **build_char_list;
+extern int build_char_cnt;
+
+struct pfnament {
+ char *str;
+ int used;
+};
+
+/* these entries map troff character code ranges to
+ * postscript font and character ranges.
+ */
+struct psfent {
+ int start;
+ int end;
+ int offset;
+ int psftid;
+};
+
+struct troffont {
+ char *trfontid; /* the common troff font name e.g., `R' */
+ BOOLEAN special; /* flag says this is a special font. */
+ int spacewidth;
+ int psfmapsize;
+ struct psfent *psfmap;
+ struct charent *charent[NUMOFONTS][FONTSIZE];
+};
+
+extern struct troffont *troffontab;
+extern struct charent spechars[];
+
+/** prototypes **/
+void initialize(void);
+void mountfont(int, char*);
+int findtfn(char *, int);
+void runeout(Rune);
+void specialout(char *);
+long nametorune(char *);
+void conv(Biobuf *);
+void hgoto(int);
+void vgoto(int);
+void hmot(int);
+void vmot(int);
+void draw(Biobuf *);
+void devcntl(Biobuf *);
+void notavail(char *);
+void error(int, char *, ...);
+void loadfont(int, char *);
+void flushtext(void);
+void t_charht(int);
+void t_slant(int);
+void startstring(void);
+void endstring(void);
+BOOLEAN pageon(void);
+void setpsfont(int, int);
+void settrfont(void);
+int hash(char *, int);
+BOOLEAN readDESC(void);
+void finish(void);
+void ps_include(Biobuf *, Biobuf *, int, int,
+ int, int, double, double, double, double,
+ double, double, double);
+void picture(Biobuf *, char *);
+void beginpath(char*, int);
+void drawpath(char*, int);