summaryrefslogtreecommitdiffstats
path: root/doc/groff.html.node/Using-Fonts.html
blob: 81f48e699460e6ff6ce8f65b54a704f7493cbeb3 (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
<!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>Using Fonts (The GNU Troff Manual)</title>

<meta name="description" content="Using Fonts (The GNU Troff Manual)">
<meta name="keywords" content="Using Fonts (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="GNU-troff-Reference.html" rel="up" title="GNU troff Reference">
<link href="Manipulating-Type-Size-and-Vertical-Spacing.html" rel="next" title="Manipulating Type Size and Vertical Spacing">
<link href="Page-Control.html" rel="prev" title="Page Control">


</head>

<body lang="en">
<div class="section-level-extent" id="Using-Fonts">
<div class="nav-panel">
<p>
Next: <a href="Manipulating-Type-Size-and-Vertical-Spacing.html" accesskey="n" rel="next">Manipulating Type Size and Vertical Spacing</a>, Previous: <a href="Page-Control.html" accesskey="p" rel="prev">Page Control</a>, Up: <a href="GNU-troff-Reference.html" accesskey="u" rel="up">GNU <code class="code">troff</code> Reference</a> &nbsp; [<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>
<h3 class="section" id="Using-Fonts-1">5.19 Using Fonts</h3>
<a class="index-entry-id" id="index-font"></a>

<a class="index-entry-id" id="index-typeface"></a>
<a class="index-entry-id" id="index-font-family"></a>
<a class="index-entry-id" id="index-font-style"></a>
<a class="index-entry-id" id="index-style_002c-font"></a>
<a class="index-entry-id" id="index-family_002c-font"></a>
<a class="index-entry-id" id="index-text-font"></a>
<a class="index-entry-id" id="index-special-font"></a>
<a class="index-entry-id" id="index-unstyled-font"></a>
<a class="index-entry-id" id="index-font_002c-text"></a>
<a class="index-entry-id" id="index-font_002c-special"></a>
<a class="index-entry-id" id="index-font_002c-unstyled"></a>
<p>In digital typography, a <em class="dfn">font</em> is a collection of characters in a
specific typeface that a device can render as glyphs at a desired
size.<a class="footnote" id="DOCF72" href="groff.html_fot.html#FOOT72"><sup>72</sup></a>  A <code class="code">roff</code> formatter can change typefaces at any
point in the text.  The basic faces are a set of <em class="dfn">styles</em> combining
upright and slanted shapes with normal and heavy stroke weights:
&lsquo;<samp class="samp">R</samp>&rsquo;, &lsquo;<samp class="samp">I</samp>&rsquo;, &lsquo;<samp class="samp">B</samp>&rsquo;, and &lsquo;<samp class="samp">BI</samp>&rsquo;&mdash;these stand for
<i class="slanted">roman</i>, <i class="slanted">italic</i>, <i class="slanted">bold</i>, and
<i class="slanted">bold-italic</i>.  For linguistic text, GNU <code class="code">troff</code> groups
typefaces into <em class="dfn">families</em> containing each of these
styles.<a class="footnote" id="DOCF73" href="groff.html_fot.html#FOOT73"><sup>73</sup></a>  A <em class="dfn">text font</em> is thus often a family
combined with a style, but it need not be: consider the <code class="code">ps</code> and
<code class="code">pdf</code> devices&rsquo; <code class="code">ZCMI</code> (Zapf Chancery Medium italic)&mdash;often,
no other style of Zapf Chancery Medium is provided.  On typesetting
devices, at least one <em class="dfn">special font</em> is available, comprising
<em class="dfn">unstyled</em> glyphs for mathematical operators and other purposes.
</p>
<a class="index-entry-id" id="index-font-description-file"></a>
<a class="index-entry-id" id="index-description-file_002c-font"></a>
<a class="index-entry-id" id="index-file_002c-font-description"></a>
<a class="index-entry-id" id="index-font-metrics"></a>
<a class="index-entry-id" id="index-metrics_002c-font"></a>
<a class="index-entry-id" id="index-mounting-position"></a>
<a class="index-entry-id" id="index-mounting-position-1"></a>
<a class="index-entry-id" id="index-position_002c-mounting"></a>
<p>Like <abbr class="acronym">AT&amp;T</abbr> <code class="code">troff</code>, GNU <code class="code">troff</code> does not itself load
or manipulate a digital font file;<a class="footnote" id="DOCF74" href="groff.html_fot.html#FOOT74"><sup>74</sup></a> instead it
works with a <em class="dfn">font description file</em> that characterizes it,
including its glyph repertoire and the <em class="dfn">metrics</em> (dimensions) of
each glyph.<a class="footnote" id="DOCF75" href="groff.html_fot.html#FOOT75"><sup>75</sup></a>  This
information permits the formatter to accurately place glyphs with
respect to each other.  Before using a font description, the formatter
associates it with a <em class="dfn">mounting position</em>, a place in an ordered list
of available typefaces.
<a class="index-entry-id" id="index-abstract-font-style"></a>
<a class="index-entry-id" id="index-font-style_002c-abstract"></a>
<a class="index-entry-id" id="index-style_002c-font_002c-abstract"></a>
So that a document need not be strongly coupled to a specific font
family, in GNU <code class="code">troff</code> an output device can associate a style in
the abstract sense with a mounting position.  Thus the default family
can be combined with a style dynamically, producing a <em class="dfn">resolved font
name</em>.
</p>
<p>Fonts often have trademarked names, and even Free Software fonts can
require renaming upon modification.  <code class="code">groff</code> maintains a
convention that a device&rsquo;s serif font family is given the name &lsquo;<samp class="samp">T</samp>&rsquo;
(&ldquo;Times&rdquo;), its sans-serif family &lsquo;<samp class="samp">H</samp>&rsquo; (&ldquo;Helvetica&rdquo;), and its
monospaced family &lsquo;<samp class="samp">C</samp>&rsquo; (&ldquo;Courier&rdquo;).  Historical inertia has driven
<code class="code">groff</code>&rsquo;s font identifiers to short uppercase abbreviations of font
names, as with &lsquo;<samp class="samp">TR</samp>&rsquo;, &lsquo;<samp class="samp">TI</samp>&rsquo;, &lsquo;<samp class="samp">TB</samp>&rsquo;, &lsquo;<samp class="samp">TBI</samp>&rsquo;, and a
special font &lsquo;<samp class="samp">S</samp>&rsquo;.
</p>
<p>The default family used with abstract styles can be changed at any time;
initially, it is &lsquo;<samp class="samp">T</samp>&rsquo;.  Typically, abstract styles are arranged in
the first four mounting positions in the order shown above.  The default
mounting position, and therefore style, is always &lsquo;<samp class="samp">1</samp>&rsquo; (&lsquo;<samp class="samp">R</samp>&rsquo;).
By issuing appropriate formatter instructions, you can override these
defaults before your document writes its first glyph.
</p>
<a class="index-entry-id" id="index-graphic-renditions"></a>
<a class="index-entry-id" id="index-renditions_002c-graphic"></a>
<a class="index-entry-id" id="index-character-cell-attributes"></a>
<a class="index-entry-id" id="index-attributes_002c-character-cell"></a>
<a class="index-entry-id" id="index-cell_002c-character_002c-attributes"></a>
<p>Terminal output devices cannot change font families and lack special
fonts.  They support style changes by overstriking, or by altering
ISO&nbsp;6429/ECMA-48 <em class="dfn">graphic renditions</em> (character cell
attributes).
</p>


<ul class="mini-toc">
<li><a href="Selecting-Fonts.html" accesskey="1">Selecting Fonts</a></li>
<li><a href="Font-Families.html" accesskey="2">Font Families</a></li>
<li><a href="Font-Positions.html" accesskey="3">Font Positions</a></li>
<li><a href="Using-Symbols.html" accesskey="4">Using Symbols</a></li>
<li><a href="Character-Classes.html" accesskey="5">Character Classes</a></li>
<li><a href="Special-Fonts.html" accesskey="6">Special Fonts</a></li>
<li><a href="Artificial-Fonts.html" accesskey="7">Artificial Fonts</a></li>
<li><a href="Ligatures-and-Kerning.html" accesskey="8">Ligatures and Kerning</a></li>
<li><a href="Italic-Corrections.html" accesskey="9">Italic Corrections</a></li>
<li><a href="Dummy-Characters.html">Dummy Characters</a></li>
</ul>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Manipulating-Type-Size-and-Vertical-Spacing.html">Manipulating Type Size and Vertical Spacing</a>, Previous: <a href="Page-Control.html">Page Control</a>, Up: <a href="GNU-troff-Reference.html">GNU <code class="code">troff</code> Reference</a> &nbsp; [<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>