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 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
|
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- This manual documents GNU troff version 1.23.0.
Copyright 1994-2023 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License". -->
<title>DESC File Format (The GNU Troff Manual)</title>
<meta name="description" content="DESC File Format (The GNU Troff Manual)">
<meta name="keywords" content="DESC File Format (The GNU Troff Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Request-Index.html" rel="index" title="Request Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Device-and-Font-Description-Files.html" rel="up" title="Device and Font Description Files">
<link href="Font-Description-File-Format.html" rel="next" title="Font Description File Format">
<link href="Device-and-Font-Description-Files.html" rel="prev" title="Device and Font Description Files">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span.r {font-family: initial; font-weight: normal; font-style: normal}
span:hover a.copiable-link {visibility: visible}
-->
</style>
</head>
<body lang="en">
<div class="subsection-level-extent" id="DESC-File-Format">
<div class="nav-panel">
<p>
Next: <a href="Font-Description-File-Format.html" accesskey="n" rel="next">Font Description File Format</a>, Previous: <a href="Device-and-Font-Description-Files.html" accesskey="p" rel="prev">Device and Font Description Files</a>, Up: <a href="Device-and-Font-Description-Files.html" accesskey="u" rel="up">Device and Font Description Files</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Request-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="DESC-File-Format-1">6.2.1 <samp class="file">DESC</samp> File Format</h4>
<a class="index-entry-id" id="index-DESC-file-format"></a>
<a class="index-entry-id" id="index-font-description-file-format"></a>
<a class="index-entry-id" id="index-format-of-font-description-file"></a>
<p>The <samp class="file">DESC</samp> file contains a series of directives; each begins a
line. Their order is not important, with two exceptions: (1) the
<code class="code">res</code> directive must precede any <code class="code">papersize</code> directive; and
(2) the <code class="code">charset</code> directive must come last (if at all). If a
directive name is repeated, later entries in the file override previous
ones (except that the paper dimensions are computed based on the
<code class="code">res</code> directive last seen when <code class="code">papersize</code> is encountered).
Spaces and/or tabs separate words and are ignored at line boundaries.
<a class="index-entry-id" id="index-comments-in-device-description-files"></a>
<a class="index-entry-id" id="index-device-description-files_002c-comments"></a>
<a class="index-entry-id" id="index-_0023"></a>
Comments start with the ‘<samp class="samp">#</samp>’ character and extend to the end of a
line. Empty lines are ignored.
</p>
<dl class="table">
<dt id='index-family-1'><span><code class="code">family <var class="var">fam</var></code><a class="copiable-link" href='#index-family-1'> ¶</a></span></dt>
<dd><p>The default font family is <var class="var">fam</var>.
</p>
</dd>
<dt id='index-fonts-2'><span><code class="code">fonts <var class="var">n</var> <var class="var">F1</var> <span class="r">…</span> <var class="var">Fn</var></code><a class="copiable-link" href='#index-fonts-2'> ¶</a></span></dt>
<dd><p>Fonts <var class="var">F1</var>, …, <var class="var">Fn</var> are mounted at font positions
<var class="var">m</var>+1, …, <var class="var">m</var>+<var class="var">n</var> where <var class="var">m</var> is the number of
<code class="code">styles</code> (see below). This directive may extend over more than one
line. A font name of <code class="code">0</code> causes no font to be mounted at the
corresponding position.
</p>
</dd>
<dt id='index-hor'><span><code class="code">hor <var class="var">n</var></code><a class="copiable-link" href='#index-hor'> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-horizontal-motion-quantum"></a>
<a class="index-entry-id" id="index-motion-quantum_002c-horizontal"></a>
<a class="index-entry-id" id="index-quantum_002c-horizontal-motion"></a>
<a class="index-entry-id" id="index-horizontal-resolution"></a>
<a class="index-entry-id" id="index-resolution_002c-horizontal"></a>
<p>The horizontal motion quantum is <var class="var">n</var> basic units. All
horizontal quantities are rounded to multiples of <var class="var">n</var>.
</p>
</dd>
<dt id='index-image_005fgenerator'><span><code class="code">image_generator <var class="var">program</var></code><a class="copiable-link" href='#index-image_005fgenerator'> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-PostScript_002c-PNG-image-generation"></a>
<a class="index-entry-id" id="index-PNG-image-generation-from-PostScript"></a>
<p>Use <var class="var">program</var> to generate PNG images from PostScript input. Under
GNU/Linux, this is usually <code class="code">gs</code>, but under other systems (notably
Cygwin) it might be set to another name. The <code class="code">grohtml</code> driver uses
this directive.
</p>
</dd>
<dt id='index-paperlength'><span><code class="code">paperlength <var class="var">n</var></code><a class="copiable-link" href='#index-paperlength'> ¶</a></span></dt>
<dd><p>The vertical dimension of the output medium is <var class="var">n</var> basic units
(deprecated: use <code class="code">papersize</code> instead).
</p>
</dd>
<dt id='index-papersize'><span><code class="code">papersize <var class="var">format-or-dimension-pair-or-file-name</var> <span class="r">…</span></code><a class="copiable-link" href='#index-papersize'> ¶</a></span></dt>
<dd><p>The dimensions of the output medium are as according to the
argument, which is either a standard paper format, a pair of dimensions,
or the name of a plain text file containing either of the foregoing.
</p>
<p>Recognized paper formats are the ISO and DIN formats
<code class="code">A0</code>–<code class="code">A7</code>, <code class="code">B0</code>–<code class="code">B7</code>, <code class="code">C0</code>–<code class="code">C7</code>,
<code class="code">D0</code>–<code class="code">D7</code>; the U.S. paper types <code class="code">letter</code>,
<code class="code">legal</code>, <code class="code">tabloid</code>, <code class="code">ledger</code>, <code class="code">statement</code>, and
<code class="code">executive</code>; and the envelope formats <code class="code">com10</code>, <code class="code">monarch</code>,
and <code class="code">DL</code>. Matching is performed without regard for lettercase.
</p>
<p>Alternatively, the argument can be a custom paper format in the format
<code class="code"><var class="var">length</var>,<var class="var">width</var></code> (with no spaces before or after the
comma). Both <var class="var">length</var> and <var class="var">width</var> must have a unit appended;
valid units are ‘<samp class="samp">i</samp>’ for inches, ‘<samp class="samp">c</samp>’ for centimeters, ‘<samp class="samp">p</samp>’
for points, and ‘<samp class="samp">P</samp>’ for picas. Example: ‘<samp class="samp">12c,235p</samp>’. An
argument that starts with a digit is always treated as a custom paper
format.
</p>
<p>Finally, the argument can be a file name (e.g., <samp class="file">/etc/papersize</samp>);
if the file can be opened, the first line is read and a match attempted
against each of the other forms. No comment syntax is supported.
</p>
<p>More than one argument can be specified;
each is scanned in turn and the first valid paper specification used.
</p>
</dd>
<dt id='index-paperwidth'><span><code class="code">paperwidth <var class="var">n</var></code><a class="copiable-link" href='#index-paperwidth'> ¶</a></span></dt>
<dd><p>The horizontal dimension of the output medium is <var class="var">n</var> basic
units (deprecated: use <code class="code">papersize</code> instead).
</p>
</dd>
<dt id='index-pass_005ffilenames'><span><code class="code">pass_filenames</code><a class="copiable-link" href='#index-pass_005ffilenames'> ¶</a></span></dt>
<dd><p>Direct GNU <code class="code">troff</code> to emit the name of the source file being
processed. This is achieved with the intermediate output command
‘<samp class="samp">x F</samp>’, which <code class="code">grohtml</code> interprets.
</p>
</dd>
<dt id='index-postpro'><span><code class="code">postpro <var class="var">program</var></code><a class="copiable-link" href='#index-postpro'> ¶</a></span></dt>
<dd><p>Use <var class="var">program</var> as the postprocessor.
</p>
</dd>
<dt id='index-prepro'><span><code class="code">prepro <var class="var">program</var></code><a class="copiable-link" href='#index-prepro'> ¶</a></span></dt>
<dd><p>Use <var class="var">program</var> as a preprocessor. The <code class="code">html</code> and <code class="code">xhtml</code>
output devices use this directive.
</p>
</dd>
<dt id='index-print'><span><code class="code">print <var class="var">program</var></code><a class="copiable-link" href='#index-print'> ¶</a></span></dt>
<dd><p>Use <var class="var">program</var> as a spooler program for printing. If omitted, the
<samp class="option">-l</samp> and <samp class="option">-L</samp> options of <code class="code">groff</code> are ignored.
</p>
</dd>
<dt id='index-res'><span><code class="code">res <var class="var">n</var></code><a class="copiable-link" href='#index-res'> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-device-resolution-1"></a>
<a class="index-entry-id" id="index-resolution_002c-device-1"></a>
<p>The device resolution is <var class="var">n</var> basic units per inch.
</p>
</dd>
<dt id='index-sizes'><span><code class="code">sizes <var class="var">s1</var> <span class="r">…</span> <var class="var">sn</var> 0</code><a class="copiable-link" href='#index-sizes'> ¶</a></span></dt>
<dd><p>The device has fonts at <var class="var">s1</var>, …, <var class="var">sn</var> scaled points (see
below). The list of sizes must be terminated by <code class="code">0</code>. Each
<var class="var">si</var> can also be a range of sizes <var class="var">m</var>–<var class="var">n</var>. The list can
extend over more than one line.
</p>
</dd>
<dt id='index-sizescale'><span><code class="code">sizescale <var class="var">n</var></code><a class="copiable-link" href='#index-sizescale'> ¶</a></span></dt>
<dd><p>A typographical point is subdivided into <var class="var">n</var> scaled points.
The default is <code class="code">1</code>. See <a class="xref" href="Using-Fractional-Type-Sizes.html">Using Fractional Type Sizes</a>.
</p>
</dd>
<dt id='index-styles-2'><span><code class="code">styles <var class="var">S1</var> <span class="r">…</span> <var class="var">Sm</var></code><a class="copiable-link" href='#index-styles-2'> ¶</a></span></dt>
<dd><p>The first <var class="var">m</var> mounting positions are associated with styles
<var class="var">S1</var>, …, <var class="var">Sm</var>.
</p>
</dd>
<dt id='index-tcommand'><span><code class="code">tcommand</code><a class="copiable-link" href='#index-tcommand'> ¶</a></span></dt>
<dd><p>The postprocessor can handle the ‘<samp class="samp">t</samp>’ and ‘<samp class="samp">u</samp>’ intermediate
output commands.
</p>
</dd>
<dt id='index-unicode'><span><code class="code">unicode</code><a class="copiable-link" href='#index-unicode'> ¶</a></span></dt>
<dd><p>The output device supports the complete Unicode repertoire. This
directive is useful only for devices that produce character entities
instead of glyphs.
</p>
<p>If <code class="code">unicode</code> is present, no <code class="code">charset</code> section is required in
the font description files since the Unicode handling built into
<code class="code">groff</code> is used. However, if there are entries in a font
description file’s <code class="code">charset</code> section, they either override the
default mappings for those particular characters or add new mappings
(normally for composite characters).
</p>
<p>The <code class="code">utf8</code>, <code class="code">html</code>, and <code class="code">xhtml</code> output devices use this
directive.
</p>
</dd>
<dt id='index-unitwidth'><span><code class="code">unitwidth <var class="var">n</var></code><a class="copiable-link" href='#index-unitwidth'> ¶</a></span></dt>
<dd><p>Quantities in the font description files are in basic units for fonts
whose type size is <var class="var">n</var> scaled points.
</p>
</dd>
<dt id='index-unscaled_005fcharwidths'><span><code class="code">unscaled_charwidths</code><a class="copiable-link" href='#index-unscaled_005fcharwidths'> ¶</a></span></dt>
<dd><p>Make the font handling module always return unscaled character widths.
The <code class="code">grohtml</code> driver uses this directive.
</p>
</dd>
<dt id='index-use_005fcharnames_005fin_005fspecial-1'><span><code class="code">use_charnames_in_special</code><a class="copiable-link" href='#index-use_005fcharnames_005fin_005fspecial-1'> ¶</a></span></dt>
<dd><p>GNU <code class="code">troff</code> should encode special characters inside device control
commands; see <a class="ref" href="Postprocessor-Access.html">Postprocessor Access</a>. The <code class="code">grohtml</code> driver
uses this directive.
</p>
</dd>
<dt id='index-vert'><span><code class="code">vert <var class="var">n</var></code><a class="copiable-link" href='#index-vert'> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-vertical-motion-quantum"></a>
<a class="index-entry-id" id="index-motion-quantum_002c-vertical"></a>
<a class="index-entry-id" id="index-quantum_002c-vertical-motion"></a>
<a class="index-entry-id" id="index-vertical-resolution"></a>
<a class="index-entry-id" id="index-resolution_002c-vertical"></a>
<p>The vertical motion quantum is <var class="var">n</var> basic units. All vertical
quantities are rounded to multiples of <var class="var">n</var>.
</p>
</dd>
<dt id='index-charset'><span><code class="code">charset</code><a class="copiable-link" href='#index-charset'> ¶</a></span></dt>
<dd><p>This line and everything following it in the file are ignored. It is
recognized for compatibility with other <code class="code">troff</code> implementations.
In GNU <code class="code">troff</code>, character set repertoire is described on a
per-font basis.
</p></dd>
</dl>
<a class="index-entry-id" id="index-spare1"></a>
<a class="index-entry-id" id="index-spare2"></a>
<a class="index-entry-id" id="index-biggestfont"></a>
<p>GNU <code class="code">troff</code> recognizes but ignores the directives <code class="code">spare1</code>,
<code class="code">spare2</code>, and <code class="code">biggestfont</code>.
</p>
<p>The <code class="code">res</code>, <code class="code">unitwidth</code>, <code class="code">fonts</code>, and <code class="code">sizes</code> lines
are mandatory. Directives not listed above are ignored by GNU
<code class="code">troff</code> but may be used by postprocessors to obtain further
information about the device.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Font-Description-File-Format.html">Font Description File Format</a>, Previous: <a href="Device-and-Font-Description-Files.html">Device and Font Description Files</a>, Up: <a href="Device-and-Font-Description-Files.html">Device and Font Description Files</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Request-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|