summaryrefslogtreecommitdiff
path: root/MANIFEST
blob: 041c62e033b4055c93d58e292b0d06c2cfa80513 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
MANIFEST 

Last update: 21 Dec 2001

This file is part of groff, the GNU roff type-setting system.

Copyright (C) 2001 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being this .ig-section and AUTHORS, with no
Front-Cover Texts, and with no Back-Cover Texts.

A copy of the Free Documentation License is included as a file called
FDL in the main directory of the groff source package.

########################################################################

This file gives an overview of the directories and the main files of
the groff source distribution.


1) The top directory.

  BUG-REPORT    A template for bug-reports.
  ChangeLog     Log of the changes in the different groff versions.
  COPYING       The GNU General Public License (GPL).
  FDL           The Free Documentation License (FDL).
  INSTALL       Information on compiling and installing groff.
  INSTALL.gen   Generic information on configuration and compiling.
  MANIFEST      The file you are reading.
  MORE.STUFF    Useful stuff in other packages.
  NEWS          Recent user-visible changes in groff.
  PROBLEMS      Tips to handle known critical situations.
  PROJECTS      Long-term additions to groff.
  README        Availability and contact information for groff.
  README.WIN32  Documentation of the Win32 port of groff.
  TODO          Things planned for future groff versions.

  All other files in the top directory are related to the configuration,
  compilation, and install processes.  


2) The directory structure

./arch          Data that is special for different architectures.
  djgpp         Data special for the 32-bit DOS compiler djgpp.

./contrib       Part of groff, but maintained by other people.
  mm            The groff mm macro package.
  pic2graph     Convert PIC diagrams into different graphical formats.

./doc           Manuals and tutorials to groff aspects.

./font          Device information and fonts.
  devX100       100dpi device for X Window System.
  devX100-12    100dpi device with narrower font (for 12pt base font).
  devX75        75dpi device for X Window System.
  devX75-12     75dpi device with narrower font (for 12pt base font).
  devascii      Text device for ASCII output.
  devcp1047     EBCDIC device.
  devdvi        TeX DVI device.
  devhtml       HTML device.
  devlatin1     Text device for latin-1 (ISO 8859-1) output.
  devlbp        Device for Canon CAPSL laser printers.
  devlj4        Device for HP Laserjet 4, PCL 5, and compatible printers.
  devps         PostScript device.
  devutf8       Text device for Unicode output.

./man           Some groff manual pages of more general character.

./src           Everything written in programming languages.

./src/devices   The postprocessors.
  grodvi        TeX DVI output.
  grohtml       HTML output.
  grolbp        Canon printers.
  grolj4        HP Laserjet 4, PCL 5, and compatible printers.
  grops         PostScript output.
  grotty        Text output.

./src/include   The *.h C/C++ include files.

./src/libs      C++ code common to several parts of the groff sources.
  libbib        Library of bibliographic functions.
  libdriver     Parser for intermediate output and postprocessor code.
  libgroff      Library for general support functions used everywhere.
  snprintf      An implementation of snprintf() and friends.

./src/preproc   Preprocessors.
  eqn           Mathematical formulae.
  grn           Gremlin pictures.
  html          The preprocessor part of grohtml.
  pic           Diagram drawer.
  refer         Bibliographic references.
  soelim        File inclusion using tmac path.
  tbl           Tables.

./src/roff      Front-end programs.
  groff         Wrapper around troff.  This is the main user program.
  grog          Guess groff command line options.
  nroff         Emulate classical nroff text formatter.
  troff         Main roff formatter program.

./src/xditview  A groff (pre)viewer for the X Window System.

./src/utils     Utility programs around groff.
  addftinfo     Add information to old troff font files for use with groff.
  afmtodit      Create font description files for the PostScript device.
  hpftodit      Create font description files for the LJ4 device.
  indxbib       Make inverted index for bibliographic databases.
  lkbib         Search bibliographic databases.
  lookbib       Interactively search bibliographic databases.
  pfbtops       Translate a PostScript font in .pfb format to ASCII.
  tfmtodit      Create font description files for TeX DVI device.

./tmac          Macro files.


3) Documentation

The groff documentation is scattered upon several places.

- The main directory contains documents related to the groff source.
  The README file contains the information needed to get the groff
  package, report bugs, and contact the developers.

- The man-page of each program (section 1) is kept in the source
  directory of the program.

- The man-pages for the other sections are found in `src/man'.

- Documentation in other formats are located in the `doc' directory,
  including the groff info file, tutorials, and manuals.


4) The roff parser

The parsing of the roff language is done by troff.  The input is
transformed into "nodes" by `src/roff/troff/node.cc'.  From these, the
intermediate output is generated.


5) Postprocessing

The parser for the intermediate output and the postprocessing is in
`src/libs/libdriver/input.cc'.  This is used by all postprocessors.