1 .TH GROFF_CHAR @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
3 groff_char \- groff glyph names
5 .\" The lines above were designed to satisfy `apropos'.
7 .\" For best results, format this document with `groff' (GNU roff).
10 .\" --------------------------------------------------------------------
12 .\" --------------------------------------------------------------------
17 This file is part of groff (GNU roff).
19 File position: <groff_src_top>/man/groff_char.man
21 Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008
22 Free Software Foundation, Inc.
23 written by Werner Lemberg <wl@gnu.org>
24 with additions by Bernd Warken <bwarken@mayn.de>
26 Permission is granted to copy, distribute and/or modify this document
27 under the terms of the GNU Free Documentation License, Version 1.1 or
28 any later version published by the Free Software Foundation; with the
29 Invariant Sections being this .ig-section and AUTHOR, with no
30 Front-Cover Texts, and with no Back-Cover Texts.
32 A copy of the Free Documentation License is included as a file called
33 FDL in the main directory of the groff source package.
36 .\" --------------------------------------------------------------------
38 .\" --------------------------------------------------------------------
40 .do nr groff_char_C \n[.C]
50 .if !\n(.g .if '\(aq'' .ds aq \'
57 . \" This is very special. The standard devdvi fonts don't have a
58 . \" real `aq' glyph; it is defined with .char to be ' instead.
59 . \" The .tr request below in the definition of the C macro maps
60 . \" the apostrophe ' onto the `aq' glyph which would cause a
61 . \" recursive loop. gtroff prevents this within the .char
62 . \" request, trying to access glyph `aq' directly from the font.
63 . \" Consequently, we get a warning, and nothing is printed.
65 . \" The following line prevents this.
69 . \" The same is true for X
72 . if '\*[dev]'X' .ds aq \'
76 .\" --------------------------------------------------------------------
77 .\" .Ac accented-char accent char (groff)
86 \h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\
87 \v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\
89 \v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\
98 .\" --------------------------------------------------------------------
100 .\" --------------------------------------------------------------------
104 .\" --------------------------------------------------------------------
109 . C \e[\\$1] "" \[\\$1] \\$2 "\\$3" "\\$4"
112 .\" .Ns (groff) start .CN block
116 . CN "\\$1" "\\$2" "\\$3" "\\$4"
118 . wh (\\n[nl]u + \\n[.t]u - \\n[.V]u) Fo
121 .\" .Ne (groff) end .CN block
126 . CN "\\$1" "\\$2" "\\$3" "\\$4"
135 .\" --------------------------------------------------------------------
140 . C \e(\\$1 "" \\(\\$1 \\$2 "\\$3" "\\$4"
143 .\" .2s (non-groff) start .C2 block
147 . C2 "\\$1" "\\$2" "\\$3" "\\$4"
149 . wh \\n(nlu+\\n(.tu-\\n(.Vu Fo
152 .\" .2e (non-groff) end .C2 block
157 . C2 "\\$1" "\\$2" "\\$3" "\\$4"
160 .\" --------------------------------------------------------------------
165 . C \[char\\$1] \\$1 \[char\\$1] \\$2 "\\$3" "\\$4" 1
168 .\" .Ds (groff) start .CD block
172 . CD "\\$1" "\\$2" "\\$3" "\\$4"
174 . wh (\\n[nl]u + \\n[.t]u - \\n[.V]u) Fo
177 .\" .De (groff) end .CD block
182 . CD "\\$1" "\\$2" "\\$3" "\\$4"
185 .\" --------------------------------------------------------------------
187 .do if !r ECFONTS .do fspecial CR R
195 . nr c2 \\n(c1+\w'\\$2'
198 . nr c3 \\n(c2+\w'\\$3'
201 . nr c4 \\n(c3+\w'\\$4'
204 . nr c5 \\n(c4+\w'\\$5'
213 \h'\\n(c1u-\\n(.ku'\\$2\c
214 \h'\\n(c2u-\\n(.ku'\\$3\c
215 \h'\\n(c3u-\\n(.ku'\\$4\c
216 \h'\\n(c4u-\\n(.ku'\\$5\c
217 \h'\\n(c5u-\\n(.ku'\\$6
221 .\" --------------------------------------------------------------------
222 .\" input-name decimal-code output-name ps-name unicode description is-char
250 . \" The \x values assure that oversized symbols don't
251 . \" overlap vertically. The constant 1.5p is heuristic.
252 . nop \x'(\w'('*0 - ((\\n[.cht]u - \\n[rst]u - 1.5p) >? 0))'\c
253 . nop \x'((\\n[.cdp]u + \\n[rsb]u - 1.5p) >? 0)'\c
254 . nop \h'(\\n[c1]u - \\n[.k]u)'\\*[CH]\c
255 . nop \h'(\\n[c2]u - \\n[.k]u)'\\$2\c
259 . nop \h'(\\n[c1]u - \\n[.k]u)'\\*[CH]\c
261 . nop \h'(\\n[c3]u - \\n[.k]u)'\\$4\c
262 . nop \h'(\\n[c4]u - \\n[.k]u)'\\$5\c
265 . \" we move upwards later on so force a page break now if necessary
266 . if (\\n[dn] >= \\n[.t]) \
272 . \" allow multiple lines for last column
281 . if (\\n[PN] == \\n[%]) \
282 . if (\\n[nl] < \\n[C2]) \
286 .\" --------------------------------------------------------------------
305 \h'\\n(c1u-\\n(.ku)'\\*(CH\c
306 \h'\\n(c2u-\\n(.ku)'\\$2\c
307 \h'\\n(c3u-\\n(.ku)'\\$4\c
311 \h'\\n(c1u-\\n(.ku)'\\*(CH\c
312 \h'\\n(c3u-\\n(.ku)'\\$4\c
314 \h'\\n(c4u-\\n(.ku)'\\$5\c
315 \h'\\n(c5u-\\n(.ku)'\\$6
318 . \" we move upwards later on so force a page break now if necessary
319 . if \\n(dn>=\\n(.t \
325 . \" allow multiple lines for last column
339 .\" --------------------------------------------------------------------
353 .\" --------------------------------------------------------------------
355 .\" --------------------------------------------------------------------
357 This manual page lists the standard
359 glyph names and the default input mapping, \%latin1.
361 The glyphs in this document look different depending
362 on which output device was chosen (with option
366 program or the roff formatter).
368 Glyphs not available for the device that
369 is being used to print or view this manual page are marked with
370 .ie \n(.g `(N/A)'; the device currently used is `\*(.T'.
375 In the actual version,
377 provides only \%8-bit characters for direct input and named entities
380 On ASCII platforms, input character codes in the range 0 to 127 (decimal)
381 represent the usual \%7-bit ASCII characters, while codes between 127
382 and 255 are interpreted as the corresponding characters in the
387 This mapping is contained in the file \f(CWlatin1.tmac\fP
388 and can be changed by loading a different input encoding.
390 Note that some of the input characters are reserved by
392 either for internal use or for special input purposes.
394 On EBCDIC platforms, only code page
396 is supported (which contains the same characters as \%latin1; the
397 input encoding file is called \f(CWcp1047.tmac\fP).
399 Again, some input characters are reserved for internal and special purposes.
403 All roff systems provide the concept of named glyphs.
405 In traditional roff systems, only names of length\ 2 were used, while
406 groff also provides support for longer names.
408 It is strongly suggested that only named glyphs are used for all
409 character representations outside of the printable \%7-bit ASCII range.
413 Some of the predefined groff escape sequences (with names of length\ 1)
414 also produce single glyphs; these exist for historical reasons or
415 are printable versions of syntactical characters.
417 They include `\f(CW\e\e\fP', `\f(CW\e\'\fP', `\f(CW\e`\fP', `\f(CW\e-\fP',
418 `\f(CW\e.\fP', and `\f(CW\ee\fP'; see
419 .BR groff (@MAN7EXT@).
423 In groff, all of these different types of characters and glyphs can be
424 tested positively with the `\f(CW.if\ c\fP' conditional.
427 .\" --------------------------------------------------------------------
429 .\" --------------------------------------------------------------------
431 In this section, the glyphs in groff are specified in tabular
434 The meaning of the columns is as follows.
439 shows how the glyph is printed for the current device; although
440 this can have quite a different shape on other devices, it always
441 represents the same glyph.
446 specifies how the glyph is input either directly by a key on the
447 keyboard, or by a groff escape sequence.
452 applies to glyphs which can be input with a single character, and
453 gives the ISO \%latin1 decimal code of that input character.
455 Note that this code is equivalent to the lowest 256 Unicode characters,
456 including \%7-bit ASCII in the range 0 to\ 127.
461 gives the usual PostScript name of the glyph.
465 .I "Unicode decomposed"
466 is the glyph name used in composite glyph names.
470 .\" --------------------------------------------------------------------
471 .SS "7-bit Character Codes 32-126"
472 .\" --------------------------------------------------------------------
474 These are the basic glyphs having 7-bit ASCII code values assigned.
476 They are identical to the printable characters of the
477 character standards \%ISO-8859-1 (\%latin1) and Unicode (range
480 The glyph names used in composite glyph names are `u0020' up to `u007E'.
484 Note that input characters in the range \%0\-31 and character 127 are
486 printable characters.
488 Most of them are invalid input characters for
490 anyway, and the valid ones have special meaning.
492 For EBCDIC, the printable characters are in the range \%66\-255.
497 Decimal digits 0 to\ 9 (print as themselves).
502 Upper case letters A\-Z (print as themselves).
507 Lower case letters a\-z (print as themselves).
511 Most of the remaining characters not in the just described ranges print as
512 themselves; the only exceptions are the following characters:
517 the ISO \%latin1 `Grave Accent' (code\ 96) prints as `, a left single
518 quotation mark; the original character can be obtained with `\f(CW\e`\fP'.
523 the ISO \%latin1 `Apostrophe' (code\ 39) prints as ', a right single
524 quotation mark; the original character can be obtained with `\f(CW\e(aq\fP'.
529 the ISO \%latin1 `Hyphen, Minus Sign' (code\ 45) prints as a hyphen; a
530 minus sign can be obtained with `\f(CW\e-\fP'.
535 the ISO \%latin1 `Tilde' (code\ 126) is reduced in size to be usable as
536 a diacritic; a larger glyph can be obtained with `\f(CW\e(ti\fP'.
541 the ISO \%latin1 `Circumflex Accent' (code\ 94) is reduced in size to be
542 usable as a diacritic; a larger glyph can be obtained with `\f(CW\e(ha\fP'.
546 .CT "\fIOutput" "\fIInput" "\fIInput" "bracketright" "decomposed"
551 . CL "Output" "Input" "Input" "PostScript" "Unicode" "Notes"
552 . CL "" "name" "code" "name" "decomposed" ""
558 .CD 34 quotedbl u0022
559 .CD 35 numbersign u0023
562 .CD 38 ampersand u0026
563 .CD 39 quoteright u0027
564 .CD 40 parenleft u0028
565 .CD 41 parenright u0029
566 .CD 42 asterisk u002A
573 .CD 59 semicolon u003B
577 .CD 63 question u003F
579 .CD 91 bracketleft u005B
580 .CD 92 backslash u005C
581 .CD 93 bracketright u005D
582 .CD 94 circumflex u005E "circumflex accent"
583 .CD 95 underscore u005F
584 .CD 96 quoteleft u0060
585 .CD 123 braceleft u007B
587 .CD 125 braceright u007D
588 .De 126 tilde u007E "tilde accent"
591 .\" --------------------------------------------------------------------
592 .SS "8-bit Character Codes 160 to 255"
593 .\" --------------------------------------------------------------------
595 They are interpreted as printable characters according to the
598 code set, being identical to the Unicode range
599 .IR "Latin-1 Supplement" .
603 Input characters in range 128-159 (on non-EBCDIC hosts) are not printable
612 is mapped to `\f(CW\e~\fP', the stretchable space character.
618 the soft hyphen control character.
621 never uses this character for output (thus it is omitted in the
622 table below); the input character\ 173 is mapped onto `\f(CW\e%\fP'.
626 The remaining ranges (\%161\-172, \%174\-255)
627 are printable characters that print as themselves.
629 Although they can be specified directly with the keyboard on systems
630 with a \%latin1 code page, it is better to use their glyph names;
634 .CT "\fIOutput" "\fIInput" "\fIInput" "guillemotright" "decomposed"
636 .Ds 161 exclamdown u00A1 "inverted exclamation mark"
638 .CD 163 sterling u00A3
639 .CD 164 currency u00A4
641 .CD 166 brokenbar u00A6
642 .CD 167 section u00A7
643 .CD 168 dieresis u00A8
644 .CD 169 copyright u00A9
645 .CD 170 ordfeminine u00AA
646 .CD 171 guillemotleft u00AB
647 .CD 172 logicalnot u00AC
648 .CD 174 registered u00AE
651 .CD 177 plusminus u00B1
652 .CD 178 twosuperior u00B2
653 .CD 179 threesuperior u00B3
654 .CD 180 acute u00B4 "acute accent"
655 .CD 181 mu u00B5 "micro sign"
656 .CD 182 paragraph u00B6
657 .CD 183 periodcentered u00B7
658 .CD 184 cedilla u00B8
659 .CD 185 onesuperior u00B9
660 .CD 186 ordmasculine u00BA
661 .CD 187 guillemotright u00BB
662 .CD 188 onequarter u00BC
663 .CD 189 onehalf u00BD
664 .CD 190 threequarters u00BE
665 .CD 191 questiondown u00BF
666 .CD 192 Agrave u0041_0300
667 .CD 193 Aacute u0041_0301
668 .CD 194 Acircumflex u0041_0302
669 .CD 195 Atilde u0041_0303
670 .CD 196 Adieresis u0041_0308
671 .CD 197 Aring u0041_030A
673 .CD 199 Ccedilla u0043_0327
674 .CD 200 Egrave u0045_0300
675 .CD 201 Eacute u0045_0301
676 .CD 202 Ecircumflex u0045_0302
677 .CD 203 Edieresis u0045_0308
678 .CD 204 Igrave u0049_0300
679 .CD 205 Iacute u0049_0301
680 .CD 206 Icircumflex u0049_0302
681 .CD 207 Idieresis u0049_0308
683 .CD 209 Ntilde u004E_0303
684 .CD 210 Ograve u004F_0300
685 .CD 211 Oacute u004F_0301
686 .CD 212 Ocircumflex u004F_0302
687 .CD 213 Otilde u004F_0303
688 .CD 214 Odieresis u004F_0308
689 .CD 215 multiply u00D7
691 .CD 217 Ugrave u0055_0300
692 .CD 218 Uacute u0055_0301
693 .CD 219 Ucircumflex u0055_0302
694 .CD 220 Udieresis u0055_0308
695 .CD 221 Yacute u0059_0301
697 .CD 223 germandbls u00DF
698 .CD 224 agrave u0061_0300
699 .CD 225 aacute u0061_0301
700 .CD 226 acircumflex u0061_0302
701 .CD 227 atilde u0061_0303
702 .CD 228 adieresis u0061_0308
703 .CD 229 aring u0061_030A
705 .CD 231 ccedilla u0063_0327
706 .CD 232 egrave u0065_0300
707 .CD 233 eacute u0065_0301
708 .CD 234 ecircumflex u0065_0302
709 .CD 235 edieresis u0065_0308
710 .CD 236 igrave u0069_0300
711 .CD 237 iacute u0069_0301
712 .CD 238 icircumflex u0069_0302
713 .CD 239 idieresis u0069_0308
715 .CD 241 ntilde u006E_0303
716 .CD 242 ograve u006F_0300
717 .CD 243 oacute u006F_0301
718 .CD 244 ocircumflex u006F_0302
719 .CD 245 otilde u006F_0303
720 .CD 246 odieresis u006F_0308
723 .CD 249 ugrave u0075_0300
724 .CD 250 uacute u0075_0301
725 .CD 251 ucircumflex u0075_0302
726 .CD 252 udieresis u0075_0308
727 .CD 253 yacute u0079_0301
729 .De 255 ydieresis u0079_0308
732 .\" --------------------------------------------------------------------
734 .\" --------------------------------------------------------------------
736 Glyph names can be embedded into the document text by using escape
739 .BR groff (@MAN7EXT@)
740 describes how these escape sequences look.
742 Glyph names can consist of quite arbitrary characters from the
743 ASCII or \%latin1 code set, not only alphanumeric characters.
749 A glyph having the 2-character name
753 \f(CW\e[\fP\fIchar_name\fP\f(CW]\fP
754 A glyph having the name
756 (having length 1, 2, 3, .\|.\|.).
758 Note that `\fIc\fP' is not the same as
759 `\f(CW\e[\fP\fIc\fP\f(CW]\fP' (\fIc\fP\ a single character):
760 The latter is internally mapped to glyph name `\e\fIc\fP'.
762 By default, groff defines a single glyph name starting with a backslash,
763 namely \%`\e-', which can be either accessed as `\f(CW\e\-\fP' or
767 \f(CW\e[\fP\fIbase_glyph composite_1 composite_2 .\|.\|.\fP\f(CW]\fP
768 A composite glyph; see below for a more detailed description.
772 In groff, each \%8-bit input character can also referred to by the construct
773 `\f(CW\e[char\fP\fIn\fP\f(CW]\fP' where
775 is the decimal code of the character, a number between 0 and\ 255
776 without leading zeros (those entities are
780 They are normally mapped onto glyphs using the \f(CW.trin\fP request.
782 Another special convention is the handling of glyphs with names directly
783 derived from a Unicode code point; this is discussed below.
785 Moreover, new glyph names can be created by the \f(CW.char\fP request; see
786 .BR groff (@MAN7EXT@).
789 In the following, a plus sign in the `Notes' column indicates that this
790 particular glyph name appears in the PS version of the original troff
791 documentation, CSTR\ 54.
794 Entries marked with `***' denote glyphs for mathematical purposes (mainly
795 used for DVI output). Normally, such glyphs have metrics which make them
796 unusable in normal text.
800 .CT "\fIOutput" "\f(CW\e[-D]" "" "Ocircumflex" "u0066_0066_006C"
805 . CL "Output" "Input" "" "PostScript" "Unicode" "Notes"
806 . CL "" "name" "" "name" "decomposed" ""
811 .2s -D Eth u00D0 "uppercase eth"
812 .C2 Sd eth u00F0 "lowercase eth"
813 .C2 TP Thorn u00DE "uppercase thorn"
814 .C2 Tp thorn u00FE "lowercase thorn"
815 .2e ss germandbls u00DF "German sharp s"
818 .I Ligatures and Other Latin Glyphs
820 .2s ff ff u0066_0066 "ff ligature +"
821 .C2 fi fi u0066_0069 "fi ligature +"
822 .C2 fl fl u0066_006C "fl ligature +"
823 .C2 Fi ffi u0066_0066_0069 "ffi ligature +"
824 .C2 Fl ffl u0066_0066_006C "ffl ligature +"
825 .C2 /L Lslash u0141 "(Polish)"
826 .C2 /l lslash u0142 "(Polish)"
827 .C2 /O Oslash u00D8 "(Scandinavic)"
828 .C2 /o oslash u00F8 "(Scandinavic)"
833 .C2 IJ IJ u0132 "(Dutch)"
834 .C2 ij ij u0133 "(Dutch)"
835 .C2 .i dotlessi u0131 "(Turkish)"
836 .2e .j dotlessj --- "j without a dot"
839 .I Accented Characters
841 .2s 'A Aacute u0041_0301
842 .C2 'C Cacute u0043_0301
843 .C2 'E Eacute u0045_0301
844 .C2 'I Iacute u0049_0301
845 .C2 'O Oacute u004F_0301
846 .C2 'U Uacute u0055_0301
847 .C2 'Y Yacute u0059_0301
848 .C2 'a aacute u0061_0301
849 .C2 'c cacute u0063_0301
850 .C2 'e eacute u0065_0301
851 .C2 'i iacute u0069_0301
852 .C2 'o oacute u006F_0301
853 .C2 'u uacute u0075_0301
854 .C2 'y yacute u0079_0301
855 .C2 :A Adieresis u0041_0308 "A with umlaut"
856 .C2 :E Edieresis u0045_0308
857 .C2 :I Idieresis u0049_0308
858 .C2 :O Odieresis u004F_0308
859 .C2 :U Udieresis u0055_0308
860 .C2 :Y Ydieresis u0059_0308
861 .C2 :a adieresis u0061_0308
862 .C2 :e edieresis u0065_0308
863 .C2 :i idieresis u0069_0308
864 .C2 :o odieresis u006F_0308
865 .C2 :u udieresis u0075_0308
866 .C2 :y ydieresis u0079_0308
867 .C2 ^A Acircumflex u0041_0302
868 .C2 ^E Ecircumflex u0045_0302
869 .C2 ^I Icircumflex u0049_0302
870 .C2 ^O Ocircumflex u004F_0302
871 .C2 ^U Ucircumflex u0055_0302
872 .C2 ^a acircumflex u0061_0302
873 .C2 ^e ecircumflex u0065_0302
874 .C2 ^i icircumflex u0069_0302
875 .C2 ^o ocircumflex u006F_0302
876 .C2 ^u ucircumflex u0075_0302
877 .C2 `A Agrave u0041_0300
878 .C2 `E Egrave u0045_0300
879 .C2 `I Igrave u0049_0300
880 .C2 `O Ograve u004F_0300
881 .C2 `U Ugrave u0055_0300
882 .C2 `a agrave u0061_0300
883 .C2 `e egrave u0065_0300
884 .C2 `i igrave u0069_0300
885 .C2 `o ograve u006F_0300
886 .C2 `u ugrave u0075_0300
887 .C2 ~A Atilde u0041_0303
888 .C2 ~N Ntilde u004E_0303
889 .C2 ~O Otilde u004F_0303
890 .C2 ~a atilde u0061_0303
891 .C2 ~n ntilde u006E_0303
892 .C2 ~o otilde u006F_0303
893 .C2 vS Scaron u0053_030C
894 .C2 vs scaron u0073_030C
895 .C2 vZ Zcaron u005A_030C
896 .C2 vz zcaron u007A_030C
897 .C2 ,C Ccedilla u0043_0327
898 .C2 ,c ccedilla u0063_0327
899 .C2 oA Aring u0041_030A
900 .2e oa aring u0061_030A
907 request is used to map most of the accents to non-spacing glyph names;
908 the values given in parentheses are the original (spacing) ones.
914 .\" we don't use the third column
915 .CT "\fIOutput" "\f(CW\e[-D]" "" "quotesinglebase" "uCCCC (uCCCC)"
917 .2s a" hungarumlaut "u030B (u02DD)" "(Hungarian)"
918 .C2 a- macron "u0304 (u00AF)"
919 .C2 a. dotaccent "u0307 (u02D9)"
920 .C2 a^ circumflex "u0302 (u005E)"
921 .C2 aa acute "u0301 (u00B4)" "+"
922 .C2 ga grave "u0300 (u0060)" "+"
923 .C2 ab breve "u0306 (u02D8)"
924 .C2 ac cedilla "u0327 (u00B8)"
925 .C2 ad dieresis "u0308 (u00A8)" "umlaut"
926 .C2 ah caron "u030C (u02C7)" "h\('a\(vcek"
927 .C2 ao ring "u030A (u02DA)" "circle"
928 .C2 a~ tilde "u0303 (u007E)"
929 .C2 ho ogonek "u0328 (u02DB)" "hook"
930 .C2 ha asciicircum u005E "(spacing)"
931 .2e ti asciitilde u007E "(spacing)"
936 .2s Bq quotedblbase u201E "low double comma quote"
937 .C2 bq quotesinglbase u201A "low single comma quote"
938 .C2 lq quotedblleft u201C
939 .C2 rq quotedblright u201D
940 .C2 oq quoteleft u2018 "single open quote"
941 .C2 cq quoteright u2019 "single closing quote"
942 .C2 aq quotesingle u0027 "apostrophe quote (ASCII 39)"
943 .C2 dq quotedbl u0022 "double quote (ASCII 34)"
944 .C2 Fo guillemotleft u00AB
945 .C2 Fc guillemotright u00BB
946 .C2 fo guilsinglleft u2039
947 .2e fc guilsinglright u203A
952 .2s r! exclamdown u00A1
953 .C2 r? questiondown u00BF
954 .C2 em emdash u2014 "+"
956 .2e hy hyphen u2010 "+"
961 The extensible bracket pieces are font-invariant glyphs.
963 In classical troff only one glyph was available to vertically extend
964 brackets, braces, and parentheses: `bv'.
966 We map it rather arbitrarily to u23AA.
969 Note that not all devices contain extensible bracket pieces which can
970 be piled up with `\f(CW\eb\fP' due to the restrictions of the escape's
973 A general solution to build brackets out of pieces is the following
980 \&.\e" Make a pile centered vertically 0.5em
981 \&.\e" above the baseline.
982 \&.\e" The first argument is placed at the top.
983 \&.\e" The pile is returned in string `pile'
990 \&. nr pile-# \en[.$]
991 \&. while \en[pile-#] \e{\e
992 \&. nr pile-wd (\en[pile-wd] >? \ew'\e$[\en[pile-#]]')
993 \&. nr pile-ht +(\en[rst] - \en[rsb])
994 \&. as pile-args \ev'\en[rsb]u'\e"
995 \&. as pile-args \eZ'\e$[\en[pile-#]]'\e"
996 \&. as pile-args \ev'-\en[rst]u'\e"
1000 \&. ds pile \ev'(-0.5m + (\en[pile-ht]u / 2u))'\e"
1001 \&. as pile \e*[pile-args]\e"
1002 \&. as pile \ev'((\en[pile-ht]u / 2u) + 0.5m)'\e"
1003 \&. as pile \eh'\en[pile-wd]u'\e"
1011 Another complication is the fact that some glyphs which represent bracket
1012 pieces in original troff can be used for other mathematical symbols also,
1013 for example `lf' and `rf' which provide the `floor' operator.
1015 Other devices (most notably for DVI output) don't unify such glyphs.
1017 For this reason, the four glyphs `lf', `rf', `lc', and `rc' are not
1018 unified with similarly looking bracket pieces.
1022 only glyphs with long names are guaranteed to pile up correctly for all
1023 devices (provided those glyphs exist).
1026 .CT "\fIOutput" "\f(CW\e[bracketrightex]" "" "bracketrightex" "decomposed"
1028 .2s lB bracketleft u005B
1029 .C2 rB bracketright u005D
1030 .C2 lC braceleft u007B
1031 .C2 rC braceright u007D
1032 .C2 la angleleft u27E8 "left angle bracket"
1033 .C2 ra angleright u27E9 "right angle bracket"
1035 .C2 bv braceex u23AA "vertical extension *** +"
1036 .CN braceex braceex u23AA
1038 .CN bracketlefttp bracketlefttp u23A1
1039 .CN bracketleftbt bracketleftbt u23A3
1040 .CN bracketleftex bracketleftex u23A2
1041 .CN bracketrighttp bracketrighttp u23A4
1042 .CN bracketrightbt bracketrightbt u23A6
1043 .CN bracketrightex bracketrightex u23A5
1045 .C2 lt bracelefttp u23A7 "+"
1046 .CN bracelefttp bracelefttp u23A7
1047 .C2 lk braceleftmid u23A8 "+"
1048 .CN braceleftmid braceleftmid u23A8
1049 .C2 lb braceleftbt u23A9 "+"
1050 .CN braceleftbt braceleftbt u23A9
1051 .CN braceleftex braceleftex u23AA
1052 .C2 rt bracerighttp u23AB "+"
1053 .CN bracerighttp bracerighttp u23AB
1054 .C2 rk bracerightmid u23AC "+"
1055 .CN bracerightmid bracerightmid u23AC
1056 .C2 rb bracerightbt u23AD "+"
1057 .CN bracerightbt bracerightbt u23AD
1058 .CN bracerightex bracerightex u23AA
1060 .CN parenlefttp parenlefttp u239B
1061 .CN parenleftbt parenleftbt u239D
1062 .CN parenleftex parenleftex u239C
1063 .CN parenrighttp parenrighttp u239E
1064 .CN parenrightbt parenrightbt u23A0
1065 .Ne parenrightex parenrightex u239F
1070 .2s <- arrowleft u2190 "+"
1071 .C2 -> arrowright u2192 "+"
1072 .C2 <> arrowboth u2194 "(horizontal)"
1073 .C2 da arrowdown u2193 "+"
1074 .C2 ua arrowup u2191 "+"
1075 .C2 va arrowupdn u2195
1076 .C2 lA arrowdblleft u21D0
1077 .C2 rA arrowdblright u21D2
1078 .C2 hA arrowdblboth u21D4 "(horizontal)"
1079 .C2 dA arrowdbldown u21D3
1080 .C2 uA arrowdblup u21D1
1081 .C2 vA uni21D5 u21D5 "vertical double-headed double arrow"
1082 .2e an arrowhorizex u23AF "horizontal arrow extension"
1087 The font-invariant glyphs `br', `ul', and `rn' form corners;
1088 they can be used to build boxes.
1090 Note that both the PostScript and the Unicode-derived names of
1091 these three glyphs are just rough approximations.
1094 `rn' also serves in classical troff as the horizontal extension of the
1098 `ru' is a font-invariant glyph, namely a rule of length 0.5m.
1101 .CT "\fIOutput" "\f(CW\e[integral]" "" "propersuperset" "decomposed"
1104 .C2 br SF110000 u2502 "box rule +"
1105 .C2 ul underscore u005F "+"
1106 .C2 rn overline u203E "use `\f(CW\e[radicalex]\fP' for continuation of square root +"
1107 .C2 ru --- --- "baseline rule +"
1108 .C2 bb brokenbar u00A6
1109 .C2 sl slash u002F "+"
1110 .2e rs backslash u005C "reverse solidus"
1115 .2s ci circle u25CB "+"
1116 .C2 bu bullet u2022 "+"
1117 .C2 dd daggerdbl u2021 "double dagger sign +"
1118 .C2 dg dagger u2020 "+"
1119 .C2 lz lozenge u25CA
1120 .C2 sq uni25A1 u25A1 "white square +"
1121 .C2 ps paragraph u00B6
1122 .C2 sc section u00A7 "+"
1123 .C2 lh uni261C u261C "hand pointing left +"
1124 .C2 rh a14 u261E "hand pointing right +"
1126 .C2 sh numbersign u0023
1127 .C2 CR carriagereturn u21B5
1128 .2e OK a19 u2713 "check mark, tick"
1133 .2s co copyright u00A9 "+"
1134 .C2 rg registered u00AE "+"
1135 .C2 tm trademark u2122
1136 .2e bs --- --- "AT&T Bell Labs logo (not used in groff) +"
1142 .C2 ct cent u00A2 "+"
1143 .C2 eu --- u20AC "official Euro symbol"
1144 .C2 Eu Euro u20AC "font-specific Euro glyph variant"
1146 .C2 Po sterling u00A3 "British currency sign"
1147 .C2 Cs currency u00A4 "Scandinavian currency sign"
1148 .2e Fn florin u0192 "Dutch currency sign"
1153 .2s de degree u00B0 "+"
1154 .C2 %0 perthousand u2030 "per thousand, per mille sign"
1155 .C2 fm minute u2032 "footmark, prime +"
1157 .C2 mc mu u00B5 "micro sign"
1158 .C2 Of ordfeminine u00AA
1159 .2e Om ordmasculine u00BA
1164 .2s AN logicaland u2227
1165 .C2 OR logicalor u2228
1166 .C2 no logicalnot u00AC "+"
1167 .CN tno logicalnot u00AC "text variant of `no'"
1168 .C2 te existential u2203 "there exists, existential quantifier"
1169 .C2 fa universal u2200 "for all, universal quantifier"
1170 .C2 st suchthat u220B
1171 .C2 3d therefore u2234
1172 .C2 tf therefore u2234
1174 .2e or bar u007C "bitwise OR operator (as used in C) +"
1177 .I Mathematical Symbols
1179 .2s 12 onehalf u00BD "+"
1180 .C2 14 onequarter u00BC "+"
1181 .C2 34 threequarters u00BE "+"
1182 .C2 18 oneeighth u215B
1183 .C2 38 threeeighths u215C
1184 .C2 58 fiveeighths u215D
1185 .C2 78 seveneighths u215E
1186 .C2 S1 onesuperior u00B9
1187 .C2 S2 twosuperior u00B2
1188 .C2 S3 threesuperior u00B3
1190 .C2 pl plus u002B "plus sign in special font +"
1191 .C2 mi minus u2212 "minus sign in special font +"
1192 .C2 -+ uni2213 u2213
1193 .C2 +- plusminus u00B1 "+"
1194 .CN t+- plusminus u00B1 "text variant of `+\-'"
1195 .C2 pc periodcentered u00B7
1196 .C2 md dotmath u22C5 "multiplication dot"
1197 .C2 mu multiply u00D7 "+"
1198 .CN tmu multiply u00D7 "text variant of `mu'"
1199 .C2 c* circlemultiply u2297 "multiply sign in a circle"
1200 .C2 c+ circleplus u2295 "plus sign in a circle"
1201 .C2 di divide u00F7 "division sign +"
1202 .CN tdi divide u00F7 "text variant of `di'"
1203 .C2 f/ fraction u2044 "bar for fractions"
1204 .C2 ** asteriskmath u2217 "+"
1206 .C2 <= lessequal u2264 "+"
1207 .C2 >= greaterequal u2265 "+"
1208 .C2 << uni226A u226A "much less"
1209 .C2 >> uni226B u226B "much greater"
1210 .C2 eq equal u003D "equals sign in special font +"
1211 .C2 != notequal u003D_0338 "+"
1212 .C2 == equivalence u2261 "+"
1213 .C2 ne uni2262 u2261_0338
1214 .C2 =~ congruent u2245 "approx.\& equal"
1215 .C2 |= uni2243 u2243 "asymptot.\& equal to +"
1216 .C2 ap similar u223C "+"
1217 .C2 ~~ approxequal u2248 "almost equal to"
1218 .C2 ~= approxequal u2248
1219 .C2 pt proportional u221D "+"
1221 .C2 es emptyset u2205 "+"
1222 .C2 mo element u2208 "+"
1223 .C2 nm notelement u2208_0338
1224 .C2 sb propersubset u2282 "+"
1225 .C2 nb notsubset u2282_0338
1226 .C2 sp propersuperset u2283 "+"
1227 .C2 nc uni2285 u2283_0338 "not superset"
1228 .C2 ib reflexsubset u2286 "+"
1229 .C2 ip reflexsuperset u2287 "+"
1230 .C2 ca intersection u2229 "intersection, cap +"
1231 .C2 cu union u222A "union, cup +"
1234 .C2 pp perpendicular u22A5
1235 .C2 is integral u222B "+"
1236 .CN integral integral u222B "***"
1237 .CN sum summation u2211 "***"
1238 .CN product product u220F "***"
1239 .CN coproduct uni2210 u2210 "***"
1240 .C2 gr gradient u2207 "+"
1241 .C2 sr radical u221A "square root +"
1242 .CN sqrt radical u221A "***"
1243 .CN radicalex radicalex --- "continuation of square root"
1244 .CN sqrtex radicalex --- "***"
1246 .C2 lc uni2308 u2308 "left ceiling +"
1247 .C2 rc uni2309 u2309 "right ceiling +"
1248 .C2 lf uni230A u230A "left floor +"
1249 .C2 rf uni230B u230B "right floor +"
1251 .C2 if infinity u221E "+"
1253 .C2 Im Ifraktur u2111 "Gothic I, imaginary"
1254 .C2 Re Rfraktur u211C "Gothic R, real"
1255 .C2 wp weierstrass u2118 "Weierstrass p"
1256 .C2 pd partialdiff u2202 "partial differentiation sign +"
1257 .C2 -h uni210F u210F "Planck constant over two pi"
1258 .2e hbar uni210F u210F
1263 These glyphs are intended for technical use, not for real Greek; normally,
1264 the uppercase letters have upright shape, and the lowercase ones are
1267 There is a problem with the mapping of letter phi to Unicode.
1269 Prior to Unicode version\ 3.0, the difference between U+03C6, GREEK
1270 SMALL LETTER PHI, and U+03D5, GREEK PHI SYMBOL, was not clearly described;
1271 only the glyph shapes in the Unicode book could be used as a reference.
1273 Starting with Unicode\ 3.0, the reference glyphs have been exchanged and
1274 described verbally also: In mathematical context, U+03D5 is the stroked
1275 variant and U+03C6 the curly glyph.
1277 Unfortunately, most font vendors didn't update their fonts to
1278 this (incompatible) change in Unicode.
1280 At the time of this writing (January 2006), it is not clear yet whether
1281 the Adobe Glyph Names `phi' and `phi1' also change its meaning if used for
1282 mathematics, thus compatibility problems are likely to happen \(en being
1283 conservative, groff currently assumes that `phi' in a PostScript symbol
1284 font is the stroked version.
1286 In groff, symbol `\f(CW\e[*f]\fP' always denotes the stroked version of
1287 phi, and `\f(CW\e[+f]\fP' the curly variant.
1289 .2s *A Alpha u0391 "+"
1290 .C2 *B Beta u0392 "+"
1291 .C2 *G Gamma u0393 "+"
1292 .C2 *D Delta u0394 "+"
1293 .C2 *E Epsilon u0395 "+"
1294 .C2 *Z Zeta u0396 "+"
1295 .C2 *Y Eta u0397 "+"
1296 .C2 *H Theta u0398 "+"
1297 .C2 *I Iota u0399 "+"
1298 .C2 *K Kappa u039A "+"
1299 .C2 *L Lambda u039B "+"
1303 .C2 *O Omicron u039F "+"
1305 .C2 *R Rho u03A1 "+"
1306 .C2 *S Sigma u03A3 "+"
1307 .C2 *T Tau u03A4 "+"
1308 .C2 *U Upsilon u03A5 "+"
1309 .C2 *F Phi u03A6 "+"
1310 .C2 *X Chi u03A7 "+"
1311 .C2 *Q Psi u03A8 "+"
1312 .C2 *W Omega u03A9 "+"
1313 .C2 *a alpha u03B1 "+"
1314 .C2 *b beta u03B2 "+"
1315 .C2 *g gamma u03B3 "+"
1316 .C2 *d delta u03B4 "+"
1317 .C2 *e epsilon u03B5 "+"
1318 .C2 *z zeta u03B6 "+"
1319 .C2 *y eta u03B7 "+"
1320 .C2 *h theta u03B8 "+"
1321 .C2 *i iota u03B9 "+"
1322 .C2 *k kappa u03BA "+"
1323 .C2 *l lambda u03BB "+"
1327 .C2 *o omicron u03BF "+"
1329 .C2 *r rho u03C1 "+"
1330 .C2 ts sigma1 u03C2 "terminal sigma +"
1331 .C2 *s sigma u03C3 "+"
1332 .C2 *t tau u03C4 "+"
1333 .C2 *u upsilon u03C5 "+"
1334 .C2 *f phi u03D5 "(stroked glyph)+"
1335 .C2 *x chi u03C7 "+"
1336 .C2 *q psi u03C8 "+"
1337 .C2 *w omega u03C9 "+"
1338 .C2 +h theta1 u03D1 "variant theta"
1339 .C2 +f phi1 u03C6 "variant phi (curly shape)"
1340 .C2 +p omega1 u03D6 "variant pi, looking like omega"
1341 .2e +e uni03F5 u03F5 "variant epsilon"
1346 .2s CL club u2663 "black club suit"
1347 .C2 SP spade u2660 "black spade suit"
1348 .C2 HE heart u2665 "black heart suit"
1349 .C2 u2662 uni2662 u2662 "white heart suit"
1350 .C2 DI diamond u2666 "black diamond suit"
1351 .2e u2661 uni2661 u2661 "white diamond suit"
1354 .\" --------------------------------------------------------------------
1356 .\" --------------------------------------------------------------------
1358 Copyright \(co 1989-2000, 2001, 2002, 2003,
1359 2004, 2006, 2008 Free Software Foundation, Inc.
1362 This document is distributed under the terms of the FDL (GNU Free
1363 Documentation License) version 1.1 or later.
1365 You should have received a copy of the FDL on your system, it is also
1366 available on-line at the
1367 .UR http://\:www.gnu.org/\:copyleft/\:fdl.html
1372 This document is part of
1374 the GNU roff distribution.
1390 .\" --------------------------------------------------------------------
1392 .\" --------------------------------------------------------------------
1395 .BR groff (@MAN1EXT@)
1396 the GNU roff formatter
1399 .BR groff (@MAN7EXT@)
1400 a short reference of the groff formatting language
1404 .IR "An extension to the troff character set for Europe" ,
1405 E.G. Keizer, K.J. Simonsen, J. Akkerhuis; EUUG Newsletter, Volume 9,
1410 .UR http://\:www.unicode.org
1411 The Unicode Standard
1414 .cp \n[groff_char_C]
1416 .\" --------------------------------------------------------------------
1418 .\" --------------------------------------------------------------------
1419 .\" Local Variables: