groff_char

Name
Description
Fundamental character set
Eight-bit encodings and Latin-1 supplement
Special character escape forms
Glyph tables
Basic Latin
Supplementary Latin letters
Ligatures and digraphs
Accented characters
Accents
Quotation marks
Punctuation
Brackets
Arrows
Rules and lines
Text markers
Legal symbols
Currency symbols
Units
Logical symbols
Mathematical symbols
Greek glyphs
Playing card symbols
Authors
See also

Name

groff_char - GNU roff special character and glyph repertoire

Description

The GNU roff typesetting system has a large glyph repertoire suitable for production of varied literary, professional, technical, and mathematical documents. However, its input character set is restricted to that defined by the standards ISO Latin-1 (ISO 8859-1) and IBM code page 1047 (an arrangement of EBCDIC). For ease of document maintenance in UTF-8 environments, it is advisable to use only the Unicode basic Latin code points, a subset of all of the foregoing historically referred to as US-ASCII, which has only 94 visible, printable code points.

AT&T troff in the 1970s faced a similar problem of typesetter devices with a glyph repertoire differing from that of the computers that controlled them. The solution troff adopted was a form of escape sequence known as a special character to access several dozen additional glyphs available in the fonts prepared for mounting in the phototypesetter. These glyphs were mapped onto a two-character name space for a degree of mnemonic convenience; for example, the escape sequence \(aa encoded an acute accent and \(sc a section sign.

As in other respects, groff has removed historical roff limitations on the lengths of special character escapes, but recognizes and retains compatibility with the historical names. groff expands the lexicon of glyphs available by name and permits users to define their own special character escapes with the .char request.

This document lists all of the glyph names predefined by groff and describes the systematic notation by which it enables access to arbitrary Unicode code points and construction of composite glyphs. The glyphs listed in this document may not be available, or may vary in appearance, depending on the output driver chosen when the page was rendered (with the -T option to the man(1) or roff programs). The driver used in generation of this page was “html”.

A few escape sequences that are not special character escapes also produce glyphs; these exist for syntactical or historical reasons. They include \\, \', \`, \-, \. (backslash-dot), and \e; see groff(7). Of these, only \- is also available as a special character of the same name, in the form \[-]. A small number of special characters represent glyphs that are not encoded in Unicode; examples include the baseline rule \[ru] and the Bell Systems logo \[bs].

In groff, you can test output driver support for any character (ordinary or special) with the conditional “c”.

.ie c \[bs] \{Welcome to the \[bs] Bell System;
did you get the Wehrmacht helmet or the Death Star?\}
.el No Bell Systems logo.

For brevity in the remainder of this document, we shall refer to systems conforming to the ISO 646:1991 IRV, ISO 8859, or ISO 10646 (“Unicode”) character encoding standards as “ISO” systems, and those employing IBM code page 1047 as “EBCDIC” systems. That said, EBCDIC systems that support groff are known to also support UTF-8.

While groff accepts eight-bit encoded input, not all such code points are valid as input. On ISO platforms, character codes 0, 11, 13–31, and 128–159 are invalid. (This is all C0 and C1 controls except for SOH through LF [Control+A to Control+J], and FF [Control+L].) On EBCDIC platforms, 0, 8–9, 11, 13–20, 23–31, and 48–63 are invalid. Some of these code points are used by groff for internal purposes, which is one reason it does not support UTF-8 natively.

Fundamental character set

The ninety-four characters catalogued above, plus the space and the newline, form the fundamental character set for groff input; anything in the language, even over one million code points in Unicode, can be expressed using it. On ISO systems, code points in the range 33–126 comprise a common set of printable glyphs in all of the aforementioned ISO character encoding standards. It is this character set and (with some noteworthy exceptions) the corresponding glyph repertoire for which AT&T troff was implemented. On EBCDIC systems, printable characters are in the range 66–201 and 203–254; those without counterparts in the ISO range 33–126 are discussed in the next subsection.

All of the following characters map to glyphs as you would expect.

! # $ % & ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @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 [ ] _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 { | }

The remaining seven of the ninety-four code points in this range surprise computing professionals and others intimately familiar with the ISO character encodings. The developers of AT&T troff chose mappings for them that would be useful for typesetting technical literature in a broad range of scientific disciplines; the preparation of AT&T’s patent filings with the U.S. government was the application of the system that “paid the bills” at the Bell Labs site where troff and Unix were first developed. It is also worth noting that the prevailing character encoding standard in the 1970s, USAS X3.4-1968 (“ASCII”) deliberately supported semantic ambiguity at some code points, and outright substitution at several others, to suit the localization demands of various national standards bodies.

The table below presents the seven exceptional code points with their typical keycap engravings, their glyph mappings and semantics in roff systems, and the escapes producing the Unicode basic Latin character they replace. The first, the neutral double quote, is a partial exception because it does represent itself, but since it is also used by roff systems to quote macro arguments, groff supports a special character escape as an alternative form so that the glyph can be easily included in macro arguments without requiring the user to master the quoting rules that AT&T troff required in that context. Furthermore, not all of the special character escapes are portable to AT&T troff and all of its descendants; these groff extensions are presented using its special character escape form \[], whereas portable special character escapes are shown in the traditional \( form. \- and \e are portable to all known troffs. \e means “the glyph of the current escape character”; it therefore can produce unexpected output if the .ec or .eo requests are used. On devices with a limited glyph repertoire, the appearances of glyphs on the same row of the table may be identical; except for the neutral double quote, this will not be the case on more-capable devices. Review your document using as many different postprocessors as possible.

Ke ycap Appearance and meaningSpecial character and meaning "" neutral double quote\[dq] neutral double quote'closing single quote\[aq] neutral apostrophe- hyphen\−or \[−] hyphen-minus\(escape character)\e or \[rs] reverse solidus^ˆ modifier circumflex\(ha circumflex/caret/“hat”`opening single quote\(ga grave accent~˜ modifier tilde\(ti tilde

The hyphen-minus is a particularly unfortunate case of overloading. Its awkward name in ISO 8859 and later standards reflects the many conflicting purposes to which it had already been put in the 1980s, including a hyphen, a minus sign, and (alone or in repetition) dashes of varying widths. For best results in groff, use the character in input without an escape only to mean a hyphen, as in the phrase “long-term”. For a minus sign in running prose or a Unix command-line option dash, use \- (or \[-] in groff if you find it helps the clarity of the source document). AT&T troff supported em-dashes as \(em.

The special character escape for the apostrophe as a neutral single quote is typically needed only in technical content; typing words like “can’t” and “Anne’s” in a natural way will render correctly, because in ordinary prose an apostrophe is typeset either as a closing single quotation mark or as a neutral single quote, depending on the capabilities of the output device. By contrast, special character escapes should be used for quotation marks unless portability to limited or historical troff implementations is necessary; on those systems, the input convention is to pair the grave accent with the apostrophe for single quotes, and to double both characters for double quotes. AT&T troff defined no special characters for quotation marks or the apostrophe. Repeated single quotes (‘‘thus’’) will be visually distinguishable from double quotes (“thus”) on terminal devices, and perhaps on others (depending on the font selected).

AT&T troff input recommended groff input A Winter's Tale A Winter's Tale`U.K. outer quotes'\[oq]U.K. outer quotes\[cq]`U.K. ``inner'' quotes'\[oq]U.K. \[lq]inner\[rq] quotes\[cq]``U.S. outer quotes''\[lq]U.S. outer quotes\[rq]``U.S. `inner' quotes''\[lq]U.S. \[oq]inner\[cq] quotes\[rq]

If you expect to use quotation marks frequently in your document, see if the macro package you’re using defines strings or macros to facilitate quotation.

Using Unicode basic Latin characters to compose boxes and lines is ill-advised. roff systems have special characters for drawing straight horizontal and vertical lines; see subsection “Rules and lines” below. Preprocessors like tbl(1) and pic(1) draw boxes and will produce the best possible output for the device, falling back to basic Latin glyphs only when necessary.

Eight-bit encodings and Latin-1 supplement

ISO 646 is a seven-bit code encoding 128 code points; eight-bit codes are twice the size. ISO 8859-1 and code page 1047 allocated the additional space to what Unicode calls “C1 controls” (control characters) and the “Latin-1 supplement”. The C1 controls are neither printable nor usable as groff input.

Two characters in the Latin-1 supplement are handled specially. troff never produces them as output.

NBSP

encodes the no-break space. On input it is mapped to \~, the adjustable non-breaking space escape.

SHY

encodes the soft hyphen character. On input it is mapped to \%, the hyphenation control escape.

The remaining characters in the Latin-1 supplement represent themselves. Although they can be specified directly with the keyboard on systems configured to use Latin-1 as the character encoding, it is more portable, both to other roff systems and to UTF-8 environments, to use their glyph names, shown below.

¡\[r!] inverted exclamation markÑ\[~N] N tilde¢\[ct] cent sign Ò\[`O] O grave£\[Po] pound sign Ó\['O] O acute¤\[Cs] currency sign Ô\[^O] O circumflex¥\[Ye] yen sign Õ\[~O] O tilde¦\[bb] broken barÖ\[:O] O dieresis§\[sc] section sign×\[mu] multiplication sign¨\[ad] dieresis accent Ø\[/O] O slash©\[co] copyright signÙ\[`U] U graveª\[Of] feminine ordinal indicatorÚ\['U] U acute«\[Fo] left double chevron Û\[^U] U circumflex¬\[no] logical not Ü\[:U] U dieresis®\[rg] registered signÝ\['Y] Y acute¯\[a−] macron accent Þ\[TP] uppercase thorn°\[de] degree signß\[ss] lowercase sharp s±\[+−] plus-minusà\[`a] a grave²\[S2] superscript twoá\['a] a acute³\[S3] superscript three â\[^a] a circumflex´\[aa] acute accent ã\[~a] a tildeµ\[mc] micro sign ä\[:a] a dieresis\[ps] pilcrow sign å\[oa] a ring·\[pc] centered period æ\[ae] a+e combined¸\[ac] cedilla accent ç\[,c] c cedilla¹\[S1] superscript one è\[`e] e graveº\[Om] masculine ordinal indicatoré\['e] e acute»\[Fc] right double chevron ê\[^e] e circumflex¼\[14] one quarter symbolë\[:e] e dieresis½\[12] one half symbolì\[`i] i grave¾\[34] three quarters symbolí\['i] e acute¿\[r?] inverted question markî\[^i] i circumflexÀ\[`A] A grave ï\[:i] i dieresisÁ\['A] A acute ð\[Sd] lowercase ethÂ\[^A] A circumflexñ\[~n] n tildeÃ\[~A] A tilde ò\[`o] o graveÄ\[:A] A dieresis ó\['o] o acuteÅ\[oA] A ring ô\[^o o circumflexÆ\[AE] A+E combined õ\[~o] o tildeÇ\[,C] C cedilla ö\[:o] o dieresisÈ\[`E] E grave÷\[di] division signÉ\['E] E acute ø\[/o] o slashÊ\[^E] E circumflexù\[`u] u graveË\[:E] E dieresis ú\['u] u acuteÌ\[`I] I grave û\[^u] u circumflexÍ\['I] I acute ü\[:u] u dieresisÎ\[^I] I circumflexý\['y] y acuteÏ\[:I] I dieresis þ\[Tp] lowercase thornÐ\[−D] uppercase eth ÿ\[:y] y dieresis

Special character escape forms

Glyphs that lack a character code in the basic Latin repertoire to directly represent them are entered by one of several special character escape forms. Such glyphs can be simple or composite, and accessed either by name or numerically by code point. Code points and combining properties are determined by character encoding standards, whereas glyph names originated in AT&T troff special character escapes. Glyph names are not limited to alphanumeric characters; any of the printable characters from the Unicode basic Latin repertoire may be used.

\(gl

is a special character escape for the glyph with the two-character name gl. This is the syntax form supported by AT&T troff. The acute accent, \(aa, is an example.

\[glyph-name]

is a special character escape for glyph-name, which can be of arbitrary length. The foregoing acute accent example could be expressed in groff as \[aa].

An ordinary input character “c” is not the same as \[c]; the latter is internally mapped to glyph name “\c”. In other words, “\[a]” is not “a”, but rather \a, the uninterpreted leader escape sequence. By default, groff defines a single glyph name of length one, namely the hyphen-minus, which can be accessed as either \- or \[-].

\[base-glyph composite-1 composite-2 ... composite-n]

is a composite glyph. Glyphs like a lowercase “e” with an acute accent, as in the word “café”, can be expressed as \[e aa]. See subsection “Accents” below for a table of combining glyph names.

Unicode encodes far more characters than groff has glyph names for; special character escape forms based on numerical code points enable access to any of them. Frequently used glyphs or glyph combinations can be stored in strings, and new glyph names can be created with the .char request, enabling the user to devise ad hoc names for them; see groff(7).
\[u
nnnn[n[n]]]

is a Unicode numeric special character escape. With this form, any Unicode point can be indicated using four to six hexadecimal digits, with hexadecimal letters accepted in uppercase form only. Thus, \[u02DA] accesses the (spacing) ring accent, producing “˚”.

Unicode code points can be composed as well; when they are, troff requires NFD (Normalization Form D), where all Unicode glyphs are maximally decomposed. (Exception: precomposed characters in the Latin-1 supplement described above are also accepted. Do not count on this exception remaining in a future troff that accepts UTF-8 input directly.) Thus, troff accepts “caf\['e]”, “caf\[e aa]”, and “caf\[u0065_0301]”, as ways to input “café”. (Due to its ISO Latin-1 and IBM code page 1047 compatibility, at present it also accepts “caf\[u00E9]”).
\[u
base-glyph[_combining-component

]...] constructs a composite glyph from Unicode numeric special character escapes. The code points of the base glyph and the combining components are each expressed in hexadecimal, with an underscore (_) separating each component. Thus, \[u0065_0301] produces “é”.

\[charnnn]

expresses an eight-bit code point where nnn is the code point of the character, a decimal number between 0 and 255 without leading zeroes. This legacy numeric special character escape is used to map characters onto glyphs via the .trin request in macro files loaded by grotty(1).

Glyph tables

In this section, groff’s glyph name repertoire is presented in tabular form. The meanings of the columns are as follows.

Output

shows the glyph as it appears on the device used to render this document; although it can have a notably different shape on other devices (and is subject to user-directed translation and replacement), groff attempts reasonable equivalency on all output devices.

Input

shows the groff character (ordinary or special) that normally produces the glyph. Some code points have multiple glyph names.

Unicode

is the code point notation for the glyph or combining glyph sequence as described in subsection “Special character escape forms” above. It corresponds to the standard notation for Unicode short identifiers such that groff’s unnnn is equivalent to Unicode’s U+nnnn.

Notes

describes the glyph, elucidating the mnemonic value of the glyph name where possible.

A plus sign “+” indicates that the glyph name appears in the AT&T troff user’s manual, CSTR #54 (1992 revision). When using the AT&T special character syntax \(xx, widespread portability can be expected from such names.

Entries marked with “***” denote glyphs used for mathematical purposes. On typesetter devices, such glyphs are typically drawn from a special font (see groff_font(5)). Often, such glyphs have metrics which look incongruous in normal text. A few which are not uncommon in running prose have “text variants”, which should work better in that context. Conversely, a handful of glyphs that are normally drawn from a regular font are required in mathematical text. Both sets of exceptions are noted in the tables where they appear (“Logical symbols” and “Mathematical symbols”).

Basic Latin

Apart from basic Latin characters with special mappings, described in subsection “Fundamental character set” above, a few others in that range have special character glyph names. These were defined for ease of input on non-U.S. keyboards lacking keycaps for them, or for symmetry with other special character glyph names serving a similar purpose.

The vertical bar is overloaded; the \[ba] and \[or] escapes may render differently. See subsection “Mathematical symbols” below for special variants of the plus, minus, and equals signs normally drawn from this range.

Output InputUnicode Notes "\[dq] u0022neutral double quote#\[sh] u0023number sign$\[Do] u0024dollar sign'\[aq] u0027apostrophe, neutral single quote/\[sl] u002Fslash, solidus +@\[at] u0040at sign[\[lB] u005Bleft square bracket\\[rs] u005Creverse solidus]\[rB] u005Dright square bracket^\[ha] u005Ecircumflex, caret, “hat” + \[ul] u005Funderscore, low line +{\[lC] u007Bleft brace||u007C bar|\[ba] u007Cbar \[or] u007Cbitwise or +}\[rC] u007Dright brace~\[ti] u007Etilde +

Supplementary Latin letters

Historically, \[ss] could be considered a ligature of “sz”. An uppercase form is available as \[u1e9e], but in the German language it is of specialized use; ß does not normally uppercase-transform to it, but rather to “SS”. “Lowercase f with hook” is also used as a function symbol; see subsection “Mathematical symbols” below.

Output InputUnicode Notes Ð\[−D] u00D0uppercase ethð\[Sd] u00F0lowercase ethÞ\[TP] u00DEuppercase thornþ\[Tp] u00FElowercase thornß\[ss] u00DFlowercase sharp sı\[.i] u0131i without tittle\[.j] u0237j without tittleƒ\[Fn] u0192lowercase f with hook, function

Ligatures and digraphs

Output InputUnicode Notes ff \[ff] u0066_0066ff ligature +fi \[fi] u0066_0069fi ligature +fl \[fl]u0066_006C fl ligature +ffi \[Fi]u0066_0066_0069 ffi ligature +ffl \[Fl]u0066_0066_006C ffl ligature +Æ\[AE] u00C6AE ligatureæ\[ae] u00E6ae ligatureŒ\[OE] u0152OE ligatureœ\[oe] u0153oe ligatureIJ \[IJ]u0132 IJ digraphij \[ij]u0133 ij digraphŁ\[/L] u0141L with strokeł\[/l] u0142l with strokeØ\[/O] u00D8O with strokeø\[/o] u00F8o with stroke

Accented characters

All of these glyphs can be composed using combining glyph names as described in subsection “Special character escape forms” above; the names below can be thought of short aliases for convenience.

Output InputUnicode Notes Á\['A] u0041_0301A acuteC´\['C] u0043_0301C acuteÉ\['E] u0045_0301E acuteÍ\['I] u0049_0301I acuteÓ\['O] u004F_0301O acuteÚ\['U] u0055_0301U acuteÝ\['Y] u0059_0301Y acuteá\['a] u0061_0301a acutec´\['c] u0063_0301c acuteé\['e] u0065_0301e acuteí\['i] u0069_0301i acuteó\['o] u006F_0301o acuteú\['u] u0075_0301u acuteý\['y] u0079_0301y acuteÄ\[:A] u0041_0308A dieresisË\[:E] u0045_0308E dieresisÏ\[:I] u0049_0308I dieresisÖ\[:O] u004F_0308O dieresisÜ\[:U] u0055_0308U dieresisŸ\[:Y] u0059_0308Y dieresisä\[:a] u0061_0308a dieresisë\[:e] u0065_0308e dieresisï\[:i] u0069_0308i dieresisö\[:o] u006F_0308o dieresisü\[:u] u0075_0308u dieresisÿ\[:y] u0079_0308y dieresisÂ\[^A] u0041_0302A circumflexÊ\[^E] u0045_0302E circumflexÎ\[^I] u0049_0302I circumflexÔ\[^O] u004F_0302O circumflexÛ\[^U] u0055_0302U circumflexâ\[^a] u0061_0302a circumflexê\[^e] u0065_0302e circumflexî\[^i] u0069_0302i circumflexô\[^o] u006F_0302o circumflexû\[^u] u0075_0302u circumflexÀ\[`A] u0041_0300A graveÈ\[`E] u0045_0300E graveÌ\[`I] u0049_0300I graveÒ\[`O] u004F_0300O graveÙ\[`U] u0055_0300U graveà\[`a] u0061_0300a graveè\[`e] u0065_0300e graveì\[`i] u0069_0300i graveò\[`o] u006F_0300o graveù\[`u] u0075_0300u graveÃ\[~A] u0041_0303A tildeÑ\[~N] u004E_0303N tildeÕ\[~O] u004F_0303O tildeã\[~a] u0061_0303a tildeñ\[~n] u006E_0303n tildeõ\[~o] u006F_0303o tildeŠ\[vS] u0053_030CS caronš\[vs] u0073_030Cs caronŽ\[vZ] u005A_030CZ caronž\[vz] u007A_030Cz caronÇ\[,C] u0043_0327C cedillaç\[,c] u0063_0327c cedillaÅ\[oA] u0041_030AA ringå\[oa] u0061_030Aa ring

Accents

The .composite request is used to map the accents to code points with non-spacing semantics; the values given in parentheses are their spacing counterparts.

Output Input UnicodeNotes ˝\[a"] u030B (u02DD) double acute accent¯\[a−] u0304 (u00AF) macron accent˙\[a.] u0307 (u02D9) dot accentˆ\[a^] u0302 (u005E) circumflex accent´\[aa] u0301 (u00B4) acute accent +`\[ga] u0300 (u0060) grave accent +˘\[ab] u0306 (u02D8) breve accent¸\[ac] u0327 (u00B8) cedilla accent¨\[ad] u0308 (u00A8) dieresis accentˇ\[ah] u030C (u02C7) caron accent˚\[ao] u030A (u02DA) ring accent˜\[a~] u0303 (u007E) tilde accent˛\[ho] u0328 (u02DB) hook accent

Quotation marks

Output Input Unicode Notes \[Bq] u201Elow double comma quote\[bq] u201Alow single comma quote\[lq] u201Cleft double quote\[rq] u201Dright double quote\[oq] u2018single open (left) quote\[cq] u2019single closing (right) quote'\[aq] u0027apostrophe, neutral single quote"\[dq] u0022neutral double quote«\[Fo] u00ABleft double chevron»\[Fc] u00BBright double chevron\[fo] u2039left single chevron\[fc] u203Aright single chevron

Punctuation

Output InputUnicode Notes ¡\[r!] u00A1inverted exclamation mark¿\[r?] u00BFinverted question mark\[em] u2014em-dash +\[en] u2013en-dash-\[hy] u2010hyphen +

Brackets

On typestter devices, the bracket extensions are font-invariant glyphs; that is, they are rendered the same way regardless of font. On terminals, they are not font-invariant; groff maps them rather arbitrarily to U+23AA (“curly bracket extension”). In AT&T troff, only one glyph was available to vertically extend brackets, braces, and parentheses: \(bv.

Not all devices supply bracket pieces that can be piled up with \b due to the restrictions of the escape’s piling algorithm. A general solution to build brackets out of pieces is the following macro:

.\" Make a pile centered vertically 0.5em above the baseline.
.\" The first argument is placed at the top.
.\" The pile is returned in string 'pile'.
.eo
.de pile-make
. nr pile-wd 0
. nr pile-ht 0
. ds pile-args
.
. nr pile-# \n[.$]
. while \n[pile-#] \{\
. nr pile-wd (\n[pile-wd] >? \w'\$[\n[pile-#]]')
. nr pile-ht +(\n[rst] - \n[rsb])
. as pile-args \v'\n[rsb]u'\"
. as pile-args \Z'\$[\n[pile-#]]'\"
. as pile-args \v'-\n[rst]u'\"
. nr pile-# -1
. \}
.
. ds pile \v'(-0.5m + (\n[pile-ht]u / 2u))'\"
. as pile \*[pile-args]\"
. as pile \v'((\n[pile-ht]u / 2u) + 0.5m)'\"
. as pile \h'\n[pile-wd]u'\"
..
.ec

Another complication is the fact that some glyphs which represent bracket pieces in AT&T troff can be used for other mathematical symbols as well, for example \(lf and \(rf which provide the floor operator. Some output postprocessors, such as grodvi(1), don’t unify such glyphs. For this reason, the four glyphs \[lf], \[rf], \[lc], and \[rc], are not unified with similar-looking bracket pieces. In groff, only glyphs with long names are guaranteed to pile up correctly for all devices—provided those glyphs exist.

Output InputUnicode Notes [\[lB] u005Bleft square bracket]\[rB] u005Dright square bracket{\[lC] u007Bleft brace}\[rC] u007Dright brace\[la] u27E8left angle bracket\[ra] u27E9right angle bracket\[bv] u23AAbrace vertical extension *** +\[braceex] u23AAbrace vertical extension\[bracketlefttp] u23A1left square bracket top\[bracketleftbt] u23A3left square bracket bottom\[bracketleftex] u23A2left square bracket extension\[bracketrighttp] u23A4right square bracket top\[bracketrightbt] u23A6right square bracket bottom\[bracketrightex] u23A5right square bracket extension\[lt] u23A7left brace top +\[bracelefttp] u23A7left brace top\[lk] u23A8left brace middle +\[braceleftmid] u23A8left brace middle\[lb] u23A9left brace bottom +\[braceleftbt] u23A9left brace bottom\[braceleftex] u23AAleft brace extension\[rt] u23ABright brace top +\[bracerighttp] u23ABright brace top\[rk] u23ACright brace middle +\[bracerightmid] u23ACright brace middle\[rb] u23ADright brace bottom +\[bracerightbt] u23ADright brace bottom\[bracerightex] u23AAright brace extension\[parenlefttp] u239Bleft parenthesis top\[parenleftbt] u239Dleft parenthesis bottom\[parenleftex] u239Cleft parenthesis extension\[parenrighttp] u239Eright parenthesis top\[parenrightbt] u23A0right parenthesis bottom\[parenrightex] u239Fright parenthesis extension

Arrows

Output InputUnicode Notes \[<−] u2190horizontal arrow left +\[−>] u2192horizontal arrow right +\[<>] u2194bidirectional horizontal arrow\[da] u2193vertical arrow down +\[ua] u2191vertical arrow up +\[va] u2195bidirectional vertical arrow\[lA] u21D0horizontal double arrow left\[rA] u21D2horizontal double arrow right\[hA] u21D4bidirectional horizontal double arrow\[dA] u21D3vertical double arrow down\[uA] u21D1vertical double arrow up\[vA] u21D5bidirectional vertical double arrow\[an] u23AFhorizontal arrow extension

Rules and lines

On typesetter devices, the font-invariant glyphs (see subsection “Brackets” above) \[br], \[ul], and \[rn] form corners when adjacent; they can be used to build boxes. On terminal devices, they are mapped as shown in the table. The Unicode-derived names of these three glyphs are approximations.

\[rn] also serves in AT&T troff as the horizontal extension of the radical (square root) sign. The baseline rule \[ru] is a font-invariant glyph, namely a rule of one-half em. In groff, use \[radicalex] (see subsection “Mathematical symbols” below) instead of \[rn], for continuation of radical signs (e.g., square roots).

Output Input Unicode Notes ||u007C bar|\[ba] u007Cbar \[br] u2502box rule + \[ul] u005Funderscore, low line + \[rn] u203Eoverline + \[ru] ---baseline rule +¦\[bb] u00A6broken bar/\[sl] u002Fslash, solidus +\\[rs] u005Creverse solidus

Text markers

Output InputUnicode Notes \[ci] u25CBcircle +\[bu] u2022bullet +\[dg] u2020dagger +\[dd] u2021double dagger +\[lz] u25CAlozenge, diamond \[sq] u25A1square +\[ps] u00B6pilcrow sign§\[sc] u00A7section sign +\[lh] u261Chand pointing left +\[rh] u261Ehand pointing right +@\[at] u0040at sign#\[sh] u0023number sign\[CR] u21B5carriage return\[OK] u2713check mark

Legal symbols

The Bell Systems logo is not supported in groff.

Output Input Unicode Notes ©\[co] u00A9copyright sign +®\[rg] u00AEregistered sign +\[tm] u2122trade mark sign\[bs] ---Bell Systems logo +

Currency symbols

Output InputUnicode Notes $\[Do] u0024dollar sign¢\[ct] u00A2cent sign +\[eu] u20ACEuro sign\[Eu] u20ACvariant Euro sign¥\[Ye] u00A5yen sign£\[Po] u00A3pound sign¤\[Cs] u00A4currency sign

Units

Output InputUnicode Notes °\[de] u00B0degree sign +\[%0] u2030per thousand, per mille sign\[fm] u2032arc minute sign +\[sd] u2033arc second signµ\[mc] u00B5micro signª\[Of] u00AAfeminine ordinal indicatorº\[Om] u00BAmasculine ordinal indicator

Logical symbols

Whether the two variants of the not sign differ in appearance or spacing will depend on the device and font selected.

Output InputUnicode Notes \[AN] u2227logical and\[OR] u2228logical or¬\[no] u00AClogical not + ***¬\[tno] u00ACtext variant of \[no]\[te] u2203there exists\[fa] u2200for all\[st] u220Bsuch that\[3d] u2234therefore\[tf] u2234therefore \[or] u007Cbitwise or +

Mathematical symbols

\[Fn] also appears in subsection “Supplementary Latin letters” above. Observe the two varieties of the plus-minus, multiplication, and division signs; \[+-], \[mu], and \[di] are normally drawn from the special font, but have regular (“text”) font variants. Also be aware of three glyphs available in special font variants that are normally drawn from regular fonts: the plus, minus, and equals signs. Whether these variants differ in appearance or spacing will depend on the device and font selected.    

Output InputUnicode Notes ½\[12] u00BDone half symbol +¼\[14] u00BCone quarter symbol +¾\[34] u00BEthree quarters symbol +18\[18] u215Bone eighth symbol38\[38] u215Cthree eighths symbol58\[58] u215Dfive eighths symbol78\[78] u215Eseven eighths symbol¹\[S1] u00B9superscript one²\[S2] u00B2superscript two³\[S3] u00B3superscript three++ u002B plus+\[pl] u002Bspecial variant of plus +\[−] u002Dminus\[mi] u2212special variant of minus +\[−+] u2213minus-plus±\[+−] u00B1plus-minus + ***±\[t+−] u00B1text variant of \[+−]·\[pc] u00B7centered period\[md] u22C5multiplication dot×\[mu] u00D7multiplication sign + ***×\[tmu] u00D7text variant of \[mu]\[c*] u2297circled times\[c+] u2295circled plus÷\[di] u00F7division sign + ***÷\[tdi] u00F7text variant of \[di]\[f/] u2044fraction slash\[**] u2217mathematical asterisk +\[<=] u2264less than or equal to +\[>=] u2265greater than or equal to +<< \[<<] u226Amuch less than>> \[>>] u226Bmuch greater than== u003D equals=\[eq] u003Dspecial variant of equals +\[!=] u003D_0338not equals +\[==] u2261equivalent +/\[ne] u2261_0338not equivalent\[=˜] u2245approximately equal to\[|=] u2243asymptotically equal to +\[ap] u223Csimilar to, tilde operator +\[˜˜] u2248almost equal to\[˜=] u2248almost equal to\[pt] u221Dproportional to +\[es] u2205empty set +\[mo] u2208element of a set +\[nm] u2208_0338not element of set\[sb] u2282proper subset +\[nb] u2282_0338not subset\[sp] u2283proper superset +/\[nc] u2283_0338not superset\[ib] u2286subset or equal +\[ip] u2287superset or equal +\[ca] u2229intersection, cap +\[cu] u222Aunion, cup +\[/_] u2220angle\[pp] u22A5perpendicular\[is] u222Bintegral +\[integral] u222Bintegral ***\[sum] u2211summation ***\[product] u220Fproduct ***\[coproduct] u2210coproduct ***\[gr] u2207gradient +\[sr] u221Aradical sign, square root +\[sqrt] u221Aradical sign, square root\[radicalex] ---radical extension ***\[sqrtex] ---radical extension ***\[lc] u2308left ceiling +\[rc] u2309right ceiling +\[lf] u230Aleft floor +\[rf] u230Bright floor +\[if] u221Einfinity +\[Ah] u2135aleph symbolƒ\[Fn] u0192lowercase f with hook, function\[Im] u2111blackletter I, imaginary part\[Re] u211Cblackletter R, real part\[wp] u2118Weierstrass p\[pd] u2202partial differential h\[−h] u210Fh bar h\[hbar] u210Fh bar

Greek glyphs

These glyphs are intended for technical use, not for typesetting Greek language text; normally, the uppercase letters have upright shape, and the lowercase ones are slanted.

Output InputUnicode Notes Α\[*A] u0391uppercase alpha +Β\[*B] u0392uppercase beta +Γ\[*G] u0393uppercase gamma +\[*D] u0394uppercase delta +Ε\[*E] u0395uppercase epsilon +Ζ\[*Z] u0396uppercase zeta +Η\[*Y] u0397uppercase eta +Θ\[*H] u0398uppercase theta +Ι\[*I] u0399uppercase iota +Κ\[*K] u039Auppercase kappa +Λ\[*L] u039Buppercase lambda +Μ\[*M] u039Cuppercase mu +Ν\[*N] u039Duppercase nu +Ξ\[*C] u039Euppercase xi +Ο\[*O] u039Fuppercase omicron +Π\[*P] u03A0uppercase pi +Ρ\[*R] u03A1uppercase rho +Σ\[*S] u03A3uppercase sigma +Τ\[*T] u03A4uppercase tau +ϒ\[*U] u03A5uppercase upsilon +Φ\[*F] u03A6uppercase phi +Χ\[*X] u03A7uppercase chi +Ψ\[*Q] u03A8uppercase psi +\[*W] u03A9uppercase omega +α\[*a] u03B1lowercase alpha +β\[*b] u03B2lowercase beta +γ\[*g] u03B3lowercase gamma +δ\[*d] u03B4lowercase delta +ε\[*e] u03B5lowercase epsilon +ζ\[*z] u03B6lowercase zeta +η\[*y] u03B7lowercase eta +θ\[*h] u03B8lowercase theta +ι\[*i] u03B9lowercase iota +κ\[*k] u03BAlowercase kappa +λ\[*l] u03BBlowercase lambda +µ\[*m] u03BClowercase mu +ν\[*n] u03BDlowercase nu +ξ\[*c] u03BElowercase xi +ο\[*o] u03BFlowercase omicron +π\[*p] u03C0lowercase pi +ρ\[*r] u03C1lowercase rho +ς\[ts] u03C2terminal lowercase sigma +σ\[*s] u03C3lowercase sigma +τ\[*t] u03C4lowercase tau +υ\[*u] u03C5lowercase upsilon +φ\[*f] u03D5lowercase phi +χ\[*x] u03C7lowercase chi +ψ\[*q] u03C8lowercase psi +ω\[*w] u03C9lowercase omega +ϑ\[+h] u03D1variant thetaϕ\[+f] u03C6variant phi (curly shape)ϖ\[+p] u03D6variant pi (similar to omega)\[+e] u03F5variant epsilon (lunate)

Playing card symbols

Output InputUnicode Notes \[CL] u2663solid club suit\[SP] u2660solid spade suit\[HE] u2665solid heart suit\[DI] u2666solid diamond suit

Authors

This document was written by James Clark, with additions by Werner Lemberg and Bernd Warken, revised to use tbl(1) by Eric S. Raymond, and largely rewritten by G. Branden Robinson.

See also

Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner Lemberg, is the primary groff manual. Section “Using Symbols” may be of particular note. You can browse it interactively with “info '(groff) Using Symbols'”.

“An extension to the troff character set for Europe”, E.G. Keizer, K.J. Simonsen, J. Akkerhuis; EUUG Newsletter, Volume 9, No. 2, Summer 1989
The Unicode Standard
“7-bit Character Sets” by Tuomas Salste documents the inherent ambiguity and configurability (in terms of variable code points) of the ASCII encoding standard.

groff(1), troff(1), groff(7)