1MANIFEST 2 3Last update: 26 May 2005 4 5This file is part of groff, the GNU roff type-setting system. 6 7Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. 8written by Bernd Warken <bwarken@mayn.de> 9maintained by Werner Lemberg <wl@gnu.org> 10 11Permission is granted to copy, distribute and/or modify this document 12under the terms of the GNU Free Documentation License, Version 1.1 or 13any later version published by the Free Software Foundation; with the 14Invariant Sections being this .ig-section and AUTHORS, with no 15Front-Cover Texts, and with no Back-Cover Texts. 16 17A copy of the Free Documentation License is included as a file called 18FDL in the main directory of the groff source package. 19 20######################################################################## 21 22This file gives an overview of the directories and the main files of 23the groff source distribution. 24 25 261) The top directory. 27 28 BUG-REPORT A template for bug-reports. 29 ChangeLog Log of the changes in the different groff versions. 30 COPYING The GNU General Public License (GPL). 31 FDL The Free Documentation License (FDL). 32 INSTALL Information on compiling and installing groff. 33 INSTALL.gen Generic information on configuration and compiling. 34 LICENSE Licensing information. 35 MANIFEST The file you are reading. 36 MORE.STUFF Useful stuff in other packages. 37 NEWS Recent user-visible changes in groff. 38 PROBLEMS Tips to handle known critical situations. 39 PROJECTS Long-term additions to groff. 40 README Availability and contact information for groff. 41 README.MinGW Build information for MinGW. 42 TODO Things planned for future groff versions. 43 44 All other files in the top directory are related to the configuration, 45 compilation, and install processes. 46 47 482) The directory structure 49 50./arch Data that is special for different architectures. 51 djgpp Data special for the 32-bit DOS compiler djgpp. 52 misc Data needed for various platforms. 53 54./contrib Part of groff, but maintained by other people. 55 eqn2graph Convert equations created with EQN into different 56 graphical formats. 57 gdiffmk An improved implementation of the diffmk command to mark 58 differences between groff/nroff/troff files. 59 grap2graph Convert grap diagraps into different graphical formats. 60 groffer A wrapper to conveniently view roff files. 61 mm The groff mm macro package. 62 mom The groff mom macro package. 63 pdfmark A package to add PDF marks to groff documents, together 64 with a shell script (pdfroff) for easy creation of PDF 65 documents. 66 pic2graph Convert PIC diagrams into different graphical formats. 67 68./doc Manuals and tutorials to groff aspects. 69 70./font Device information and fonts. 71 devX100 100dpi device for X Window System. 72 devX100-12 100dpi device with narrower font (for 12pt base font). 73 devX75 75dpi device for X Window System. 74 devX75-12 75dpi device with narrower font (for 12pt base font). 75 devascii Text device for ASCII output. 76 devcp1047 EBCDIC device. 77 devdvi TeX DVI device. 78 devhtml HTML device. 79 devlatin1 Text device for latin-1 (ISO 8859-1) output. 80 devlbp Device for Canon CAPSL laser printers. 81 devlj4 Device for HP Laserjet 4, PCL 5, and compatible printers. 82 devps PostScript device. 83 devutf8 Text device for Unicode output. 84 85./man Some groff manual pages of more general character. 86 87./src Everything written in programming languages. 88 89./src/devices The postprocessors. 90 grodvi TeX DVI output. 91 grohtml HTML output. 92 grolbp Canon printers. 93 grolj4 HP Laserjet 4, PCL 5, and compatible printers. 94 grops PostScript output. 95 grotty Text output. 96 xditview A groff (pre)viewer for the X Window system. 97 98./src/include The *.h C/C++ include files. 99 100./src/libs C++ code common to several parts of the groff sources. 101 libbib Library of bibliographic functions. 102 libdriver Parser for intermediate output and postprocessor code. 103 libgroff Library for general support functions used everywhere. 104 libxutil Utility functions for xditview and xtotroff. 105 snprintf An implementation of snprintf() and friends. 106 107./src/preproc Preprocessors. 108 eqn Mathematical formulae. 109 grn Gremlin pictures. 110 html The preprocessor part of grohtml. 111 pic Diagram drawer. 112 refer Bibliographic references. 113 soelim File inclusion using tmac path. 114 tbl Tables. 115 116./src/roff Front-end programs. 117 groff Wrapper around troff. This is the main user program. 118 grog Guess groff command line options. 119 nroff Emulate classical nroff text formatter. 120 troff Main roff formatter program. 121 122./src/utils Utility programs around groff. 123 addftinfo Add information to old troff font files for use with groff. 124 afmtodit Create font description files for the PostScript device. 125 hpftodit Create font description files for the LJ4 device. 126 indxbib Make inverted index for bibliographic databases. 127 lkbib Search bibliographic databases. 128 lookbib Interactively search bibliographic databases. 129 pfbtops Translate a PostScript font in PFB format to PFA. 130 tfmtodit Create font description files for TeX DVI device. 131 xtotroff Create font description files for xditview. 132 133./tmac Macro files. 134 135 1363) Documentation 137 138The groff documentation is scattered upon several places. 139 140- The main directory contains documents related to the groff source. 141 The README file contains the information needed to get the groff 142 package, report bugs, and contact the developers. 143 144- The man-page of each program (section 1) is kept in the source 145 directory of the program. 146 147- The man-pages for the other sections are found in `src/man'. 148 149- Documentation in other formats are located in the `doc' directory, 150 including the groff info file, tutorials, and manuals. 151 152 1534) The roff parser 154 155The parsing of the roff language is done by troff. The input is converted 156to tokens in `src/roff/troff/input.cpp' and transformed into `nodes' by 157`src/roff/troff/env.cpp' and `src/roff/troff/node.cpp'. From these, the 158intermediate output is generated (also in `node.cpp'). 159 160 1615) Postprocessing 162 163The parser for the intermediate output and the postprocessing is in 164`src/libs/libdriver/input.cpp'. This is used by all postprocessors. 165