3 Last update: 11 Jun 2003
5 This file is part of groff, the GNU roff type-setting system.
7 Copyright (C) 2001, 2003 Free Software Foundation, Inc.
8 written by Bernd Warken <bwarken@mayn.de>
9 maintained by Werner Lemberg <wl@gnu.org>
11 Permission is granted to copy, distribute and/or modify this document
12 under the terms of the GNU Free Documentation License, Version 1.1 or
13 any later version published by the Free Software Foundation; with the
14 Invariant Sections being this .ig-section and AUTHORS, with no
15 Front-Cover Texts, and with no Back-Cover Texts.
17 A copy of the Free Documentation License is included as a file called
18 FDL in the main directory of the groff source package.
20 ########################################################################
22 This file gives an overview of the directories and the main files of
23 the groff source distribution.
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 MANIFEST The file you are reading.
35 MORE.STUFF Useful stuff in other packages.
36 NEWS Recent user-visible changes in groff.
37 PROBLEMS Tips to handle known critical situations.
38 PROJECTS Long-term additions to groff.
39 README Availability and contact information for groff.
40 TODO Things planned for future groff versions.
42 All other files in the top directory are related to the configuration,
43 compilation, and install processes.
46 2) The directory structure
48 ./arch Data that is special for different architectures.
49 djgpp Data special for the 32-bit DOS compiler djgpp.
51 ./contrib Part of groff, but maintained by other people.
52 eqn2graph Convert equations created with EQN into different
54 grap2graph Convert grap diagraps into different graphical formats.
55 groffer A wrapper to conveniently view roff files.
56 mm The groff mm macro package.
57 mom The groff mom macro package.
58 pic2graph Convert PIC diagrams into different graphical formats.
60 ./doc Manuals and tutorials to groff aspects.
62 ./font Device information and fonts.
63 devX100 100dpi device for X Window System.
64 devX100-12 100dpi device with narrower font (for 12pt base font).
65 devX75 75dpi device for X Window System.
66 devX75-12 75dpi device with narrower font (for 12pt base font).
67 devascii Text device for ASCII output.
68 devcp1047 EBCDIC device.
69 devdvi TeX DVI device.
71 devlatin1 Text device for latin-1 (ISO 8859-1) output.
72 devlbp Device for Canon CAPSL laser printers.
73 devlj4 Device for HP Laserjet 4, PCL 5, and compatible printers.
74 devps PostScript device.
75 devutf8 Text device for Unicode output.
77 ./man Some groff manual pages of more general character.
79 ./src Everything written in programming languages.
81 ./src/devices The postprocessors.
82 grodvi TeX DVI output.
84 grolbp Canon printers.
85 grolj4 HP Laserjet 4, PCL 5, and compatible printers.
86 grops PostScript output.
89 ./src/include The *.h C/C++ include files.
91 ./src/libs C++ code common to several parts of the groff sources.
92 libbib Library of bibliographic functions.
93 libdriver Parser for intermediate output and postprocessor code.
94 libgroff Library for general support functions used everywhere.
95 snprintf An implementation of snprintf() and friends.
97 ./src/preproc Preprocessors.
98 eqn Mathematical formulae.
100 html The preprocessor part of grohtml.
102 refer Bibliographic references.
103 soelim File inclusion using tmac path.
106 ./src/roff Front-end programs.
107 groff Wrapper around troff. This is the main user program.
108 grog Guess groff command line options.
109 nroff Emulate classical nroff text formatter.
110 troff Main roff formatter program.
112 ./src/utils Utility programs around groff.
113 addftinfo Add information to old troff font files for use with groff.
114 afmtodit Create font description files for the PostScript device.
115 hpftodit Create font description files for the LJ4 device.
116 indxbib Make inverted index for bibliographic databases.
117 lkbib Search bibliographic databases.
118 lookbib Interactively search bibliographic databases.
119 pfbtops Translate a PostScript font in PFB format to PFA.
120 tfmtodit Create font description files for TeX DVI device.
122 ./src/xditview A groff (pre)viewer for the X Window System.
129 The groff documentation is scattered upon several places.
131 - The main directory contains documents related to the groff source.
132 The README file contains the information needed to get the groff
133 package, report bugs, and contact the developers.
135 - The man-page of each program (section 1) is kept in the source
136 directory of the program.
138 - The man-pages for the other sections are found in `src/man'.
140 - Documentation in other formats are located in the `doc' directory,
141 including the groff info file, tutorials, and manuals.
146 The parsing of the roff language is done by troff. The input is converted
147 to tokens in `src/roff/troff/input.cpp' and transformed into `nodes' by
148 `src/roff/troff/env.cpp' and `src/roff/troff/node.cpp'. From these, the
149 intermediate output is generated (also in `node.cpp').
154 The parser for the intermediate output and the postprocessing is in
155 `src/libs/libdriver/input.cpp'. This is used by all postprocessors.