grohtml(1) General Commands Manual grohtml(1)
Name
grohtml, post-grohtml, pre-grohtml - groff output driver for HTML
Synopsis
pre-grohtml [-epV] [-a anti-aliasing-text-bits] [-D image-directory]
[-F font-directory] [-g anti-aliasing-graphic-bits]
[-i resolution] [-I image-stem] [-o image-vertical-offset]
[-x html-dialect] troff-command troff-argument ...
pre-grohtml --help
pre-grohtml -v
pre-grohtml --version
post-grohtml [-bCGhlnrVy] [-F font-directory] [-j output-stem]
[-k encoding] [-s base-point-size] [-S heading-level]
[-x html-dialect] [file ...]
post-grohtml --help
post-grohtml -v
post-grohtml --version
Description
The GNU roff system's HTML support consists of a preprocessor, pre-grohtml,
and an output driver, post-grohtml; together, they translate roff(7) docu-
ments to HTML. Because a preprocessor is (uniquely) required for this out-
put driver, users should invoke grohtml via the groff(1) command with the
-Thtml or -Txhtml options. (In this installation, ps is the default output
device.) Use groff's -P option to pass any options shown above to grohtml.
If no operands are given, or if file is "-", grohtml reads the standard in-
put stream. It writes to the standard output stream.
grohtml invokes groff twice. In the first pass, the preprocessor
pre-grohtml renders pictures, equations, and tables as images in PostScript
format using the ps output device. In the second pass, the output driver
post-grohtml translates the output of troff(1) to HTML.
grohtml writes UTF-8-encoded output (but see the -k option) and produces
HTML character references for most non-composite, non-basic Latin Unicode
characters. In spite of this, groff may issue warnings about unknown spe-
cial characters if they can't be found during the first pass. You can ig-
nore these warnings unless the special characters appear inside a table or
equation.
Typefaces
grohtml supports the standard four styles: R (roman), I (italic), B (bold),
and BI (bold-italic). Fonts are grouped into families T and C having mem-
bers in each style.
TR Times roman
TI Times italic
TB Times bold
TBI Times bold-italic
CR Courier roman
CI Courier italic
CB Courier bold
CBI Courier bold-italic
A special font, S, is also provided to accommodate roff documents that ex-
pect it to always be available.
grohtml furthermore supports a naming scheme for East Asian typefaces
shared with gropdf(1), grops(1), and grotty(1).
CSH Simplified Chinese, Hei style
CSS Simplified Chinese, Song style
CTH Traditional Chinese, Hei style
CTS Traditional Chinese, Song style
JPG Japanese, Gothic style
JPM Japanese, Mincho style
KOG Korean, Gothic style
KOM Korean, Mincho style
Font description files
The font description files used with grohtml expose the same glyph reper-
toire in their charset sections. See groff_font(5).
Dependencies
pre-grohtml generates an image whenever an eqn equation, tbl table, or pic
picture is encountered in the input. grohtml therefore may run several
commands as part of its operation. These include the Netpbm tools pamcut,
pnmcrop, and pnmtopng, as well as Ghostscript's gs and ps2ps.
Options
--help displays a usage message, while -v and --version show version infor-
mation; all exit afterward.
-a anti-aliasing-text-bits
Number of bits of antialiasing information to be used by text when
generating PNG images. The default is 4 but 0, 1, and 2 are also
valid. Your system's version of gs must support the -dTextAlphaBits
option in order to exploit antialiasing. A value of 0 stops grohtml
from issuing antialiasing commands to gs.
-b Initialize the background color to white.
-C Suppress output of "CreationDate:" HTML comment.
-D image-directory
Instruct grohtml to place all image files into directory image-di-
rectory.
-e Direct eqn to produce MathML.
This option should not be manually specified; it is synthesized by
groff depending on whether it was given the -Thtml or -Txhtml op-
tion.
-F font-directory
Prepend directory font-directory/devname to the search path for font
and device description files; name is the name of the device, usu-
ally html.
-g anti-aliasing-graphic-bits
Number of bits of antialiasing information to be used by graphics
when generating PNG images. The default is 4 but 0, 1, and 2 are
also valid. Your system's version of gs must support the
-dGraphicAlphaBits option in order to exploit antialiasing. A value
of 0 stops grohtml from issuing antialiasing commands to gs.
-G Suppress output of "Creator:" HTML comment.
-h Generate section headings by using HTML B elements and increasing
the font size, rather than HTML H elements.
-i resolution
Set the image resolution in pixels per inch; the default is 100.
-I image-stem
Determine the image file name stem. If omitted, grohtml uses
grohtml-XXXXX (where XXXXX is the process ID). A dash is appended
to the stem to separate it from the following image number.
-j output-stem
Instruct grohtml to split the HTML output into multiple files. Out-
put is written to a new file at each section heading (but see option
-S below) named output-stem-n.html.
-k encoding
Select the character encoding used in the generated document, af-
fecting the declared encoding in the preamble and the form of char-
acter entity references. Valid values are "ASCII" and "UTF-8". The
default is "UTF-8".
-l Turn off the production of automatic section links at the top of the
document.
-n Generate simple heading anchors whenever a section/number heading is
found. Without the option the anchor value is the textual heading.
This can cause problems when a heading contains a "?" on older ver-
sions of some browsers. This feature is automatically enabled if a
heading contains an image.
-o image-vertical-offset
Specify the vertical offset of images in points.
-p Display page rendering progress to the standard error stream.
grohtml displays a page number only when an image is required.
-r Turn off the automatic header and footer line (HTML rule).
-s base-type-size
Set the document's base type size in points. When this size is used
in the source, it corresponds to the HTML base type size. Every in-
crease of two points in the source will produce a "big" element, and
conversely when a decrease of two points is seen, a "small" element
is emitted.
-S heading-level
When splitting HTML output (see option -j above), split at each
nested heading level defined by heading-level, or higher). The de-
fault is 1.
-V Create an XHTML or HTML validator button at the bottom of each page
of the document.
-x html-dialect
Select HTML dialect. Currently, html-dialect should be either the
digit 4 or the letter x, which indicates whether grohtml should gen-
erate HTML 4 or XHTML, respectively.
This option should not be manually specified; it is synthesized by
groff depending on whether it was given the -Thtml or -Txhtml op-
tion.
-y Produce a right-aligned groff signature at the end of the document
(only if -V is also specified).
Exit status
pre-grohtml and post-grohtml each exit with status 0 on successful opera-
tion, status 2 if the program cannot interpret its command-line arguments,
and status 1 if it encounters an error during operation.
Environment
GROFF_FONT_PATH
lists directories in which to search for devhtml, grohtml's direc-
tory of device and font description files. See troff(1) and
groff_font(5).
SOURCE_DATE_EPOCH
A timestamp (expressed as seconds since the Unix epoch) to use as
the output creation timestamp in place of the current time. The
time is converted to human-readable form using gmtime(3) and
asctime(3), and recorded in an HTML comment.
TZ The time zone to use when converting the current time to human-read-
able form; see tzset(3). If SOURCE_DATE_EPOCH is used, it is always
converted to human-readable form using UTC.
Files
/usr/share/groff/1.24.1/font/devhtml/DESC
describes the html output device.
/usr/share/groff/1.24.1/font/devhtml/F
describes the font known as F on device html.
/usr/share/groff/1.24.1/tmac/html.tmac
defines font mappings, special characters, and colors for use with
the html output device. It is automatically loaded by troffrc when
either of the html or xhtml output devices is selected.
/usr/share/groff/1.24.1/tmac/html-end.tmac
finalizes setup of the html output device. It is automatically
loaded by troffrc-end when either of the html or xhtml output de-
vices is selected.
grohtml uses temporary files. See groff(1) for details about where such
files are created.
Bugs
grohtml is still beta code.
grohtml does not truly support hyphenation, but you can fool it into hy-
phenating long input lines, which can appear in HTML output with a hyphen-
ated word followed by a space but no line break.
See also
groff(1), troff(1), groff_font(5)
groff 1.24.1 2026-03-14 grohtml(1)