1groff_char(7) Miscellaneous Information Manual groff_char(7)
2
3
4
6 groff_char - GNU roff special character and glyph repertoire
7
9 The GNU roff typesetting system has a large glyph repertoire suitable
10 for production of varied literary, professional, technical, and mathe‐
11 matical documents. groff works with characters; an output device ren‐
12 ders glyphs. groff's input character set is restricted to that defined
13 by the standards ISO Latin-1 (ISO 8859-1) and CCSID “code page” 1047
14 (an EBCDIC arrangement of Latin-1). For ease of document maintenance
15 in UTF-8 environments, it is advisable to use only the Unicode basic
16 Latin code points, a subset of all of the foregoing historically re‐
17 ferred to as US-ASCII, which has only 94 visible, printable code
18 points. In groff, these are termed ordinary characters. Often, many
19 more are desired in output.
20
21 AT&T troff in the 1970s faced a similar problem: the available typeset‐
22 ter's glyph repertoire differed from that of the computers that con‐
23 trolled it. troff's solution was a form of escape sequence known as a
24 special character to access several dozen additional glyphs available
25 in the fonts prepared for mounting in the phototypesetter. These
26 glyphs were mapped onto a two-character name space for a degree of mne‐
27 monic convenience; for example, the escape sequence \(aa encoded an
28 acute accent and \(sc a section sign.
29
30 groff has lifted historical roff limitations on special character name
31 lengths, but recognizes and retains compatibility with the historical
32 names. groff expands the lexicon of glyphs available by name and per‐
33 mits users to define their own special character escape sequences with
34 the char request. Special character names are groff identifiers; see
35 section “Identifiers” in groff(7). Our discussion uses the terms
36 “glyph name” and “special character name” interchangeably; we assume no
37 character translations or redefinitions.
38
39 This document lists all of the glyph names predefined by groff's font
40 description files and presents the systematic notation by which it en‐
41 ables access to arbitrary Unicode code points and construction of com‐
42 posite glyphs. Glyphs listed may be unavailable, or may vary in ap‐
43 pearance, depending on the output device and font chosen when the page
44 was formatted. This page was rendered for device utf8 using font R.
45
46 A few escape sequences that are not groff special characters also pro‐
47 duce glyphs; these exist for syntactical or historical reasons. \',
48 \`, \-, and \_ are translated on input to the special character escape
49 sequences \[aa], \[ga], \[-], and \[ul], respectively. Others include
50 \\, \. (backslash-dot), and \e; see groff(7). A small number of spe‐
51 cial characters represent glyphs that are not encoded in Unicode; exam‐
52 ples include the baseline rule \[ru] and the Bell System logo \[bs].
53
54 In groff, you can test output device support for any character (ordi‐
55 nary or special) with the conditional expression operator “c”.
56 .ie c \[bs] \{Welcome to the \[bs] Bell System;
57 did you get the Wehrmacht helmet or the Death Star?\}
58 .el No Bell System logo.
59
60 For brevity in the remainder of this document, we shall refer to sys‐
61 tems conforming to the ISO 646:1991 IRV, ISO 8859, or ISO 10646 (“Uni‐
62 code”) character encoding standards as “ISO” systems, and those employ‐
63 ing IBM code page 1047 as “EBCDIC” systems. That said, EBCDIC systems
64 that support groff are known to also support UTF-8.
65
66 While groff accepts eight-bit encoded input, not all such code points
67 are valid as input. On ISO platforms, character codes 0, 11, 13–31,
68 and 128–159 are invalid. (This is all C0 and C1 controls except for
69 SOH through LF [Control+A to Control+J], and FF [Control+L].) On
70 EBCDIC platforms, 0, 8–9, 11, 13–20, 23–31, and 48–63 are invalid.
71 Some of these code points are used by groff for internal purposes,
72 which is one reason it does not support UTF-8 natively.
73
74 Fundamental character set
75 The ordinary characters catalogued above, plus the space, tab, newline,
76 and leader (Control+A), form the fundamental character set for groff
77 input; anything in the language, even over one million code points in
78 Unicode, can be expressed using it. On ISO systems, code points in the
79 range 33–126 comprise a common set of printable glyphs in all of the
80 aforementioned ISO character encoding standards. It is this character
81 set and (with some noteworthy exceptions) the corresponding glyph
82 repertoire for which AT&T troff was implemented. On EBCDIC systems,
83 printable characters are in the range 66–201 and 203–254; those without
84 counterparts in the ISO range 33–126 are discussed in the next subsec‐
85 tion.
86
87 All of the following characters map to glyphs as you would expect.
88
89 ┌──────────────────────────────────────────────────────────┐
90 │! # $ % & ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ │
91 │A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] _ │
92 │a b c d e f g h i j k l m n o p q r s t u v w x y z { | } │
93 The r└e─m─a─i─n─i─n─g──o─r─d─i─n─a─r─y──c─h─a─r─a─c─t─e─r─s──s─u─r─p─r─i─s─e──c─o─m─p─u─t─i─n─g──p─r─o─f─e─s─s─i─o─n─a┘ls and
94 others intimately familiar with the ISO character encodings. The de‐
95 velopers of AT&T troff chose mappings for them that would be useful for
96 typesetting technical literature in a broad range of scientific disci‐
97 plines: Bell Labs used the system for preparation of AT&T's patent fil‐
98 ings with the U.S. government. Further, the prevailing character en‐
99 coding standard in the 1970s, USAS X3.4-1968 (“ASCII”), deliberately
100 supported semantic ambiguity at some code points, and outright substi‐
101 tution at several others, to suit the localization demands of various
102 national standards bodies.
103
104 The table below presents the seven exceptional code points with their
105 typical keycap engravings, their glyph mappings and semantics in roff
106 systems, and the escape sequences producing the Unicode basic Latin
107 character they replace. The first, the neutral double quote, is a par‐
108 tial exception because it does represent itself, but since the roff
109 language also uses it to quote macro arguments, groff supports a spe‐
110 cial character escape sequence as an alternative form so that the glyph
111 can be easily included in macro arguments without requiring the user to
112 master the quoting rules that AT&T troff required in that context.
113 (Some requests, like ds, also treat " non-literally.) Furthermore, not
114 all of the special character escape sequences are portable to AT&T
115 troff and all of its descendants; these groff extensions are presented
116 using its special character form \[], whereas portable special charac‐
117 ter escape sequences are shown in the traditional \( form. \- and \e
118 are portable to all known troffs. \e means “the glyph of the current
119 escape character”; it therefore can produce unexpected output if the ec
120 request is used. On devices with a limited glyph repertoire, glyphs in
121 the “keycap” and “appearance” columns on the same row of the table may
122 look identical; except for the neutral double quote, this will not be
123 the case on more-capable devices. Review your document using as many
124 different output devices as possible.
125
126 ┌──────────────────────────────────────────────────────────────────┐
127 │Keycap Appearance and meaning Special character and meaning │
128 ├──────────────────────────────────────────────────────────────────┤
129 │" " neutral double quote \[dq] neutral double quote │
130 │' ’ closing single quote \[aq] neutral apostrophe │
131 │- - hyphen \- or \[-] minus sign/Unix dash │
132 │\ (escape character) \e or \[rs] reverse solidus │
133 │^ ˆ modifier circumflex \(ha circumflex/caret/“hat” │
134 │` ‘ opening single quote \(ga grave accent │
135 │~ ˜ modifier tilde \(ti tilde │
136 └──────────────────────────────────────────────────────────────────┘
137 The hyphen-minus is a particularly unfortunate case of overloading.
138 Its awkward name in ISO 8859 and later standards reflects the many dis‐
139 tinguishable purposes to which it had already been put by the 1980s,
140 including a hyphen, a minus sign, and (alone or in repetition) dashes
141 of varying widths. For best results in roff systems, use the “-” char‐
142 acter in input outside an escape sequence only to mean a hyphen, as in
143 the phrase “long-term”. For a minus sign in running text or a Unix
144 command-line option dash, use \- (or \[-] in groff if you find it helps
145 the clarity of the source document). (Another minus sign, for use in
146 mathematical equations, is available as \[mi]). AT&T troff supported
147 em-dashes as \(em, as does groff.
148
149 The special character escape sequence for the apostrophe as a neutral
150 single quote is typically needed only in technical content; typing
151 words like “can't” and “Anne's” in a natural way will render correctly,
152 because in ordinary prose an apostrophe is typeset either as a closing
153 single quotation mark or as a neutral single quote, depending on the
154 capabilities of the output device. By contrast, special character es‐
155 cape sequences should be used for quotation marks unless portability to
156 limited or historical troff implementations is necessary; on those sys‐
157 tems, the input convention is to pair the grave accent with the apos‐
158 trophe for single quotes, and to double both characters for double
159 quotes. AT&T troff defined no special characters for quotation marks
160 or the apostrophe. Repeated single quotes (‘‘thus’’) will be visually
161 distinguishable from double quotes (“thus”) on terminal devices, and
162 perhaps on others (depending on the font selected).
163
164 ┌────────────────────────────────────────────────────────────────┐
165 │AT&T troff input recommended groff input │
166 ├────────────────────────────────────────────────────────────────┤
167 │A Winter's Tale A Winter's Tale │
168 │`U.K. outer quotes' \[oq]U.K. outer quotes\[cq] │
169 │`U.K. ``inner'' quotes' \[oq]U.K. \[lq]inner\[rq] quotes\[cq] │
170 │``U.S. outer quotes'' \[lq]U.S. outer quotes\[rq] │
171 │``U.S. `inner' quotes'' \[lq]U.S. \[oq]inner\[cq] quotes\[rq] │
172 If └─y─o─u──f─r─e─q─u─e─n─t─l─y──r─e─q─u─i─r─e──q─u─o─t─a─t─i─o─n──m─a─r─k─s──i─n──y─o─u─r──d─o─c─u─m─e─n─t─,──s─e─e──i─f─┘the
173 macro package you're using supplies strings or macros to facilitate
174 quotation, or define them yourself (except in man pages).
175
176 Using Unicode basic Latin characters to compose boxes and lines is ill-
177 advised. roff systems have special characters for drawing horizontal
178 and vertical lines; see subsection “Rules and lines” below. Preproces‐
179 sors like tbl(1) and pic(1) draw boxes and will produce the best possi‐
180 ble output for the device, falling back to basic Latin glyphs only when
181 necessary.
182
183 Eight-bit encodings and Latin-1 supplement
184 ISO 646 is a seven-bit code encoding 128 code points; eight-bit codes
185 are twice the size. ISO 8859-1 and code page 1047 allocated the addi‐
186 tional space to what Unicode calls “C1 controls” (control characters)
187 and the “Latin-1 supplement”. The C1 controls are neither printable
188 nor usable as groff input.
189
190 Two Latin-1 supplement characters are handled specially on input.
191 troff never produces them as output.
192
193 NBSP encodes a no-break space; it is mapped to \~, the adjustable
194 non-breaking space escape sequence.
195
196 SHY encodes a soft hyphen; it is mapped to \%, the hyphenation con‐
197 trol escape sequence.
198
199 The remaining characters in the Latin-1 supplement represent them‐
200 selves. Although they can be specified directly with the keyboard on
201 systems configured to use Latin-1 as the character encoding, it is more
202 portable, both to other roff systems and to UTF-8 environments, to use
203 their special character escape sequences, shown below. The glyph de‐
204 scriptions we use are non-standard in some cases, for brevity.
205
206 ¡ \[r!] inverted exclamation mark Ñ \[~N] N tilde
207 ¢ \[ct] cent sign Ò \[`O] O grave
208
209 £ \[Po] pound sign Ó \['O] O acute
210 ¤ \[Cs] currency sign Ô \[^O] O circumflex
211 ¥ \[Ye] yen sign Õ \[~O] O tilde
212 ¦ \[bb] broken bar Ö \[:O] O dieresis
213 § \[sc] section sign × \[mu] multiplication sign
214 ¨ \[ad] dieresis accent Ø \[/O] O slash
215 © \[co] copyright sign Ù \[`U] U grave
216 ª \[Of] feminine ordinal indicator Ú \['U] U acute
217 « \[Fo] left double chevron Û \[^U] U circumflex
218 ¬ \[no] logical not Ü \[:U] U dieresis
219 ® \[rg] registered sign Ý \['Y] Y acute
220 ¯ \[a-] macron accent Þ \[TP] uppercase thorn
221 ° \[de] degree sign ß \[ss] lowercase sharp s
222 ± \[+-] plus-minus à \[`a] a grave
223 ² \[S2] superscript two á \['a] a acute
224 ³ \[S3] superscript three â \[^a] a circumflex
225 ´ \[aa] acute accent ã \[~a] a tilde
226 µ \[mc] micro sign ä \[:a] a dieresis
227 ¶ \[ps] pilcrow sign å \[oa] a ring
228 · \[pc] centered period æ \[ae] ae ligature
229 ¸ \[ac] cedilla accent ç \[,c] c cedilla
230 ¹ \[S1] superscript one è \[`e] e grave
231 º \[Om] masculine ordinal indicator é \['e] e acute
232 » \[Fc] right double chevron ê \[^e] e circumflex
233 ¼ \[14] one quarter symbol ë \[:e] e dieresis
234 ½ \[12] one half symbol ì \[`i] i grave
235 ¾ \[34] three quarters symbol í \['i] e acute
236 ¿ \[r?] inverted question mark î \[^i] i circumflex
237 À \[`A] A grave ï \[:i] i dieresis
238 Á \['A] A acute ð \[Sd] lowercase eth
239 Â \[^A] A circumflex ñ \[~n] n tilde
240 Ã \[~A] A tilde ò \[`o] o grave
241 Ä \[:A] A dieresis ó \['o] o acute
242 Å \[oA] A ring ô \[^o] o circumflex
243 Æ \[AE] AE ligature õ \[~o] o tilde
244 Ç \[,C] C cedilla ö \[:o] o dieresis
245 È \[`E] E grave ÷ \[di] division sign
246 É \['E] E acute ø \[/o] o slash
247 Ê \[^E] E circumflex ù \[`u] u grave
248 Ë \[:E] E dieresis ú \['u] u acute
249 Ì \[`I] I grave û \[^u] u circumflex
250 Í \['I] I acute ü \[:u] u dieresis
251 Î \[^I] I circumflex ý \['y] y acute
252 Ï \[:I] I dieresis þ \[Tp] lowercase thorn
253 Ð \[-D] uppercase eth ÿ \[:y] y dieresis
254
255 Special character escape forms
256 Glyphs that lack a character code in the basic Latin repertoire to di‐
257 rectly represent them are entered by one of several special character
258 escape forms. Such glyphs can be simple or composite, and accessed ei‐
259 ther by name or numerically by code point. Code points and combining
260 properties are determined by character encoding standards, whereas
261 glyph names as used here originated in AT&T troff special character es‐
262 cape sequences. Predefined glyph names use only characters in the ba‐
263 sic Latin repertoire.
264
265 \(gl is a special character escape sequence for the glyph with the
266 two-character name gl. This is the original syntax form sup‐
267 ported by AT&T troff. The acute accent, \(aa, is an example.
268
269 \C'glyph-name'
270 is a special character escape sequence for glyph-name, which can
271 be of arbitrary length. The delimiter, shown here as a neutral
272 apostrophe, can be any character not occurring in glyph-name.
273 This syntax form was introduced in later versions of AT&T de‐
274 vice-independent troff. The foregoing acute accent example can
275 be expressed as \C'aa'.
276
277 \[glyph-name]
278 is a special character escape sequence for glyph-name, which can
279 be of arbitrary length but must not contain a closing square
280 bracket “]”. (No glyph names predefined by groff employ “]”.)
281 The foregoing acute accent example can be expressed in groff as
282 \[aa].
283
284 \C'c' and \[c] are not synonyms for the ordinary character “c”, but re‐
285 quest the special character named “\c”. For example, “\[a]” is not
286 “a”, but rather a special character with the internal glyph name (used
287 in font description files and diagnostic messages) \a, which is typi‐
288 cally undefined. The only such glyph name groff predefines is the mi‐
289 nus sign, which can therefore be accessed as \C'-' or \[-].
290
291 \[base-char composite-1 composite-2 ... composite-n]
292 is a composite glyph. Glyphs like a lowercase “e” with an acute
293 accent, as in the word “café”, can be expressed as \[e aa]. See
294 subsection “Accents” below for a table of combining glyph names.
295
296 Unicode encodes far more characters than groff has glyph names for;
297 special character escape forms based on numerical code points enable
298 access to any of them. Frequently used glyphs or glyph combinations
299 can be stored in strings, and new glyph names can be created ad hoc
300 with the char request; see groff(7).
301
302 \[unnnn[n[n]]]
303 is a Unicode numeric special character escape sequence. Any
304 Unicode code point can be accessed with four to six hexadecimal
305 digits, with hexadecimal letters accepted in uppercase form
306 only. Thus, \[u02DA] accesses the (spacing) ring accent, pro‐
307 ducing “˚”.
308
309 Unicode code points can be composed as well; when they are, GNU troff
310 requires NFD (Normalization Form D), where all Unicode glyphs are maxi‐
311 mally decomposed. (Exception: precomposed characters in the Latin-1
312 supplement described above are also accepted. Do not count on this ex‐
313 ception remaining in a future GNU troff that accepts UTF-8 input di‐
314 rectly.) Thus, GNU troff accepts “caf\['e]”, “caf\[e aa]”, and
315 “caf\[u0065_0301]”, as ways to input “café”. (Due to its legacy 8-bit
316 encoding compatibility, at present it also accepts “caf\[u00E9]” on ISO
317 Latin-1 systems.)
318
319 \[ubase-char[_combining-component]...]
320 constructs a composite glyph from Unicode numeric special char‐
321 acter escape sequences. The code points of the base glyph and
322 the combining components are each expressed in hexadecimal, with
323 an underscore (_) separating each component. Thus,
324 \[u006E_0303] produces “ñ”.
325
326 \[charnnn]
327 expresses an eight-bit code point where nnn is the code point of
328 the character, a decimal number between 0 and 255 without lead‐
329 ing zeroes. This legacy numeric special character escape se‐
330 quence is used to map characters onto glyphs via the trin re‐
331 quest in macro files loaded by grotty(1).
332
334 In this section, groff's glyph name repertoire is presented in tabular
335 form. The meanings of the columns are as follows.
336
337 Output shows the glyph as it appears on the device used to render this
338 document; although it can have a notably different shape on
339 other devices (and is subject to user-directed translation and
340 replacement), groff attempts reasonable equivalency on all out‐
341 put devices.
342
343 Input shows the groff character (ordinary or special) that normally
344 produces the glyph. Some code points have multiple glyph
345 names.
346
347 Unicode is the code point notation for the glyph or combining glyph se‐
348 quence as described in subsection “Special character escape
349 forms” above. It corresponds to the standard notation for Uni‐
350 code short identifiers such that groff's unnnn is equivalent to
351 Unicode's U+nnnn.
352
353 Notes describes the glyph, elucidating the mnemonic value of the
354 glyph name where possible.
355
356 A plus sign “+” indicates that the glyph name appears in the
357 AT&T troff user's manual, CSTR #54 (1992 revision). When using
358 the AT&T special character syntax \(xx, widespread portability
359 can be expected from such names.
360
361 Entries marked with “***” denote glyphs used for mathematical
362 purposes. On typesetting devices, such glyphs are typically
363 drawn from a special font (see groff_font(5)). Often, such
364 glyphs lack bold or italic style forms or have metrics that
365 look incongruous in ordinary prose. A few which are not uncom‐
366 mon in running text have “text variants”, which should work
367 better in that context. Conversely, a handful of glyphs that
368 are normally drawn from a text font may be required in mathe‐
369 matical equations. Both sets of exceptions are noted in the
370 tables where they appear (“Logical symbols” and “Mathematical
371 symbols”).
372
373 Basic Latin
374 Apart from basic Latin characters with special mappings, described in
375 subsection “Fundamental character set” above, a few others in that
376 range have special character glyph names. These were defined for ease
377 of input on non-U.S. keyboards lacking keycaps for them, or for symme‐
378 try with other special character glyph names serving a similar purpose.
379
380 The vertical bar is overloaded; the \[ba] and \[or] escape sequences
381 may render differently. See subsection “Mathematical symbols” below
382 for special variants of the plus, minus, and equals signs normally
383 drawn from this range.
384
385 Output Input Unicode Notes
386 ────────────────────────────────────────────────────────────────────────
387 " \[dq] u0022 neutral double quote
388 # \[sh] u0023 number sign
389 $ \[Do] u0024 dollar sign
390 ' \[aq] u0027 apostrophe, neutral single quote
391 / \[sl] u002F slash, solidus +
392 @ \[at] u0040 at sign
393 [ \[lB] u005B left square bracket
394 \ \[rs] u005C reverse solidus
395 ] \[rB] u005D right square bracket
396 ^ \[ha] u005E circumflex, caret, “hat”
397 { \[lC] u007B left brace
398 | | u007C bar
399 | \[ba] u007C bar
400 | \[or] u007C bitwise or +
401 } \[rC] u007D right brace
402 ~ \[ti] u007E tilde
403
404 Supplementary Latin letters
405 Historically, \[ss] could be considered a ligature of “sz”. An upper‐
406 case form is available as \[u1E9E], but in the German language it is of
407 specialized use; ß does not normally uppercase-transform to it, but
408 rather to “SS”. “Lowercase f with hook” is also used as a function
409 symbol; see subsection “Mathematical symbols” below.
410
411 Output Input Unicode Notes
412 ────────────────────────────────────────────────────────────────────────
413 Ð \[-D] u00D0 uppercase eth
414 ð \[Sd] u00F0 lowercase eth
415 Þ \[TP] u00DE uppercase thorn
416 þ \[Tp] u00FE lowercase thorn
417 ß \[ss] u00DF lowercase sharp s
418 ı \[.i] u0131 i without tittle
419 ȷ \[.j] u0237 j without tittle
420 ƒ \[Fn] u0192 lowercase f with hook, function
421
422 Ł \[/L] u0141 L with stroke
423 ł \[/l] u0142 l with stroke
424 Ø \[/O] u00D8 O with stroke
425 ø \[/o] u00F8 o with stroke
426
427 Ligatures and digraphs
428 Output Input Unicode Notes
429 ────────────────────────────────────────────────────────────────────────
430 ff \[ff] u0066_0066 ff ligature +
431 fi \[fi] u0066_0069 fi ligature +
432 fl \[fl] u0066_006C fl ligature +
433 ffi \[Fi] u0066_0066_0069 ffi ligature +
434 ffl \[Fl] u0066_0066_006C ffl ligature +
435 Æ \[AE] u00C6 AE ligature
436 æ \[ae] u00E6 ae ligature
437 Œ \[OE] u0152 OE ligature
438 œ \[oe] u0153 oe ligature
439 IJ \[IJ] u0132 IJ digraph
440 ij \[ij] u0133 ij digraph
441
442 Accents
443 Normally, the formatting of a special character advances the drawing
444 position as an ordinary character does. groff's composite request des‐
445 ignates a special character as combining. The composite.tmac macro
446 file, loaded automatically by the default troffrc, maps the following
447 special characters to the combining characters shown below. The non-
448 combining code point in parentheses is used when the special character
449 occurs in isolation (compare “caf\[e aa]” and “caf\[aa]e”).
450
451 Output Input Unicode Notes
452 ────────────────────────────────────────────────────────────────────────
453 ˝ \[a"] u030B (u02DD) double acute accent
454 ¯ \[a-] u0304 (u00AF) macron accent
455 ˙ \[a.] u0307 (u02D9) dot accent
456 ^ \[a^] u0302 (u005E) circumflex accent
457 ´ \[aa] u0301 (u00B4) acute accent +
458 ` \[ga] u0300 (u0060) grave accent +
459 ˘ \[ab] u0306 (u02D8) breve accent
460 ¸ \[ac] u0327 (u00B8) cedilla accent
461 ¨ \[ad] u0308 (u00A8) dieresis accent
462 ˇ \[ah] u030C (u02C7) caron accent
463 ˚ \[ao] u030A (u02DA) ring accent
464 ~ \[a~] u0303 (u007E) tilde accent
465 ˛ \[ho] u0328 (u02DB) hook accent
466
467 Accented characters
468 All of these glyphs can be composed using combining glyph names as de‐
469 scribed in subsection “Special character escape forms” above; the names
470 below are short aliases for convenience.
471
472 Output Input Unicode Notes
473 ────────────────────────────────────────────────────────────────────────
474 Á \['A] u0041_0301 A acute
475 Ć \['C] u0043_0301 C acute
476 É \['E] u0045_0301 E acute
477 Í \['I] u0049_0301 I acute
478 Ó \['O] u004F_0301 O acute
479 Ú \['U] u0055_0301 U acute
480 Ý \['Y] u0059_0301 Y acute
481 á \['a] u0061_0301 a acute
482 ć \['c] u0063_0301 c acute
483 é \['e] u0065_0301 e acute
484 í \['i] u0069_0301 i acute
485 ó \['o] u006F_0301 o acute
486 ú \['u] u0075_0301 u acute
487 ý \['y] u0079_0301 y acute
488
489 Ä \[:A] u0041_0308 A dieresis
490 Ë \[:E] u0045_0308 E dieresis
491 Ï \[:I] u0049_0308 I dieresis
492
493 Ö \[:O] u004F_0308 O dieresis
494 Ü \[:U] u0055_0308 U dieresis
495 Ÿ \[:Y] u0059_0308 Y dieresis
496 ä \[:a] u0061_0308 a dieresis
497 ë \[:e] u0065_0308 e dieresis
498 ï \[:i] u0069_0308 i dieresis
499 ö \[:o] u006F_0308 o dieresis
500 ü \[:u] u0075_0308 u dieresis
501 ÿ \[:y] u0079_0308 y dieresis
502
503 Â \[^A] u0041_0302 A circumflex
504 Ê \[^E] u0045_0302 E circumflex
505 Î \[^I] u0049_0302 I circumflex
506 Ô \[^O] u004F_0302 O circumflex
507 Û \[^U] u0055_0302 U circumflex
508 â \[^a] u0061_0302 a circumflex
509 ê \[^e] u0065_0302 e circumflex
510 î \[^i] u0069_0302 i circumflex
511 ô \[^o] u006F_0302 o circumflex
512 û \[^u] u0075_0302 u circumflex
513
514 À \[`A] u0041_0300 A grave
515 È \[`E] u0045_0300 E grave
516 Ì \[`I] u0049_0300 I grave
517 Ò \[`O] u004F_0300 O grave
518 Ù \[`U] u0055_0300 U grave
519 à \[`a] u0061_0300 a grave
520 è \[`e] u0065_0300 e grave
521 ì \[`i] u0069_0300 i grave
522 ò \[`o] u006F_0300 o grave
523 ù \[`u] u0075_0300 u grave
524
525 Ã \[~A] u0041_0303 A tilde
526 Ñ \[~N] u004E_0303 N tilde
527 Õ \[~O] u004F_0303 O tilde
528 ã \[~a] u0061_0303 a tilde
529 ñ \[~n] u006E_0303 n tilde
530 õ \[~o] u006F_0303 o tilde
531
532 Š \[vS] u0053_030C S caron
533 š \[vs] u0073_030C s caron
534 Ž \[vZ] u005A_030C Z caron
535 ž \[vz] u007A_030C z caron
536
537 Ç \[,C] u0043_0327 C cedilla
538 ç \[,c] u0063_0327 c cedilla
539
540 Å \[oA] u0041_030A A ring
541 å \[oa] u0061_030A a ring
542
543 Quotation marks
544 The neutral double quote, often useful when documenting programming
545 languages, is also available as a special character for convenient em‐
546 bedding in macro arguments; see subsection “Fundamental character set”
547 above.
548
549 Output Input Unicode Notes
550 ────────────────────────────────────────────────────────────────────────
551 „ \[Bq] u201E low double comma quote
552 ‚ \[bq] u201A low single comma quote
553 “ \[lq] u201C left double quote
554 ” \[rq] u201D right double quote
555 ‘ \[oq] u2018 single opening (left) quote
556 ’ \[cq] u2019 single closing (right) quote
557 ' \[aq] u0027 apostrophe, neutral single quote
558 " " u0022 neutral double quote
559 " \[dq] u0022 neutral double quote
560 « \[Fo] u00AB left double chevron
561 » \[Fc] u00BB right double chevron
562 ‹ \[fo] u2039 left single chevron
563
564 › \[fc] u203A right single chevron
565
566 Punctuation
567 The Unicode name for U+00B7 is “middle dot”, which is unfortunately
568 confusable with the groff mnemonic for the visually similar but seman‐
569 tically distinct multiplication dot; see subsection “Mathematical sym‐
570 bols” below.
571
572 Output Input Unicode Notes
573 ────────────────────────────────────────────────────────────────────────
574 ¡ \[r!] u00A1 inverted exclamation mark
575 ¿ \[r?] u00BF inverted question mark
576 · \[pc] u00B7 centered period
577 — \[em] u2014 em-dash +
578 – \[en] u2013 en-dash
579 ‐ \[hy] u2010 hyphen +
580
581 Brackets
582 On typesetting devices, the bracket extensions are font-invariant
583 glyphs; that is, they are rendered the same way regardless of font
584 (with a drawing escape sequence). On terminals, they are not font-in‐
585 variant; groff maps them rather arbitrarily to U+23AA (“curly bracket
586 extension”). In AT&T troff, only one glyph was available to vertically
587 extend brackets, braces, and parentheses: \(bv.
588
589 Not all devices supply bracket pieces that can be piled up with \b due
590 to the restrictions of the escape's piling algorithm. A general solu‐
591 tion to build brackets out of pieces is the following macro:
592 .\" Make a pile centered vertically 0.5em above the baseline.
593 .\" The first argument is placed at the top.
594 .\" The pile is returned in string 'pile'.
595 .eo
596 .de pile-make
597 . nr pile-wd 0
598 . nr pile-ht 0
599 . ds pile-args
600 .
601 . nr pile-# \n[.$]
602 . while \n[pile-#] \{\
603 . nr pile-wd (\n[pile-wd] >? \w'\$[\n[pile-#]]')
604 . nr pile-ht +(\n[rst] - \n[rsb])
605 . as pile-args \v'\n[rsb]u'\"
606 . as pile-args \Z'\$[\n[pile-#]]'\"
607 . as pile-args \v'-\n[rst]u'\"
608 . nr pile-# -1
609 . \}
610 .
611 . ds pile \v'(-0.5m + (\n[pile-ht]u / 2u))'\"
612 . as pile \*[pile-args]\"
613 . as pile \v'((\n[pile-ht]u / 2u) + 0.5m)'\"
614 . as pile \h'\n[pile-wd]u'\"
615 ..
616 .ec
617
618 Another complication is the fact that some glyphs which represent
619 bracket pieces in AT&T troff can be used for other mathematical symbols
620 as well, for example \(lf and \(rf, which provide the floor operator.
621 Some output devices, such as dvi, don't unify such glyphs. For this
622 reason, the glyphs \[lf], \[rf], \[lc], and \[rc] are not unified with
623 similar-looking bracket pieces. In groff, only glyphs with long names
624 are guaranteed to pile up correctly for all devices—provided those
625 glyphs are available.
626
627 Output Input Unicode Notes
628 ────────────────────────────────────────────────────────────────────────
629 [ [ u005B left square bracket
630 [ \[lB] u005B left square bracket
631 ] ] u005D right square bracket
632 ] \[rB] u005D right square bracket
633 { { u007B left brace
634
635 { \[lC] u007B left brace
636 } } u007D right brace
637 } \[rC] u007D right brace
638 ⟨ \[la] u27E8 left angle bracket
639 ⟩ \[ra] u27E9 right angle bracket
640 ⎪ \[bv] u23AA brace vertical extension + ***
641 ⎪ \[braceex] u23AA brace vertical extension
642
643 ⎡ \[bracketlefttp] u23A1 left square bracket top
644 ⎢ \[bracketleftex] u23A2 left square bracket extension
645 ⎣ \[bracketleftbt] u23A3 left square bracket bottom
646
647 ⎤ \[bracketrighttp] u23A4 right square bracket top
648 ⎥ \[bracketrightex] u23A5 right square bracket extension
649 ⎦ \[bracketrightbt] u23A6 right square bracket bottom
650
651 ⎧ \[lt] u23A7 left brace top +
652 ⎨ \[lk] u23A8 left brace middle +
653 ⎩ \[lb] u23A9 left brace bottom +
654 ⎧ \[bracelefttp] u23A7 left brace top
655 ⎨ \[braceleftmid] u23A8 left brace middle
656 ⎩ \[braceleftbt] u23A9 left brace bottom
657 ⎪ \[braceleftex] u23AA left brace extension
658
659 ⎫ \[rt] u23AB right brace top +
660 ⎬ \[rk] u23AC right brace middle +
661 ⎭ \[rb] u23AD right brace bottom +
662 ⎫ \[bracerighttp] u23AB right brace top
663 ⎬ \[bracerightmid] u23AC right brace middle
664 ⎭ \[bracerightbt] u23AD right brace bottom
665 ⎪ \[bracerightex] u23AA right brace extension
666
667 ⎛ \[parenlefttp] u239B left parenthesis top
668 ⎜ \[parenleftex] u239C left parenthesis extension
669 ⎝ \[parenleftbt] u239D left parenthesis bottom
670 ⎞ \[parenrighttp] u239E right parenthesis top
671 ⎟ \[parenrightex] u239F right parenthesis extension
672 ⎠ \[parenrightbt] u23A0 right parenthesis bottom
673
674 Arrows
675 Output Input Unicode Notes
676 ────────────────────────────────────────────────────────────────────────
677 ← \[<-] u2190 horizontal arrow left +
678 → \[->] u2192 horizontal arrow right +
679 ↔ \[<>] u2194 bidirectional horizontal arrow
680 ↓ \[da] u2193 vertical arrow down +
681 ↑ \[ua] u2191 vertical arrow up +
682 ↕ \[va] u2195 bidirectional vertical arrow
683 ⇐ \[lA] u21D0 horizontal double arrow left
684 ⇒ \[rA] u21D2 horizontal double arrow right
685 ⇔ \[hA] u21D4 bidirectional horizontal double arrow
686 ⇓ \[dA] u21D3 vertical double arrow down
687 ⇑ \[uA] u21D1 vertical double arrow up
688 ⇕ \[vA] u21D5 bidirectional vertical double arrow
689 ⎯ \[an] u23AF horizontal arrow extension
690
691 Rules and lines
692 On typesetting devices, the font-invariant glyphs (see subsection
693 “Brackets” above) \[br], \[ul], and \[rn] form corners when adjacent;
694 they can be used to build boxes. On terminal devices, they are mapped
695 as shown in the table. The Unicode-derived names of these three glyphs
696 are approximations.
697
698 The input character _ always accesses the underscore glyph in a font;
699 \[ul], by contrast, may be font-invariant on typesetting devices.
700
701 The baseline rule \[ru] is a font-invariant glyph, namely a rule of
702 one-half em.
703
704 In AT&T troff, \[rn] also served as a one en extension of the square
705 root symbol. groff favors \[radicalex] for this purpose; see subsec‐
706 tion “Mathematical symbols” below.
707
708 Output Input Unicode Notes
709 ────────────────────────────────────────────────────────────────────────
710 | | u007C bar
711 | \[ba] u007C bar
712 │ \[br] u2502 box rule +
713 _ _ u005F underscore, low line +
714 _ \[ul] --- underrule +
715 ‾ \[rn] u203E overline +
716 _ \[ru] --- baseline rule +
717 ¦ \[bb] u00A6 broken bar
718 / / u002F slash, solidus +
719 / \[sl] u002F slash, solidus +
720 \ \[rs] u005C reverse solidus
721
722 Text markers
723 Output Input Unicode Notes
724 ────────────────────────────────────────────────────────────────────────
725 ○ \[ci] u25CB circle +
726 • \[bu] u2022 bullet +
727 † \[dg] u2020 dagger +
728 ‡ \[dd] u2021 double dagger +
729 ◊ \[lz] u25CA lozenge, diamond
730 □ \[sq] u25A1 square +
731 ¶ \[ps] u00B6 pilcrow sign
732 § \[sc] u00A7 section sign +
733 ☜ \[lh] u261C hand pointing left +
734 ☞ \[rh] u261E hand pointing right +
735 @ @ u0040 at sign
736 @ \[at] u0040 at sign
737 # # u0023 number sign
738 # \[sh] u0023 number sign
739 ↵ \[CR] u21B5 carriage return
740 ✓ \[OK] u2713 check mark
741
742 Legal symbols
743 The Bell System logo is not supported in groff.
744
745 Output Input Unicode Notes
746 ────────────────────────────────────────────────────────────────────────
747 © \[co] u00A9 copyright sign +
748 ® \[rg] u00AE registered sign +
749 ™ \[tm] u2122 trade mark sign
750 \[bs] --- Bell System logo +
751
752 Currency symbols
753 Output Input Unicode Notes
754 ────────────────────────────────────────────────────────────────────────
755 $ $ u0024 dollar sign
756 $ \[Do] u0024 dollar sign
757 ¢ \[ct] u00A2 cent sign +
758 € \[eu] u20AC Euro sign
759 € \[Eu] u20AC variant Euro sign
760 ¥ \[Ye] u00A5 yen sign
761 £ \[Po] u00A3 pound sign
762 ¤ \[Cs] u00A4 currency sign
763
764 Units
765 Output Input Unicode Notes
766 ────────────────────────────────────────────────────────────────────────
767 ° \[de] u00B0 degree sign +
768 ‰ \[%0] u2030 per thousand, per mille sign
769 ′ \[fm] u2032 arc minute sign, foot mark +
770 ″ \[sd] u2033 arc second sign
771 µ \[mc] u00B5 micro sign
772 ª \[Of] u00AA feminine ordinal indicator
773 º \[Om] u00BA masculine ordinal indicator
774
775 Logical symbols
776 The variants of the not sign may differ in appearance or spacing de‐
777 pending on the device and font selected. Unicode does not encode a
778 discrete “bitwise or” sign: on typesetting devices, it is drawn shorter
779 than the bar, about the same height as a capital letter. Terminal de‐
780 vices unify \[ba] and \[or].
781
782 Output Input Unicode Notes
783 ────────────────────────────────────────────────────────────────────────
784 ∧ \[AN] u2227 logical and
785 ∨ \[OR] u2228 logical or
786 ¬ \[no] u00AC logical not + ***
787 ¬ \[tno] u00AC text variant of \[no]
788 ∃ \[te] u2203 there exists
789 ∀ \[fa] u2200 for all
790 ∋ \[st] u220B such that
791 ∴ \[3d] u2234 therefore
792 ∴ \[tf] u2234 therefore
793 | | u007C bar
794 | \[or] u007C bitwise or +
795
796 Mathematical symbols
797 \[Fn] also appears in subsection “Supplementary Latin letters” above.
798 Observe the two varieties of the plus-minus, multiplication, and divi‐
799 sion signs; \[+-], \[mu], and \[di] are normally drawn from the special
800 font, but have text font variants. Also be aware of three glyphs
801 available in special font variants that are normally drawn from text
802 fonts: the plus, minus, and equals signs. These variants may differ in
803 appearance or spacing depending on the device and font selected.
804
805 In AT&T troff, \(rn (“root en extender”) served as the horizontal ex‐
806 tension of the radical (square root) sign, \(sr, and was drawn at the
807 maximum height of the typeface's bounding box; this enabled the special
808 character to double as an overline (see subsection “Rules and lines”
809 above). A contemporary font's radical sign might not ascend to such an
810 extreme. In groff, you can instead use \[radicalex] to continue the
811 radical sign \[sr]; these special characters are intended for use with
812 text fonts. \[sqrt] and \[sqrtex] are their counterparts with mathe‐
813 matical spacing.
814
815 Output Input Unicode Notes
816 ────────────────────────────────────────────────────────────────────────
817 ½ \[12] u00BD one half symbol +
818 ¼ \[14] u00BC one quarter symbol +
819 ¾ \[34] u00BE three quarters symbol +
820 ⅛ \[18] u215B one eighth symbol
821 ⅜ \[38] u215C three eighths symbol
822 ⅝ \[58] u215D five eighths symbol
823 ⅞ \[78] u215E seven eighths symbol
824 ¹ \[S1] u00B9 superscript one
825 ² \[S2] u00B2 superscript two
826 ³ \[S3] u00B3 superscript three
827
828 + + u002B plus
829 + \[pl] u002B special variant of plus + ***
830 - \[-] u002D minus
831 − \[mi] u2212 special variant of minus + ***
832 ∓ \[-+] u2213 minus-plus
833 ± \[+-] u00B1 plus-minus + ***
834 ± \[t+-] u00B1 text variant of \[+-]
835 ⋅ \[md] u22C5 multiplication dot
836 × \[mu] u00D7 multiplication sign + ***
837 × \[tmu] u00D7 text variant of \[mu]
838 ⊗ \[c*] u2297 circled times
839 ⊕ \[c+] u2295 circled plus
840 ÷ \[di] u00F7 division sign + ***
841 ÷ \[tdi] u00F7 text variant of \[di]
842 ⁄ \[f/] u2044 fraction slash
843 * * u002A asterisk
844 ∗ \[**] u2217 mathematical asterisk +
845
846 ≤ \[<=] u2264 less than or equal to +
847 ≥ \[>=] u2265 greater than or equal to +
848 ≪ \[<<] u226A much less than
849
850 ≫ \[>>] u226B much greater than
851 = = u003D equals
852 = \[eq] u003D special variant of equals + ***
853 ≠ \[!=] u003D_0338 not equals +
854 ≡ \[==] u2261 equivalent +
855 ≢ \[ne] u2261_0338 not equivalent
856 ≅ \[=~] u2245 approximately equal to
857 ≃ \[|=] u2243 asymptotically equal to +
858 ~ \[ti] u007E tilde +
859 ∼ \[ap] u223C similar to, tilde operator +
860 ≈ \[~~] u2248 almost equal to
861 ≈ \[~=] u2248 almost equal to
862 ∝ \[pt] u221D proportional to +
863
864 ∅ \[es] u2205 empty set +
865 ∈ \[mo] u2208 element of a set +
866 ∉ \[nm] u2208_0338 not element of set
867 ⊂ \[sb] u2282 proper subset +
868 ⊄ \[nb] u2282_0338 not subset
869 ⊃ \[sp] u2283 proper superset +
870 ⊅ \[nc] u2283_0338 not superset
871 ⊆ \[ib] u2286 subset or equal +
872 ⊇ \[ip] u2287 superset or equal +
873 ∩ \[ca] u2229 intersection, cap +
874 ∪ \[cu] u222A union, cup +
875
876 ∠ \[/_] u2220 angle
877 ⊥ \[pp] u22A5 perpendicular
878 ∫ \[is] u222B integral +
879 ∫ \[integral] u222B integral ***
880 ∑ \[sum] u2211 summation ***
881 ∏ \[product] u220F product ***
882 ∐ \[coproduct] u2210 coproduct ***
883 ∇ \[gr] u2207 gradient +
884 √ \[sr] u221A radical sign, square root +
885 ‾ \[rn] u203E overline +
886 \[radicalex] --- radical extension
887 √ \[sqrt] u221A radical sign, square root ***
888 \[sqrtex] --- radical extension ***
889
890 ⌈ \[lc] u2308 left ceiling +
891 ⌉ \[rc] u2309 right ceiling +
892 ⌊ \[lf] u230A left floor +
893 ⌋ \[rf] u230B right floor +
894
895 ∞ \[if] u221E infinity +
896 ℵ \[Ah] u2135 aleph symbol
897 ƒ \[Fn] u0192 lowercase f with hook, function
898 ℑ \[Im] u2111 blackletter I, imaginary part
899 ℜ \[Re] u211C blackletter R, real part
900 ℘ \[wp] u2118 Weierstrass p
901 ∂ \[pd] u2202 partial differential
902 ℏ \[-h] u210F h bar
903 ℏ \[hbar] u210F h bar
904
905 Greek glyphs
906 These glyphs are intended for technical use, not for typesetting Greek
907 language text; normally, the uppercase letters have upright shape, and
908 the lowercase ones are slanted.
909
910 Output Input Unicode Notes
911 ────────────────────────────────────────────────────────────────────────
912 Α \[*A] u0391 uppercase alpha +
913 Β \[*B] u0392 uppercase beta +
914 Γ \[*G] u0393 uppercase gamma +
915 Δ \[*D] u0394 uppercase delta +
916 Ε \[*E] u0395 uppercase epsilon +
917 Ζ \[*Z] u0396 uppercase zeta +
918 Η \[*Y] u0397 uppercase eta +
919 Θ \[*H] u0398 uppercase theta +
920 Ι \[*I] u0399 uppercase iota +
921
922 Κ \[*K] u039A uppercase kappa +
923 Λ \[*L] u039B uppercase lambda +
924 Μ \[*M] u039C uppercase mu +
925 Ν \[*N] u039D uppercase nu +
926 Ξ \[*C] u039E uppercase xi +
927 Ο \[*O] u039F uppercase omicron +
928 Π \[*P] u03A0 uppercase pi +
929 Ρ \[*R] u03A1 uppercase rho +
930 Σ \[*S] u03A3 uppercase sigma +
931 Τ \[*T] u03A4 uppercase tau +
932 Υ \[*U] u03A5 uppercase upsilon +
933 Φ \[*F] u03A6 uppercase phi +
934 Χ \[*X] u03A7 uppercase chi +
935 Ψ \[*Q] u03A8 uppercase psi +
936 Ω \[*W] u03A9 uppercase omega +
937
938 α \[*a] u03B1 lowercase alpha +
939 β \[*b] u03B2 lowercase beta +
940 γ \[*g] u03B3 lowercase gamma +
941 δ \[*d] u03B4 lowercase delta +
942 ε \[*e] u03B5 lowercase epsilon +
943 ζ \[*z] u03B6 lowercase zeta +
944 η \[*y] u03B7 lowercase eta +
945 θ \[*h] u03B8 lowercase theta +
946 ι \[*i] u03B9 lowercase iota +
947 κ \[*k] u03BA lowercase kappa +
948 λ \[*l] u03BB lowercase lambda +
949 μ \[*m] u03BC lowercase mu +
950 ν \[*n] u03BD lowercase nu +
951 ξ \[*c] u03BE lowercase xi +
952 ο \[*o] u03BF lowercase omicron +
953 π \[*p] u03C0 lowercase pi +
954 ρ \[*r] u03C1 lowercase rho +
955 σ \[*s] u03C3 lowercase sigma +
956 τ \[*t] u03C4 lowercase tau +
957 υ \[*u] u03C5 lowercase upsilon +
958 ϕ \[*f] u03D5 lowercase phi +
959 χ \[*x] u03C7 lowercase chi +
960 ψ \[*q] u03C8 lowercase psi +
961 ω \[*w] u03C9 lowercase omega +
962
963 ϵ \[+e] u03F5 variant epsilon (lunate)
964 ϑ \[+h] u03D1 variant theta (cursive form)
965 ϖ \[+p] u03D6 variant pi (similar to omega)
966 φ \[+f] u03C6 variant phi (curly shape)
967 ς \[ts] u03C2 terminal lowercase sigma +
968
969 Playing card symbols
970 Output Input Unicode Notes
971 ────────────────────────────────────────────────────────────────────────
972 ♣ \[CL] u2663 solid club suit
973 ♠ \[SP] u2660 solid spade suit
974 ♥ \[HE] u2665 solid heart suit
975 ♦ \[DI] u2666 solid diamond suit
976
978 A consideration of the typefaces originally available to AT&T nroff and
979 troff illuminates many conventions that one might regard as idiosyn‐
980 cratic fifty years afterward. (See section “History” of roff(7) for
981 more context.) The face used by the Teletype Model 37 terminals of the
982 Murray Hill Unix Room was based on ASCII, but assigned multiple mean‐
983 ings to several code points, as suggested by that standard. Decimal 34
984 (") served as a dieresis accent and neutral double quotation mark; dec‐
985 imal 39 (') as an acute accent, apostrophe, and closing (right) single
986 quotation mark; decimal 45 (-) as a hyphen and a minus sign; decimal 94
987 (^) as a circumflex accent and caret; decimal 96 (`) as a grave accent
988 and opening (left) single quotation mark; and decimal 126 (~) as a
989 tilde accent and (with a half-line motion) swung dash. The Model 37
990 bore an optional extended character set offering upright Greek letters
991 and several mathematical symbols; these were documented as early as the
992 kbd(VII) man page of the (First Edition) Unix Programmer's Manual.
993
994 At the time Graphic Systems delivered the C/A/T phototypesetter to
995 AT&T, the ASCII character set was not considered a standard basis for a
996 glyph repertoire by traditional typographers. In the stock Times ro‐
997 man, italic, and bold styles available, several ASCII characters were
998 not present at all, nor was most of the Teletype's extended character
999 set. AT&T commissioned a “special” font to ensure no loss of reper‐
1000 toire.
1001
1002 A representation of the coverage of the C/A/T's text fonts follows.
1003 The glyph resembling an underscore is a baseline rule, and that resem‐
1004 bling a vertical line is a box rule. In italics, the box rule was not
1005 slanted. We also observe that the hyphen and minus sign were already
1006 “de-unified” by the fonts provided; a decision whither to map an input
1007 “-” therefore had to be taken.
1008
1009 ┌────────────────────────────────────────────────────┐
1010 │A B C D E F G H I J K L M N O P Q R S T U V W X Y Z │
1011 │a b c d e f g h i j k l m n o p q r s t u v w x y z │
1012 │0 1 2 3 4 5 6 7 8 9 fi fl ffi ffl │
1013 │! $ % & ( ) ‘ ’ * + - . , / : ; = ? [ ] │ │
1014 │• □ — ‐ _ ¼ ½ ¾ ° † ′ ¢ ® © │
1015 └────────────────────────────────────────────────────┘
1016 The special font supplied the missing ASCII and Teletype extended
1017 glyphs, among several others. The plus, minus, and equals signs ap‐
1018 peared in the special font despite availability in text fonts “to insu‐
1019 late the appearance of equations from the choice of standard [read:
1020 text] fonts”—a priority since troff was turned to the task of mathemat‐
1021 ical typesetting as soon as it was developed.
1022
1023 We note that AT&T took the opportunity to de-unify the apostrophe/right
1024 single quotation mark from the acute accent (a choice ISO later dupli‐
1025 cated in its 8859 series of standards). A slash intended to be mirror-
1026 symmetric with the backslash was also included, as was the Bell System
1027 logo; we do not attempt to depict the latter.
1028
1029 ┌─────────────────────────────────────────────────────────┐
1030 │α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ ϕ χ ψ ω │
1031 │Γ Δ Θ Λ Ξ Π Σ Υ Φ Ψ Ω │
1032 │" ´ \ ^ _ ` ~ / < > { } # @ + − = ∗ │
1033 │≥ ≤ ≡ ≈ ∼ ≠ ↑ ↓ ← → × ÷ ± ∞ ∂ ∇ ¬ ∫ ∝ √ ∪ ∩ ⊂ ⊃ ⊆ ⊇ ∅ ∈ │
1034 │§ ‡ ☜ ☞ | ○ ⎧ ⎩ ⎫ ⎭ ⎨ ⎬ ⎪ ⌊ ⌋ ⌈ ⌉ │
1035 └─────────────────────────────────────────────────────────┘
1036 One ASCII character as rendered by the Model 37 was apparently aban‐
1037 doned. That device printed decimal 124 (|) as a broken vertical line,
1038 like Unicode U+00A6 (¦). No equivalent was available on the C/A/T; the
1039 box rule \[br], brace vertical extension \[bv], and “or” operator \[or]
1040 were used as contextually appropriate.
1041
1042 Devices supported by AT&T device-independent troff exhibited some dif‐
1043 ferences in glyph detail. For example, on the Autologic APS-5 photo‐
1044 typesetter, the square \(sq became filled in the Times bold face.
1045
1047 The files below are loaded automatically by the default troffrc.
1048
1049 /usr/share/groff/1.23.0/tmac/composite.tmac
1050 assigns alternate mappings for identifiers after the first in a
1051 composite special character escape sequence. See subsection
1052 “Accents” above.
1053
1054 /usr/share/groff/1.23.0/tmac/fallbacks.tmac
1055 defines fallback mappings for Unicode code points such as the
1056 increment sign (U+2206) and upper- and lowercase Roman numerals.
1057
1059 This document was written by James Clark ⟨jjc@jclark.com⟩, with addi‐
1060 tions by Werner Lemberg ⟨wl@gnu.org⟩ and Bernd Warken ⟨groff-bernd
1061 .warken-72@web.de⟩, revised to use tbl(1) by Eric S. Raymond ⟨esr@
1062 thyrsus.com⟩, and largely rewritten by G. Branden Robinson ⟨g.branden
1063 .robinson@gmail.com⟩.
1064
1066 Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner
1067 Lemberg, is the primary groff manual. Section “Using Symbols” may be
1068 of particular note. You can browse it interactively with “info
1069 '(groff) Using Symbols'”.
1070
1071 “An extension to the troff character set for Europe”, E.G. Keizer, K.J.
1072 Simonsen, J. Akkerhuis; EUUG Newsletter, Volume 9, No. 2, Summer 1989
1073
1074 The Unicode Standard ⟨http://www.unicode.org⟩
1075
1076 “7-bit Character Sets” ⟨https://www.aivosto.com/articles/charsets-7bit
1077 .html⟩ by Tuomas Salste documents the inherent ambiguity and config‐
1078 urable code points of the ASCII encoding standard.
1079
1080 “Nroff/Troff User's Manual” by Joseph F. Ossanna, 1976, AT&T Bell Labo‐
1081 ratories Computing Science Technical Report No. 54, features two tables
1082 that throw light on the glyph repertoire available to “typesetter roff”
1083 when it was first written. Be careful of re-typeset versions of this
1084 document that can be found on the Internet. Some do not accurately
1085 represent the original document: several glyphs are obviously missing.
1086 More subtly, lowercase Greek letters are rendered upright, not slanted
1087 as they appeared in the C/A/T's special font and as expected by troff
1088 users.
1089
1090 groff_rfc1345(7) describes an alternative set of special character
1091 glyph names, which extends and in some cases overrides the definitions
1092 listed above.
1093
1094 groff(1), troff(1), groff(7)
1095
1096
1097
1098groff 1.23.0 2 November 2023 groff_char(7)