tr2post.h 2.3 KB

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