1104862SruMANIFEST 
2104862Sru
3151497SruLast update: 26 May 2005
4104862Sru
5104862SruThis file is part of groff, the GNU roff type-setting system.
6104862Sru
7151497SruCopyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
8104862Sruwritten by Bernd Warken <bwarken@mayn.de>
9104862Srumaintained by Werner Lemberg <wl@gnu.org>
10104862Sru
11104862SruPermission is granted to copy, distribute and/or modify this document
12104862Sruunder the terms of the GNU Free Documentation License, Version 1.1 or
13104862Sruany later version published by the Free Software Foundation; with the
14104862SruInvariant Sections being this .ig-section and AUTHORS, with no
15104862SruFront-Cover Texts, and with no Back-Cover Texts.
16104862Sru
17104862SruA copy of the Free Documentation License is included as a file called
18104862SruFDL in the main directory of the groff source package.
19104862Sru
20104862Sru########################################################################
21104862Sru
22104862SruThis file gives an overview of the directories and the main files of
23104862Sruthe groff source distribution.
24104862Sru
25104862Sru
26104862Sru1) The top directory.
27104862Sru
28104862Sru  BUG-REPORT    A template for bug-reports.
29104862Sru  ChangeLog     Log of the changes in the different groff versions.
30104862Sru  COPYING       The GNU General Public License (GPL).
31104862Sru  FDL           The Free Documentation License (FDL).
32104862Sru  INSTALL       Information on compiling and installing groff.
33104862Sru  INSTALL.gen   Generic information on configuration and compiling.
34151497Sru  LICENSE       Licensing information.
35104862Sru  MANIFEST      The file you are reading.
36104862Sru  MORE.STUFF    Useful stuff in other packages.
37104862Sru  NEWS          Recent user-visible changes in groff.
38104862Sru  PROBLEMS      Tips to handle known critical situations.
39104862Sru  PROJECTS      Long-term additions to groff.
40104862Sru  README        Availability and contact information for groff.
41151497Sru  README.MinGW  Build information for MinGW.
42104862Sru  TODO          Things planned for future groff versions.
43104862Sru
44104862Sru  All other files in the top directory are related to the configuration,
45104862Sru  compilation, and install processes.  
46104862Sru
47104862Sru
48104862Sru2) The directory structure
49104862Sru
50104862Sru./arch          Data that is special for different architectures.
51104862Sru  djgpp         Data special for the 32-bit DOS compiler djgpp.
52151497Sru  misc          Data needed for various platforms.
53104862Sru
54104862Sru./contrib       Part of groff, but maintained by other people.
55114402Sru  eqn2graph     Convert equations created with EQN into different
56114402Sru                graphical formats.
57151497Sru  gdiffmk       An improved implementation of the diffmk command to mark
58151497Sru                differences between groff/nroff/troff files.
59151497Sru  grap2graph    Convert grap diagraps into different graphical formats.
60104862Sru  groffer       A wrapper to conveniently view roff files.
61104862Sru  mm            The groff mm macro package.
62104862Sru  mom           The groff mom macro package.
63151497Sru  pdfmark       A package to add PDF marks to groff documents, together
64151497Sru                with a shell script (pdfroff) for easy creation of PDF
65151497Sru                documents.
66104862Sru  pic2graph     Convert PIC diagrams into different graphical formats.
67104862Sru
68104862Sru./doc           Manuals and tutorials to groff aspects.
69104862Sru
70104862Sru./font          Device information and fonts.
71104862Sru  devX100       100dpi device for X Window System.
72104862Sru  devX100-12    100dpi device with narrower font (for 12pt base font).
73104862Sru  devX75        75dpi device for X Window System.
74104862Sru  devX75-12     75dpi device with narrower font (for 12pt base font).
75104862Sru  devascii      Text device for ASCII output.
76104862Sru  devcp1047     EBCDIC device.
77104862Sru  devdvi        TeX DVI device.
78104862Sru  devhtml       HTML device.
79104862Sru  devlatin1     Text device for latin-1 (ISO 8859-1) output.
80104862Sru  devlbp        Device for Canon CAPSL laser printers.
81104862Sru  devlj4        Device for HP Laserjet 4, PCL 5, and compatible printers.
82104862Sru  devps         PostScript device.
83104862Sru  devutf8       Text device for Unicode output.
84104862Sru
85104862Sru./man           Some groff manual pages of more general character.
86104862Sru
87104862Sru./src           Everything written in programming languages.
88104862Sru
89104862Sru./src/devices   The postprocessors.
90104862Sru  grodvi        TeX DVI output.
91104862Sru  grohtml       HTML output.
92104862Sru  grolbp        Canon printers.
93104862Sru  grolj4        HP Laserjet 4, PCL 5, and compatible printers.
94104862Sru  grops         PostScript output.
95104862Sru  grotty        Text output.
96151497Sru  xditview      A groff (pre)viewer for the X Window system.
97104862Sru
98104862Sru./src/include   The *.h C/C++ include files.
99104862Sru
100104862Sru./src/libs      C++ code common to several parts of the groff sources.
101104862Sru  libbib        Library of bibliographic functions.
102104862Sru  libdriver     Parser for intermediate output and postprocessor code.
103104862Sru  libgroff      Library for general support functions used everywhere.
104151497Sru  libxutil      Utility functions for xditview and xtotroff.
105104862Sru  snprintf      An implementation of snprintf() and friends.
106104862Sru
107104862Sru./src/preproc   Preprocessors.
108104862Sru  eqn           Mathematical formulae.
109104862Sru  grn           Gremlin pictures.
110104862Sru  html          The preprocessor part of grohtml.
111104862Sru  pic           Diagram drawer.
112104862Sru  refer         Bibliographic references.
113104862Sru  soelim        File inclusion using tmac path.
114104862Sru  tbl           Tables.
115104862Sru
116104862Sru./src/roff      Front-end programs.
117104862Sru  groff         Wrapper around troff.  This is the main user program.
118104862Sru  grog          Guess groff command line options.
119104862Sru  nroff         Emulate classical nroff text formatter.
120104862Sru  troff         Main roff formatter program.
121104862Sru
122104862Sru./src/utils     Utility programs around groff.
123104862Sru  addftinfo     Add information to old troff font files for use with groff.
124104862Sru  afmtodit      Create font description files for the PostScript device.
125104862Sru  hpftodit      Create font description files for the LJ4 device.
126104862Sru  indxbib       Make inverted index for bibliographic databases.
127104862Sru  lkbib         Search bibliographic databases.
128104862Sru  lookbib       Interactively search bibliographic databases.
129114402Sru  pfbtops       Translate a PostScript font in PFB format to PFA.
130104862Sru  tfmtodit      Create font description files for TeX DVI device.
131151497Sru  xtotroff      Create font description files for xditview.
132104862Sru
133104862Sru./tmac          Macro files.
134104862Sru
135104862Sru
136104862Sru3) Documentation
137104862Sru
138104862SruThe groff documentation is scattered upon several places.
139104862Sru
140104862Sru- The main directory contains documents related to the groff source.
141104862Sru  The README file contains the information needed to get the groff
142104862Sru  package, report bugs, and contact the developers.
143104862Sru
144104862Sru- The man-page of each program (section 1) is kept in the source
145104862Sru  directory of the program.
146104862Sru
147104862Sru- The man-pages for the other sections are found in `src/man'.
148104862Sru
149104862Sru- Documentation in other formats are located in the `doc' directory,
150104862Sru  including the groff info file, tutorials, and manuals.
151104862Sru
152104862Sru
153104862Sru4) The roff parser
154104862Sru
155114402SruThe parsing of the roff language is done by troff.  The input is converted
156114402Sruto tokens in `src/roff/troff/input.cpp' and transformed into `nodes' by
157114402Sru`src/roff/troff/env.cpp' and `src/roff/troff/node.cpp'.  From these, the
158114402Sruintermediate output is generated (also in `node.cpp').
159104862Sru
160104862Sru
161104862Sru5) Postprocessing
162104862Sru
163104862SruThe parser for the intermediate output and the postprocessing is in
164114402Sru`src/libs/libdriver/input.cpp'.  This is used by all postprocessors.
165