summaryrefslogtreecommitdiffstats
path: root/contrib/groff/man
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2003-05-01 13:09:50 +0000
committerru <ru@FreeBSD.org>2003-05-01 13:09:50 +0000
commitc96557721be60d942f4d486b9ea7f9b7cbb034cc (patch)
tree5bb520ef39570cf7c612b59697308ed396ca84e0 /contrib/groff/man
parentf78d5fa81a0b603b2741c98c8f48ce8245a18a4c (diff)
downloadFreeBSD-src-c96557721be60d942f4d486b9ea7f9b7cbb034cc.zip
FreeBSD-src-c96557721be60d942f4d486b9ea7f9b7cbb034cc.tar.gz
Virgin import of FSF groff v1.19
Diffstat (limited to 'contrib/groff/man')
-rw-r--r--contrib/groff/man/groff.man66
-rw-r--r--contrib/groff/man/groff_char.man1697
-rw-r--r--contrib/groff/man/groff_diff.man286
-rw-r--r--contrib/groff/man/groff_font.man38
-rw-r--r--contrib/groff/man/groff_out.man21
-rw-r--r--contrib/groff/man/groff_tmac.man132
-rw-r--r--contrib/groff/man/roff.man9
7 files changed, 1450 insertions, 799 deletions
diff --git a/contrib/groff/man/groff.man b/contrib/groff/man/groff.man
index 1e9128d..8238717 100644
--- a/contrib/groff/man/groff.man
+++ b/contrib/groff/man/groff.man
@@ -2,11 +2,11 @@
.ig
groff.man
-Last update: 29 June 2002
+Last update: 13 Feb 2003
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>
@@ -1329,6 +1329,13 @@ If
.I N
is zero disable colors, otherwise enable them.
.
+.REQ .composite from to
+Map glyph name
+.I from
+to glyph name
+.I to
+while constructing a composite glyph name.
+.
.REQ .continue
Finish the current iteration of a while loop.
.
@@ -1543,6 +1550,19 @@ name to short
name on position
.IR n .
.
+.REQ .fschar f c anything
+Define fallback character
+.I c
+for font
+.I f
+as string
+.IR anything .
+.
+.REQ .fspecial font
+Reset list of special fonts for
+.I font
+to be empty.
+.
.REQ .fspecial font s1 s2 .\|.\|.\&
When the current font is
.IR font ,
@@ -1704,6 +1724,10 @@ If
.I n
is zero, disable line-tabs mode, otherwise enable it.
.
+.REQ .lf N
+Set input line number to
+.IR N .
+.
.REQ .lf N file
Set input line number to
.I N
@@ -1939,6 +1963,14 @@ Read insertion.
.REQ .return
Return from a macro.
.
+.REQ .rfschar f c1 c2 .\|.\|.\&
+Remove the definitions of characters
+.IR c1 ,
+.IR c2 ,
+.I .\|.\|.\&
+for font
+.IR f .
+.
.REQ .rj n
Right justify the next
.I n
@@ -1973,6 +2005,12 @@ Return
to marked vertical place (default scaling indicator\~\c
.scaleindicator v ).
.
+.REQ .schar c anything
+Define global fallback character
+.I c
+as string
+.IR anything .
+.
.REQ .shc
Reset soft hyphen character to
.esc (hy .
@@ -2007,6 +2045,9 @@ up or down according to sign of
(default scaling indicator\~\c
.scaleindicator v ).
.
+.REQ .special
+Reset global list of special fonts to be empty.
+.
.REQ .special s1 s2 .\|.\|.\&
Fonts
.IR s1 ,
@@ -2509,9 +2550,15 @@ see section
.BR "Special Characters" .
.
.ESC[] "" name
-The named character with arbitrary length name
+The named character (or rather glyph) with arbitrary length name
.IR name .
.
+.ESC[] "" "comp1 comp2 .\|.\|."
+A composite glyph with components
+.IR comp1 ,
+.IR comp2 ,
+.I .\|.\|.
+.
.\" --------- alphabetical escapes ---------
.
.ESC a
@@ -3023,6 +3070,10 @@ Text base-line high-water mark on current page or diversion.
.REG .H
Available horizontal resolution in basic units.
.
+.REG .height
+The current font height as set with
+.request \[rs]H .
+.
.REG .hla
The current hyphenation language as set by the
.B .hla
@@ -3106,6 +3157,9 @@ Current page offset.
.REG .p
Current page length.
.
+.REG .pe
+1\~during page ejection, 0\~otherwise.
+.
.REG .pn
The number of the next page: either the value set by a
.request pn
@@ -3126,6 +3180,10 @@ The number of lines to be right-justified as set by the rj request.
.REG .s
Current point size as a decimal fraction.
.
+.REG .slant
+The slant of the current font as set with
+.request \[rs]S .
+.
.REG .sr
The last requested pointsize in points as a decimal fraction
(string-valued).
@@ -3366,7 +3424,7 @@ be reproduced, and say which version of groff you are using.
.SH AUTHORS
.\" --------------------------------------------------------------------
.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
.
.P
This document is distributed under the terms of the FDL (GNU Free
diff --git a/contrib/groff/man/groff_char.man b/contrib/groff/man/groff_char.man
index be73941..ed078e5 100644
--- a/contrib/groff/man/groff_char.man
+++ b/contrib/groff/man/groff_char.man
@@ -1,6 +1,6 @@
.TH GROFF_CHAR @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
-groff_char \- groff character names
+groff_char \- groff glyph names
.SH DESCRIPTION
.\" The lines above were designed to satisfy `apropos'.
.
@@ -17,9 +17,9 @@ groff_char(7)
This file is part of groff (GNU roff).
File position: <groff_src_top>/man/groff_char.man
-Last update: 20 July 2002
+Last update: 24 Feb 2003
-Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc.
written by Werner Lemberg <wl@gnu.org>
with additions by Bernd Warken <bwarken@mayn.de>
@@ -49,185 +49,356 @@ FDL in the main directory of the groff source package.
.
.\" groff
.if !\n(.g .ig
-. tr \[aq]\[aq]
-. if !c\[aq] \
-. ds aq \'
-. \" This is very special. The standard devdvi fonts don't have a
-. \" real `aq' glyph; it is defined with .char to be ' instead.
-. \" The .tr request below in the definition of the C macro maps
-. \" the apostrophe ' onto the `aq' glyph which would cause a
-. \" recursive loop. gtroff prevents this within the .char
-. \" request, trying to access glyph `aq' directly from the font.
-. \" Consequently, we get a warning, and nothing is printed.
-. \"
-. \" The following line prevents this.
-. if '\*[.T]'dvi' \
-. if !r ECFONTS \
-. ds aq \'
-. \" The same is true for X
-. ds dev \*[.T]
-. substring dev 0 0
-. if '\*[dev]'X' .ds aq \'
-. ig
+. tr \[aq]\[aq]
+. if !c\[aq] \
+. ds aq \'
+. \" This is very special. The standard devdvi fonts don't have a
+. \" real `aq' glyph; it is defined with .char to be ' instead.
+. \" The .tr request below in the definition of the C macro maps
+. \" the apostrophe ' onto the `aq' glyph which would cause a
+. \" recursive loop. gtroff prevents this within the .char
+. \" request, trying to access glyph `aq' directly from the font.
+. \" Consequently, we get a warning, and nothing is printed.
+. \"
+. \" The following line prevents this.
+. if '\*[.T]'dvi' \
+. if !r ECFONTS \
+. ds aq \'
+. \" The same is true for X
+. ds dev \*[.T]
+. substring dev 0 0
+. if '\*[dev]'X' .ds aq \'
+. ig
..
+.
.\" --------------------------------------------------------------------
.\" .Ac accented-char accent char (groff)
+.
.if !\n(.g .ig
.de Ac
-. char \\$1 \\$3\
-\k[acc]\h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\
-\v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\\$2\
-\v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\h'|\\\\n[acc]u'
-. hcode \\$1 \\$3
+. if !c\\$1 \{\
+. ie c\\$2 \
+. char \\$1 \
+\k[acc]\
+\h'\w'\\$3'u'\
+\h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\
+\v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\
+\\$2\
+\v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\
+\h'|\\\\n[acc]u'\
+\\$3
+. el \
+. char \\$1 \\$3
+. hcode \\$1 \\$3
+. \}
..
-.Ac \(vc \(ah c
-.Ac \(vC \(ah C
-.
.
.\" --------------------------------------------------------------------
.\" Setup Part 2
.\" --------------------------------------------------------------------
.
-.nr Sp 3n
-.ta \w'\fIOutput'u+\n(Spu \
- +\w'\fIInput'u+\n(Spu \
- +\w'\fIInput'u+\n(Spu \
- +\w'periodcentered'u+\n(Spu
+.nr Sp 2n
.
.\" --------------------------------------------------------------------
-.de C0
-. C \\$1 "" \\$1 \\$2 "\\$3"
+.\" .C2/.CN (groff)
+.
+.if !\n(.g .ig
+.de CN
+. C \e[\\$1] "" \[\\$1] \\$2 "\\$3" "\\$4"
..
.
-.\" --------------------------------------------------------------------
-.de C1
-. C \e\\$1 "" \\\\\\$1 \\$2 "\\$3"
+.\" .Ns (groff) start .CN block
+.
+.if !\n(.g .ig
+.de Ns
+. CN "\\$1" "\\$2" "\\$3" "\\$4"
+. if !\n[cR] \
+. wh (\\n[nl]u + \\n[.t]u - \\n[.V]u) Fo
..
.
-.\" --------------------------------------------------------------------
-.\" .C2/.CN (groff)
+.\" .Ne (groff) end .CN block
+.
.if !\n(.g .ig
-.de CN
-. C \e[\\$1] "" \[\\$1] \\$2 "\\$3"
+.de Ne
+. ch Fo
+. CN "\\$1" "\\$2" "\\$3" "\\$4"
..
-.if \n(.g .als C2 CN
+.
+.if \n(.g \{\
+. als C2 CN
+. als 2s Ns
+. als 2e Ne
+.\}
.
.\" --------------------------------------------------------------------
.\" .C2 (non-groff)
+.
.if \n(.g .ig
.de C2
-. C \e(\\$1 "" \\(\\$1 \\$2 "\\$3"
+. C \e(\\$1 "" \\(\\$1 \\$2 "\\$3" "\\$4"
+..
+.
+.\" .2s (non-groff) start .C2 block
+.
+.if \n(.g .ig
+.de 2s
+. C2 "\\$1" "\\$2" "\\$3" "\\$4"
+. if !\n(cR \
+. wh \\n(nlu+\\n(.tu-\\n(.Vu Fo
+..
+.
+.\" .2e (non-groff) end .C2 block
+.
+.if \n(.g .ig
+.de 2e
+. ch Fo
+. C2 "\\$1" "\\$2" "\\$3" "\\$4"
..
.
.\" --------------------------------------------------------------------
.\" .CD (groff)
+.
.if !\n(.g .ig
.de CD
-. C \[char\\$1] \\$1 \[char\\$1] \\$2 "\\$3"
+. C \[char\\$1] \\$1 \[char\\$1] \\$2 "\\$3" "\\$4" 1
+..
+.
+.\" .Ds (groff) start .CD block
+.
+.if !\n(.g .ig
+.de Ds
+. CD "\\$1" "\\$2" "\\$3" "\\$4"
+. if !\n[cR] \
+. wh (\\n[nl]u + \\n[.t]u - \\n[.V]u) Fo
+..
+.
+.\" .De (groff) end .CD block
+.
+.if !\n(.g .ig
+.de De
+. ch Fo
+. CD "\\$1" "\\$2" "\\$3" "\\$4"
..
.
.\" --------------------------------------------------------------------
+.
.do if !r ECFONTS .do fspecial CR R
.
+.\" .CT
+.
+.de CT
+. nr c1 \w'\\$1'
+. if \\n(c1 \
+. nr c1 +\\n(Spu
+. nr c2 \\n(c1+\w'\\$2'
+. if \\n(c1<\\n(c2 \
+. nr c2 +\\n(Spu
+. nr c3 \\n(c2+\w'\\$3'
+. if \\n(c2<\\n(c3 \
+. nr c3 +\\n(Spu
+. nr c4 \\n(c3+\w'\\$4'
+. if \\n(c3<\\n(c4 \
+. nr c4 +\\n(Spu
+. nr c5 \\n(c4+\w'\\$5'
+. if \\n(c4<\\n(c5 \
+. nr c5 +\\n(Spu
+..
+.
+.\" .CL
+.
+.de CL
+\\$1\c
+\h'\\n(c1u-\\n(.ku'\\$2\c
+\h'\\n(c2u-\\n(.ku'\\$3\c
+\h'\\n(c3u-\\n(.ku'\\$4\c
+\h'\\n(c4u-\\n(.ku'\\$5\c
+\h'\\n(c5u-\\n(.ku'\\$6
+. br
+..
+.
.\" --------------------------------------------------------------------
-.\" input-name decimal-code output-name ps-name description
+.\" input-name decimal-code output-name ps-name unicode description is-char
.\" .C (groff)
+.
.if !\n(.g .ig
.de C
-. if c\\$3 \{\
-. ft CR
-. tr `\`'\*[aq]
-. in 0
-. di CH
-. nop \&\\$1
-. br
-. di
-. in
-. ft
-. ds CH \\*[CH]\
-. tr ``''
-. nop \&\\$3\t\\*[CH]\t\\$2\t\\$4\t\\$5
-. \}
+. nr CH 1
+. if \\$7 \
+. if !c\\$1 \
+. nr CH 0
+. ie !\\n[CH] \
+. ds CH
+. el \{\
+. ft CR
+. tr `\`'\*[aq]
+. in 0
+. di CH
+. nop \&\\$1
+. br
+. di
+. chop CH
+. in
+. ft
+. ds CH \\*[CH]
+. tr ``''
+. \}
+. di CC
+. ie c\\$3 \{\
+. nop \\&\\$3\c
+. \" The \x values assure that oversized symbols don't
+. \" overlap vertically. The constant 1.5p is heuristic.
+. nop \x'(\w'('*0 - ((\\n[.cht]u - \\n[rst]u - 1.5p) >? 0))'\c
+. nop \x'((\\n[.cdp]u + \\n[rsb]u - 1.5p) >? 0)'\c
+. nop \h'(\\n[c1]u - \\n[.k]u)'\\*[CH]\c
+. nop \h'(\\n[c2]u - \\n[.k]u)'\\$2\c
+. \}
+. el \{\
+. nop (N/A)\c
+. nop \h'(\\n[c1]u - \\n[.k]u)'\\*[CH]\c
+. \}
+. nop \h'(\\n[c3]u - \\n[.k]u)'\\$4\c
+. nop \h'(\\n[c4]u - \\n[.k]u)'\\$5\c
+. br
+. di
+. \" we move upwards later on so force a page break now if necessary
+. if (\\n[dn] >= \\n[.t]) \
+. bp
+. mk C1
+. in 0
+. CC
+. in
+. \" allow multiple lines for last column
+. in +\\n[c5]u
+. mk C2
+. sp |\\n[C1]u
+. nr PN \\n[%]
+. ad l
+. nop \\$6
+. ad b
+. in
+. if (\\n[PN] == \\n[%]) \
+. if (\\n[nl] < \\n[C2]) \
+. sp |\\n[C2]u
..
.
.\" --------------------------------------------------------------------
.\" .C (non-groff)
+.
.if \n(.g .ig
.de C
-. if !'\\$3'' \{\
-. ft B
-. tr `\`'\*(aq
-. in 0
-. di CH
+. ft B
+. tr `\`'\*(aq
+. in 0
+. di CH
\&\\$1
-. br
-. di
-. in
-. ft
-. ds CH \\*(CH\
-. tr ``''
-\&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5
-. \}
+. br
+. di
+. in
+. ft
+. ds CH \\*(CH\
+. tr ``''
+. di CC
+. ie !'\\$3'' \{\
+\&\\$3\c
+\h'\\n(c1u-\\n(.ku)'\\*(CH\c
+\h'\\n(c2u-\\n(.ku)'\\$2\c
+\h'\\n(c3u-\\n(.ku)'\\$4\c
+. \}
+. el \{\
+(N/A)\c
+\h'\\n(c1u-\\n(.ku)'\\*(CH\c
+\h'\\n(c3u-\\n(.ku)'\\$4\c
+. \}
+\h'\\n(c4u-\\n(.ku)'\\$5\c
+\h'\\n(c5u-\\n(.ku)'\\$6
+. br
+. di
+. \" we move upwards later on so force a page break now if necessary
+. if \\n(dn>=\\n(.t \
+. bp
+. mk C1
+. in 0
+. CC
+. in
+. \" allow multiple lines for last column
+. in +\\n(c5u
+. mk C2
+. sp |\\n(C1u
+. nr PN \\n%
+. ad l
+\\$6
+. ad b
+. in
+. if \\n(PN==\\n% \
+. if \\n(nl<\\n(C2 \
+. sp |\\n(C2u
..
.
.\" --------------------------------------------------------------------
+.
.de Fo
-'bp
-.He
+' bp
+. He
..
.
-.\" --------------------------------------------------------------------
-.de He
-.P
-'nf
-.ft I
-Output Input Input PostScript Notes
- name code name
-.ft
-.P
+.de Pa
+. P
+. ne 3
..
.
+.
+.
.\" --------------------------------------------------------------------
.\" .SH DESCRIPTION
.\" --------------------------------------------------------------------
.
This manual page lists the standard
.B groff
-input characters.
+glyph names and the default input mapping, \%latin-1.
.
-The output characters in this document will look different depending
+The glyphs in this document will look different depending
on which output device was chosen (with option
.B \-T
for the
.BR man (1)
program or the roff formatter).
.
-Only the characters that are available for the device that
-is being used to print or view this manual page will be
-.ie \n(.g displayed (the device currently used is `\*(.T').
-.el displayed.
+Glyphs not available for the device that
+is being used to print or view this manual page will be marked with
+.ie \n(.g `(N/A)'; the device currently used is `\*(.T'.
+.el `(N/A)'.
.
.
.P
In the actual version,
.B groff
-provides only 8-bit characters for direct input and named characters
+provides only \%8-bit characters for direct input and named entities
for further glyphs.
.
-On ASCII platforms, character codes in the range 0 to 127 (decimal)
-represent the usual 7-bit ASCII characters, while codes between 127
+On ASCII platforms, input character codes in the range 0 to 127 (decimal)
+represent the usual \%7-bit ASCII characters, while codes between 127
and 255 are interpreted as the corresponding characters in the
-.I Latin-1
-.RI ( ISO-8859-1 )
-code set.
+.I \%Latin-1
+.RI ( \%ISO-8859-1 )
+code set by default.
+.
+This mapping is contained in the file \f(CWlatin1.tmac\fP
+and can be changed by loading a different input encoding.
+.
+Note that some of the input characters are reserved by
+.BR groff ,
+either for internal use or for special input purposes.
.
-On EBCDIC platforms, only the code page
+On EBCDIC platforms, only code page
.B cp1047
-is supported (which contains the same characters as Latin-1).
+is supported (which contains the same characters as \%Latin-1; the
+input encoding file is called \f(CWcp1047.tmac\fP).
+.
+Again, some input characters are reserved for internal and special purposes.
.
It is rather straightforward (for the experienced user) to set up other
-8bit encodings like
-.IR Latin-2 ;
+\%8-bit encodings like
+.IR \%Latin-2 ;
since
.B groff
will use Unicode in the next major version, no additional encodings
@@ -235,13 +406,13 @@ are provided.
.
.
.P
-All roff systems provide the concept of named characters.
+All roff systems provide the concept of named glyphs.
.
In traditional roff systems, only names of length\ 2 were used, while
groff also provides support for longer names.
.
-It is strongly suggested that only named characters are used for all
-characters outside of the 7-bit ASCII range.
+It is strongly suggested that only named glyphs are used for all
+character representations outside of the printable \%7-bit ASCII range.
.
.
.P
@@ -249,30 +420,21 @@ Some of the predefined groff escape sequences (with names of length\ 1)
also produce single characters; these exist for historical reasons or
are printable versions of syntactical characters.
.
-They include
-.BR \e\e ,
-.BR \e' ,
-.BR \e` ,
-.BR \e- ,
-.BR \e. ,
-and
-.BR \ee ;
-see
+They include `\f(CW\e\e\fP', `\f(CW\e\'\fP', `\f(CW\e`\fP', `\f(CW\e-\fP',
+`\f(CW\e.\fP', and `\f(CW\ee\fP'; see
.BR groff (@MAN7EXT@).
.
.
.P
-In groff, all of these different types of characters can be tested
-positively with the
-.B .if\ c
-conditional.
+In groff, all of these different types of characters and glyphs can be
+tested positively with the `\f(CW.if\ c\fP' conditional.
.
.
.\" --------------------------------------------------------------------
.SH REFERENCE
.\" --------------------------------------------------------------------
.
-In this section, the characters in groff are specified in tabular
+In this section, the glyphs in groff are specified in tabular
form.
.
The meaning of the columns is as follows.
@@ -280,719 +442,918 @@ The meaning of the columns is as follows.
.
.TP
.I "Output"
-shows how the character is printed for the current device; although
+shows how the glyph is printed for the current device; although
this can have quite a different shape on other devices, it always
represents the same glyph.
.
.
.TP
.I "Input name"
-specifies how the character is input either directly by a key on the
+specifies how the glyph is input either directly by a key on the
keyboard, or by a groff escape sequence.
.
.
.TP
.I "Input code"
-applies to characters which can be input with a single character, and
-gives the ISO Latin-1 decimal code of that input character.
+applies to glyphs which can be input with a single character, and
+gives the ISO \%Latin-1 decimal code of that input character.
.
-Note that this code is equivalent to the lowest 256 Unicode characters;
-(including 7-bit ASCII in the range 0 to\ 127).
+Note that this code is equivalent to the lowest 256 Unicode characters,
+including \%7-bit ASCII in the range 0 to\ 127.
.
.
.TP
.I "PostScript name"
-gives the usual PostScript name of the output character.
+gives the usual PostScript name of the glyph.
+.
+.
+.TP
+.I "Unicode decomposed"
+is the glyph name used in composite glyph names.
+.
.
.
.\" --------------------------------------------------------------------
-.SS "ASCII Characters"
+.SS "7-bit Character Codes 32-126"
.\" --------------------------------------------------------------------
.
-These are the basic characters having 7-bit ASCII code values.
+These are the basic glyphs having 7-bit ASCII code values assigned.
.
-These are identical to the first 127 characters of the character
-standards ISO-8859-1 (Latin-1) and Unicode (range
+They are identical to the printable characters of the
+character standards \%ISO-8859-1 (\%Latin-1) and Unicode (range
.IR "C0 Controls and Basic Latin" ).
.
-To save space, not every code has an entry in the following because
-the following code ranges are well known.
+The glyph names used in composite glyph names are `u0020' up to `u007E'.
+.
+.
+.P
+Note that input characters in the range \%0\-31 and character 127 are
+.I not
+printable characters.
+.
+Most of them are invalid input characters for
+.B groff
+anyway, and the valid ones have special meaning.
+.
+For EBCDIC, the printable characters are in the range \%66\-255.
.
-.TP
-0\-32
-Control characters (print as themselves).
.
.TP
48\-57
-Decimal digits 0 to 9 (print as themselves).
+Decimal digits 0 to\ 9 (print as themselves).
+.
.
.TP
65\-90
Upper case letters A\-Z (print as themselves).
.
+.
.TP
97\-122
Lower case letters a\-z (print as themselves).
.
-.TP
-127
-Control character (prints as itself).
.
.P
-The remaining ranges constitute the printable, non-alphanumeric ASCII
-characters; only these are listed below.
-.
-As can be seen in the table below, most of these characters print as
+Most of the remaining characters not in the just described ranges print as
themselves; the only exceptions are the following characters:
.
+.
.TP
.B \`
-the ISO Latin-1 `Grave Accent' (code\ 96) prints as `, a left single
-quotation mark,
+the ISO \%Latin-1 `Grave Accent' (code\ 96) prints as `, a left single
+quotation mark; the original character can be obtained with `\f(CW\e`\fP'.
+.
.
.TP
.B \*(aq
-the ISO Latin-1 `Apostrophe' (code\ 39) prints as ', a right single
-quotation mark; the corresponding ISO Latin-1 characters can be obtained
-with
-.B \e`
-and
-.BR \e(aq .
+the ISO \%Latin-1 `Apostrophe' (code\ 39) prints as ', a right single
+quotation mark; the original character can be obtained with `\f(CW\e(aq\fP'.
+.
.
.TP
.B -
-the ISO Latin-1 `Hyphen, Minus Sign' (code\ 45) prints as a hyphen; a
-minus sign can be obtained with
-.BR \e- .
+the ISO \%Latin-1 `Hyphen, Minus Sign' (code\ 45) prints as a hyphen; a
+minus sign can be obtained with `\f(CW\e-\fP'.
+.
.
.TP
.B ~
-the ISO Latin-1 `Tilde' (code\ 126); a larger glyph can be obtained
-with
-.BR \e(ti .
+the ISO \%Latin-1 `Tilde' (code\ 126) is reduced in size to be usable as
+a diacritic; a larger glyph can be obtained with `\f(CW\e(ti\fP'.
+.
.
.TP
.B ^
-the ISO Latin-1 `Circumflex Accent' (code\ 94); a larger glyph can be
-obtained with
-.BR \e(ha .
+the ISO \%Latin-1 `Circumflex Accent' (code\ 94) is reduced in size to be
+usable as a diacritic; a larger glyph can be obtained with `\f(CW\e(ha\fP'.
.
.
.P
-.if !\n[cR] .wh \n(nlu+\n(.tu-\n(.Vu Fo
+.CT "\fIOutput" "\fIInput" "\fIInput" "bracketright" "decomposed"
+.de He
+. P
+. ne 4
+. ft I
+. CL "Output" "Input" "Input" "PostScript" "Unicode" "Notes"
+. CL "" "name" "code" "name" "decomposed" ""
+. ft
+. P
+..
.He
-.CD 33 exclam
-.CD 34 quotedbl
-.CD 35 numbersign
-.CD 36 dollar
-.CD 37 percent
-.CD 38 ampersand
-.CD 39 quoteright
-.CD 40 parenleft
-.CD 41 parenright
-.CD 42 asterisk
-.CD 43 plus
-.CD 44 comma
-.CD 45 hyphen
-.CD 46 period
-.CD 47 slash
-.CD 58 colon
-.CD 59 semicolon
-.CD 60 less
-.CD 61 equal
-.CD 62 greater
-.CD 63 question
-.CD 64 at
-.CD 91 bracketleft
-.CD 92 backslash
-.CD 93 bracketright
-.CD 94 circumflex "circumflex accent"
-.CD 95 underscore
-.CD 96 quoteleft
-.CD 123 braceleft
-.CD 124 bar
-.CD 125 braceright
-.CD 126 tilde "tilde accent"
-.ch Fo
+.Ds 33 exclam u0021
+.CD 34 quotedbl u0022
+.CD 35 numbersign u0023
+.CD 36 dollar u0024
+.CD 37 percent u0025
+.CD 38 ampersand u0026
+.CD 39 quoteright u0027
+.CD 40 parenleft u0028
+.CD 41 parenright u0029
+.CD 42 asterisk u002A
+.CD 43 plus u002B
+.CD 44 comma u002C
+.CD 45 hyphen u2010
+.CD 46 period u002E
+.CD 47 slash u002F
+.CD 58 colon u003A
+.CD 59 semicolon u003B
+.CD 60 less u003C
+.CD 61 equal u003D
+.CD 62 greater u003E
+.CD 63 question u003F
+.CD 64 at u0040
+.CD 91 bracketleft u005B
+.CD 92 backslash u005C
+.CD 93 bracketright u005D
+.CD 94 circumflex u005E "circumflex accent"
+.CD 95 underscore u005F
+.CD 96 quoteleft u0060
+.CD 123 braceleft u007B
+.CD 124 bar u007C
+.CD 125 braceright u007D
+.De 126 tilde u007E "tilde accent"
.
.
.\" --------------------------------------------------------------------
-.SS "Latin-1 Special Characters"
+.SS "8-bit Character Codes 160 to 255"
.\" --------------------------------------------------------------------
.
-These characters have character codes between 128 and\ 255.
-.
-They are interpreted as characters according to the
+They are interpreted as printable characters according to the
.I Latin-1
.RI ( iso-8859-1 )
code set, being identical to the Unicode range
.IR "C1 Controls and Latin-1 Supplement" .
.
-.TP
-128\-159
.
-the C1 Controls; they print as themselves, but the effect is mostly
-undefined.
+.P
+Input characters in range 128-159 (on non-EBCDIC hosts) are not printable
+characters.
+.
.
.TP
160
.
-the ISO Latin-1
+the ISO \%Latin-1
.I no-break space
-is mapped to
-.BR `\e\ ' ,
-the escaped space character.
+is mapped to `\f(CW\e~\fP', the stretchable space character.
+.
.
.TP
173
.
-the soft hyphen control character (prints as itself).
+the soft hyphen control character.
.
-groff never use this character for output (thus it is omitted in the table
-below); the input character\ 173 is mapped onto
-.BR \e% .
+.B groff
+never uses this character for output (thus it is omitted in the
+table below); the input character\ 173 is mapped onto `\f(CW\e%\fP'.
.
.
.P
-The remaining ranges (161\-172, 174\-255), called the
-.I Latin-1 Supplement
-in Unicode, are printable characters that print as themselves.
+The remaining ranges (\%161\-172, \%174\-255)
+are printable characters that print as themselves.
.
Although they can be specified directly with the keyboard on systems
-with a Latin-1 code page, it is better to use their named character
-equivalent; see next section.
-.
+with a \%Latin-1 code page, it is better to use their glyph names;
+see next section.
.
.P
-.if !\n[cR] .wh \n(nlu+\n(.tu-\n(.Vu Fo
+.CT "\fIOutput" "\fIInput" "\fIInput" "guillemotright" "decomposed"
.He
-.CD 161 exclamdown "inverted exclamation mark"
-.CD 162 cent
-.CD 163 sterling
-.CD 164 currency
-.CD 165 yen
-.CD 166 brokenbar
-.CD 167 section
-.CD 168 dieresis
-.CD 169 copyright
-.CD 170 ordfeminine
-.CD 171 guillemotleft
-.CD 172 logicalnot
-.CD 174 registered
-.CD 175 macron
-.CD 176 degree
-.CD 177 plusminus
-.CD 178 twosuperior
-.CD 179 threesuperior
-.CD 180 acute "acute accent"
-.CD 181 mu "micro sign"
-.CD 182 paragraph
-.CD 183 periodcentered
-.CD 184 cedilla
-.CD 185 onesuperior
-.CD 186 ordmasculine
-.CD 187 guillemotright
-.CD 188 onequarter
-.CD 189 onehalf
-.CD 190 threequarters
-.CD 191 questiondown
-.CD 192 Agrave
-.CD 193 Aacute
-.CD 194 Acircumflex
-.CD 195 Atilde
-.CD 196 Adieresis
-.CD 197 Aring
-.CD 198 AE
-.CD 199 Ccedilla
-.CD 200 Egrave
-.CD 201 Eacute
-.CD 202 Ecircumflex
-.CD 203 Edieresis
-.CD 204 Igrave
-.CD 205 Iacute
-.CD 206 Icircumflex
-.CD 207 Idieresis
-.CD 208 Eth
-.CD 209 Ntilde
-.CD 210 Ograve
-.CD 211 Oacute
-.CD 212 Ocircumflex
-.CD 213 Otilde
-.CD 214 Odieresis
-.CD 215 multiply
-.CD 216 Oslash
-.CD 217 Ugrave
-.CD 218 Uacute
-.CD 219 Ucircumflex
-.CD 220 Udieresis
-.CD 221 Yacute
-.CD 222 Thorn
-.CD 223 germandbls
-.CD 224 agrave
-.CD 225 aacute
-.CD 226 acircumflex
-.CD 227 atilde
-.CD 228 adieresis
-.CD 229 aring
-.CD 230 ae
-.CD 231 ccedilla
-.CD 232 egrave
-.CD 233 eacute
-.CD 234 ecircumflex
-.CD 235 edieresis
-.CD 236 igrave
-.CD 237 iacute
-.CD 238 icircumflex
-.CD 239 idieresis
-.CD 240 eth
-.CD 241 ntilde
-.CD 242 ograve
-.CD 243 oacute
-.CD 244 ocircumflex
-.CD 245 otilde
-.CD 246 odieresis
-.CD 247 divide
-.CD 248 oslash
-.CD 249 ugrave
-.CD 250 uacute
-.CD 251 ucircumflex
-.CD 252 udieresis
-.CD 253 yacute
-.CD 254 thorn
-.CD 255 ydieresis
-.ch Fo
+.Ds 161 exclamdown u00A1 "inverted exclamation mark"
+.CD 162 cent u00A2
+.CD 163 sterling u00A3
+.CD 164 currency u00A4
+.CD 165 yen u00A5
+.CD 166 brokenbar u00A6
+.CD 167 section u00A7
+.CD 168 dieresis u00A8
+.CD 169 copyright u00A9
+.CD 170 ordfeminine u00AA
+.CD 171 guillemotleft u00AB
+.CD 172 logicalnot u00AC
+.CD 174 registered u00AE
+.CD 175 macron u00AF
+.CD 176 degree u00B0
+.CD 177 plusminus u00B1
+.CD 178 twosuperior u00B2
+.CD 179 threesuperior u00B3
+.CD 180 acute u00B4 "acute accent"
+.CD 181 mu u00B5 "micro sign"
+.CD 182 paragraph u00B6
+.CD 183 periodcentered u00B7
+.CD 184 cedilla u00B8
+.CD 185 onesuperior u00B9
+.CD 186 ordmasculine u00BA
+.CD 187 guillemotright u00BB
+.CD 188 onequarter u00BC
+.CD 189 onehalf u00BD
+.CD 190 threequarters u00BE
+.CD 191 questiondown u00BF
+.CD 192 Agrave u0041_0300
+.CD 193 Aacute u0041_0301
+.CD 194 Acircumflex u0041_0302
+.CD 195 Atilde u0041_0303
+.CD 196 Adieresis u0041_0308
+.CD 197 Aring u0041_030A
+.CD 198 AE u00C6
+.CD 199 Ccedilla u0043_0327
+.CD 200 Egrave u0045_0300
+.CD 201 Eacute u0045_0301
+.CD 202 Ecircumflex u0045_0302
+.CD 203 Edieresis u0045_0308
+.CD 204 Igrave u0049_0300
+.CD 205 Iacute u0049_0301
+.CD 206 Icircumflex u0049_0302
+.CD 207 Idieresis u0049_0308
+.CD 208 Eth u00D0
+.CD 209 Ntilde u004E_0303
+.CD 210 Ograve u004F_0300
+.CD 211 Oacute u004F_0301
+.CD 212 Ocircumflex u004F_0302
+.CD 213 Otilde u004F_0303
+.CD 214 Odieresis u004F_0308
+.CD 215 multiply u00D7
+.CD 216 Oslash u00D8
+.CD 217 Ugrave u0055_0300
+.CD 218 Uacute u0055_0301
+.CD 219 Ucircumflex u0055_0302
+.CD 220 Udieresis u0055_0308
+.CD 221 Yacute u0059_0301
+.CD 222 Thorn u00DE
+.CD 223 germandbls u00DF
+.CD 224 agrave u0061_0300
+.CD 225 aacute u0061_0301
+.CD 226 acircumflex u0061_0302
+.CD 227 atilde u0061_0303
+.CD 228 adieresis u0061_0308
+.CD 229 aring u0061_030A
+.CD 230 ae u00E6
+.CD 231 ccedilla u0063_0327
+.CD 232 egrave u0065_0300
+.CD 233 eacute u0065_0301
+.CD 234 ecircumflex u0065_0302
+.CD 235 edieresis u0065_0308
+.CD 236 igrave u0069_0300
+.CD 237 iacute u0069_0301
+.CD 238 icircumflex u0069_0302
+.CD 239 idieresis u0069_0308
+.CD 240 eth u00F0
+.CD 241 ntilde u006E_0303
+.CD 242 ograve u006F_0300
+.CD 243 oacute u006F_0301
+.CD 244 ocircumflex u006F_0302
+.CD 245 otilde u006F_0303
+.CD 246 odieresis u006F_0308
+.CD 247 divide u00F7
+.CD 248 oslash u00F8
+.CD 249 ugrave u0075_0300
+.CD 250 uacute u0075_0301
+.CD 251 ucircumflex u0075_0302
+.CD 252 udieresis u0075_0308
+.CD 253 yacute u0079_0301
+.CD 254 thorn u00FE
+.De 255 ydieresis u0079_0308
.
.
.\" --------------------------------------------------------------------
-.SS "Named Characters"
+.SS "Named Glyphs"
.\" --------------------------------------------------------------------
.
-The named character idiom is the standard way to specify special
-characters in roff systems.
-.
-They can be embedded into the document text by using escape sequences.
+Glyph names can be embedded into the document text by using escape
+sequences.
.
.BR groff (@MAN7EXT@)
describes how these escape sequences look.
.
-The character names can consist of quite arbitrary characters from the
-ASCII or Latin-1 code set, not only alphanumeric characters.
+Glyph names can consist of quite arbitrary characters from the
+ASCII or \%Latin-1 code set, not only alphanumeric characters.
.
Here some examples:
.
.TP
-.BI \e c
-named character having the name
+\f(CW\e\fP\fIc\fP
+A glyph having the name
.IR c ,
which consists of a single character (length\ 1).
.
.TP
-.BI \e( ch
-named character having the 2-character name
+\f(CW\e(\fP\fIch\fP
+A glyph having the 2-character name
.IR ch .
.
.TP
-.BI \e[ char_name ]
-named character having the name
+\f(CW\e[\fP\fIchar_name\fP\f(CW]\fP
+A glyph having the name
.I char_name
(having length 1, 2, 3, .\|.\|.).
.
+.TP
+\f(CW\e[\fP\fIbase_glyph composite_1 composite_2 .\|.\|.\fP\f(CW]\fP
+A composite glyph; see below for a more detailed description.
+.
.
.P
-In groff, each 8bit input character can also referred to by the construct
-.BI \en[char n ]
-where
+In groff, each \%8-bit input character can also referred to by the construct
+`\f(CW\e[char\fP\fIn\fP\f(CW]\fP' where
.I n
is the decimal code of the character, a number between 0 and\ 255
-without leading zeros.
+without leading zeros (those entities are
+.I not
+glyph names).
+.
+They are normally mapped onto glyphs using the \f(CW.trin\fP request.
.
-They are mapped onto glyph entities using the
-.B .trin
-request.
+Another special convention is the handling of glyphs with names directly
+derived from a Unicode code point; this is discussed below.
.
-Moreover, new character names can be created by the
-.B .char
-request; see
+Moreover, new glyph names can be created by the \f(CW.char\fP request; see
.BR groff (@MAN7EXT@).
.
+.P
+In the following, a plus sign in the `Notes' column indicates that this
+particular glyph name appears in the PS version of the original troff
+documentation, CSTR\ 54.
+.
.
.P
-.\" we don't use the third column
-.ta \w'\fIOutput'u+\n(Spu \
- +\w'\fIInput'u+\n(Spu-1n \
- +1n \
- +\w'periodcentered'u+\n(Spu
-.if !\n[cR] .wh \n(nlu+\n(.tu-\n(.Vu Fo
+.CT "\fIOutput" "\f(CW\e[-D]" "" "Ocircumflex" "u0066_0066_006C"
.de He
-.P
-'nf
-.ft I
-Output Input PostScript Notes
- name name
-.ft
-.P
+. P
+. ne 4
+. ft I
+. CL "Output" "Input" "" "PostScript" "Unicode" "Notes"
+. CL "" "name" "" "name" "decomposed" ""
+. ft
+. P
..
.He
-.C2 -D Eth "Icelandic uppercase eth"
-.C2 Sd eth "Icelandic lowercase eth"
-.C2 TP Thorn "Icelandic uppercase thorn"
-.C2 Tp thorn "Icelandic lowercase thorn"
-.C2 ss germandbls "German sharp s"
+.2s -D Eth u00D0 "uppercase eth"
+.C2 Sd eth u00F0 "lowercase eth"
+.C2 TP Thorn u00DE "uppercase thorn"
+.C2 Tp thorn u00FE "lowercase thorn"
+.2e ss germandbls u00DF "German sharp s"
+.
+.Pa
+.I Ligatures and Other Latin Glyphs
+.P
+.2s ff ff u0066_0066 "ff ligature +"
+.C2 fi fi u0066_0069 "fi ligature +"
+.C2 fl fl u0066_006C "fl ligature +"
+.C2 Fi ffi u0066_0066_0069 "ffi ligature +"
+.C2 Fl ffl u0066_0066_006C "ffl ligature +"
+.C2 /L Lslash u0141 "(Polish)"
+.C2 /l lslash u0142 "(Polish)"
+.C2 /O Oslash u00D8 "(Scandinavic)"
+.C2 /o oslash u00F8 "(Scandinavic)"
+.C2 AE AE u00C6
+.C2 ae ae u00E6
+.C2 OE OE u0152
+.C2 oe oe u0153
+.C2 IJ IJ u0132 "(Dutch)"
+.C2 ij ij u0133 "(Dutch)"
+.C2 .i dotlessi u0131 "(Turkish)"
+.2e .j dotlessj --- "j without a dot"
+.
+.Pa
+.I Accented Characters
+.P
+.2s 'A Aacute u0041_0301
+.C2 'C Cacute u0043_0301
+.C2 'E Eacute u0045_0301
+.C2 'I Iacute u0049_0301
+.C2 'O Oacute u004F_0301
+.C2 'U Uacute u0055_0301
+.C2 'Y Yacute u0059_0301
+.C2 'a aacute u0061_0301
+.C2 'c cacute u0063_0301
+.C2 'e eacute u0065_0301
+.C2 'i iacute u0069_0301
+.C2 'o oacute u006F_0301
+.C2 'u uacute u0075_0301
+.C2 'y yacute u0079_0301
+.C2 :A Adieresis u0041_0308 "A with umlaut"
+.C2 :E Edieresis u0045_0308
+.C2 :I Idieresis u0049_0308
+.C2 :O Odieresis u004F_0308
+.C2 :U Udieresis u0055_0308
+.C2 :Y Ydieresis u0059_0308
+.C2 :a adieresis u0061_0308
+.C2 :e edieresis u0065_0308
+.C2 :i idieresis u0069_0308
+.C2 :o odieresis u006F_0308
+.C2 :u udieresis u0075_0308
+.C2 :y ydieresis u0079_0308
+.C2 ^A Acircumflex u0041_0302
+.C2 ^E Ecircumflex u0045_0302
+.C2 ^I Icircumflex u0049_0302
+.C2 ^O Ocircumflex u004F_0302
+.C2 ^U Ucircumflex u0055_0302
+.C2 ^a acircumflex u0061_0302
+.C2 ^e ecircumflex u0065_0302
+.C2 ^i icircumflex u0069_0302
+.C2 ^o ocircumflex u006F_0302
+.C2 ^u ucircumflex u0075_0302
+.C2 `A Agrave u0041_0300
+.C2 `E Egrave u0045_0300
+.C2 `I Igrave u0049_0300
+.C2 `O Ograve u004F_0300
+.C2 `U Ugrave u0055_0300
+.C2 `a agrave u0061_0300
+.C2 `e egrave u0065_0300
+.C2 `i igrave u0069_0300
+.C2 `o ograve u006F_0300
+.C2 `u ugrave u0075_0300
+.C2 ~A Atilde u0041_0303
+.C2 ~N Ntilde u004E_0303
+.C2 ~O Otilde u004F_0303
+.C2 ~a atilde u0061_0303
+.C2 ~n ntilde u006E_0303
+.C2 ~o otilde u006F_0303
+.C2 vS Scaron u0053_030C
+.C2 vs scaron u0073_030C
+.C2 vZ Zcaron u005A_030C
+.C2 vz zcaron u007A_030C
+.C2 ,C Ccedilla u0043_0327
+.C2 ,c ccedilla u0063_0327
+.C2 oA Aring u0041_030A
+.2e oa aring u0061_030A
+.
+.Pa
+.I Accents
+.P
+The
+.B composite
+request is used to map most of the accents to non-spacing glyph names;
+the values given in parentheses are the original (spacing) ones.
.
.P
-.I Ligatures
-.C2 ff ff "ff ligature"
-.C2 fi fi "fi ligature"
-.C2 fl fl "fl ligature"
-.C2 Fi ffi "ffi ligature"
-.C2 Fl ffl "ffl ligature"
-.C2 AE AE
-.C2 ae ae
-.C2 OE OE
-.C2 oe oe
-.C2 IJ IJ "Dutch IJ ligature"
-.C2 ij ij "Dutch ij ligature"
-.C2 .i dotlessi "i without a dot (Turkish)"
-.C2 .j dotlessj "j without a dot"
+.Ac \(vc \(ah c
+.Ac \('a \(aa a
.
+.\" we don't use the third column
+.CT "\fIOutput" "\f(CW\e[-D]" "" "quotesinglebase" "uCCCC (uCCCC)"
+.He
+.2s a" hungarumlaut "u030B (u02DD)" "(Hungarian)"
+.C2 a- macron "u0304 (u00AF)"
+.C2 a. dotaccent "u0307 (u02D9)"
+.C2 a^ circumflex "u0302 (u005E)"
+.C2 aa acute "u0301 (u00B4)" "+"
+.C2 ga grave "u0300 (u0060)" "+"
+.C2 ab breve "u0306 (u02D8)"
+.C2 ac cedilla "u0327 (u00B8)"
+.C2 ad dieresis "u0308 (u00A8)" "umlaut"
+.C2 ah caron "u030C (u02C7)" "h\('a\(vcek"
+.C2 ao ring "u030A (u02DA)" "circle"
+.C2 a~ tilde "u0303 (u007E)"
+.C2 ho ogonek "u0328 (u02DB)" "hook"
+.C2 ha asciicircum u005E "(spacing)"
+.2e ti asciitilde u007E "(spacing)"
+.
+.Pa
+.I Quotes
.P
-.I Accented Characters
-.C2 'A Aacute
-.C2 'C Cacute
-.C2 'E Eacute
-.C2 'I Iacute
-.C2 'O Oacute
-.C2 'U Uacute
-.C2 'Y Yacute
-.C2 'a aacute
-.C2 'c cacute
-.C2 'e eacute
-.C2 'i iacute
-.C2 'o oacute
-.C2 'u uacute
-.C2 'y yacute
-.C2 :A Adieresis "A with umlaut"
-.C2 :E Edieresis
-.C2 :I Idieresis
-.C2 :O Odieresis
-.C2 :U Udieresis
-.C2 :Y Ydieresis
-.C2 :a adieresis
-.C2 :e edieresis
-.C2 :i idieresis
-.C2 :o odieresis
-.C2 :u udieresis
-.C2 :y ydieresis
-.C2 ^A Acircumflex
-.C2 ^E Ecircumflex
-.C2 ^I Icircumflex
-.C2 ^O Ocircumflex
-.C2 ^U Ucircumflex
-.C2 ^a acircumflex
-.C2 ^e ecircumflex
-.C2 ^i icircumflex
-.C2 ^o ocircumflex
-.C2 ^u ucircumflex
-.C2 `A Agrave
-.C2 `E Egrave
-.C2 `I Igrave
-.C2 `O Ograve
-.C2 `U Ugrave
-.C2 `a agrave
-.C2 `e egrave
-.C2 `i igrave
-.C2 `o ograve
-.C2 `u ugrave
-.C2 ~A Atilde
-.C2 ~N Ntilde
-.C2 ~O Otilde
-.C2 ~a atilde
-.C2 ~n ntilde
-.C2 ~o otilde
-.C2 vS Scaron
-.C2 vs scaron
-.C2 vZ Zcaron
-.C2 vz zcaron
-.C2 ,C Ccedilla
-.C2 ,c ccedilla
-.C2 /L Lslash "Polish L with a slash"
-.C2 /l lslash "Polish l with a slash"
-.C2 /O Oslash "Scandinavic slashed O"
-.C2 /o oslash "Scandinavic slashed o"
-.C2 oA Aring
-.C2 oa aring
+.2s Bq quotedblbase u201E "low double comma quote"
+.C2 bq quotesinglbase u201A "low single comma quote"
+.C2 lq quotedblleft u201C
+.C2 rq quotedblright u201D
+.C2 oq quoteleft u2018 "single open quote"
+.C2 cq quoteright u2019 "single closing quote"
+.C2 aq quotesingle u0027 "apostrophe quote (ASCII 39)"
+.C2 dq quotedbl u0022 "double quote (ASCII 34)"
+.C2 Fo guillemotleft u00AB
+.C2 Fc guillemotright u00BB
+.C2 fo guilsinglleft u2039
+.2e fc guilsinglright u203A
+.
+.Pa
+.I Punctuation
+.P
+.2s r! exclamdown u00A1
+.C2 r? questiondown u00BF
+.C2 em emdash u2014 "+"
+.C2 en endash u2013
+.2e hy hyphen u2010 "+"
.
+.Pa
+.I Brackets
.P
-.I Accents
-.C2 a" hungarumlaut "Hungarian umlaut"\""
-.C2 a- macron "macron or bar accent"
-.C2 a. dotaccent "dot accent"
-.C2 a^ circumflex "circumflex accent"
-.C2 aa acute "acute accent"
-.C2 ga grave "grave accent"
-.C2 ab breve "breve accent"
-.C2 ac cedilla "cedilla accent"
-.C2 ad dieresis "umlaut or dieresis"
-.C2 ah caron "h\('a\(vcek accent"
-.C2 ao ring "ring or circle accent"
-.C2 a~ tilde "tilde accent"
-.C2 ho ogonek "hook or ogonek accent"
-.C2 ha asciicircum "\s-2ASCII\s+2 circumflex, hat, caret"
-.C2 ti asciitilde "\s-2ASCII\s0 tilde, large tilde"
+The extensible bracket pieces are font-invariant glyphs.
+.
+In classical troff only one glyph was available to vertically extend
+brackets, braces, and parentheses: `bv'.
+.
+We map it rather arbitrarily to u23AA.
.
.P
-.I Quotes
-.C2 Bq quotedblbase "low double comma quote"
-.C2 bq quotesinglbase "low single comma quote"
-.C2 lq quotedblleft
-.C2 rq quotedblright
-.C2 oq quoteleft "single open quote"
-.C2 cq quoteright "single closing quote (ASCII 39)"
-.C2 aq quotesingle "apostrophe quote"
-.C2 dq quotedbl "double quote (ASCII 34)"
-.C2 Fo guillemotleft
-.C2 Fc guillemotright
-.C2 fo guilsinglleft
-.C2 fc guilsinglright
+Note that not all devices contain extensible bracket pieces which can
+be piled up with `\f(CW\eb\fP' due to the restrictions of the escape's
+piling algorithm.
+.
+A general solution to build brackets out of pieces is the following
+macro:
.
.P
-.I Punctuation
-.C2 r! exclamdown
-.C2 r? questiondown
-.C2 em emdash "em dash"
-.C2 en endash "en dash"
-.C2 hy hyphen
+.nf
+.RS
+.ft C
+\&.\e" Make a pile centered vertically 0.5em
+\&.\e" above the baseline.
+\&.\e" The first argument is placed at the top.
+\&.\e" The pile is returned in string `pile'
+\&.eo
+\&.de pile-make
+\&. nr pile-wd 0
+\&. nr pile-ht 0
+\&. ds pile-args
+\&.
+\&. nr pile-# \en[.$]
+\&. while \en[pile-#] \e{\e
+\&. nr pile-wd (\en[pile-wd] >? \ew'\e$[\en[pile-#]]')
+\&. nr pile-ht +(\en[rst] - \en[rsb])
+\&. as pile-args \ev'\en[rsb]u'\e"
+\&. as pile-args \eZ'\e$[\en[pile-#]]'\e"
+\&. as pile-args \ev'-\en[rst]u'\e"
+\&. nr pile-# -1
+\&. \e}
+\&.
+\&. ds pile \ev'(-0.5m + (\en[pile-ht]u / 2u))'\e"
+\&. as pile \e*[pile-args]\e"
+\&. as pile \ev'((\en[pile-ht]u / 2u) + 0.5m)'\e"
+\&. as pile \eh'\en[pile-wd]u'\e"
+\&..
+\&.ec
+.ft
+.RE
+.fi
.
.P
-.I Brackets
-.C2 lB bracketleft
-.C2 rB bracketright
-.C2 lC braceleft
-.C2 rC braceright
-.C2 la angleleft "left angle bracket"
-.C2 ra angleright "right angle bracket"
+Another complication is the fact that some glyphs which represent bracket
+pieces in original troff can be used for other mathematical symbols also,
+for example `lf' and `rf' which provide the `floor' operator.
+.
+Other devices (most notably for DVI output) don't unify such glyphs.
+.
+For this reason, the four glyphs `lf', `rf', `lc', and `rc' are not
+unified with similarly looking bracket pieces.
+.
+In
+.BR groff ,
+only glyphs with long names are guaranteed to pile up correctly for all
+devices (provided those glyphs exist).
.
.P
+.CT "\fIOutput" "\f(CW\e[bracketrightex]" "" "bracketrightex" "decomposed"
+.He
+.2s lB bracketleft u005B
+.C2 rB bracketright u005D
+.C2 lC braceleft u007B
+.C2 rC braceright u007D
+.C2 la angleleft u27E8 "left angle bracket"
+.C2 ra angleright u27E9 "right angle bracket"
+.
+.C2 bv braceex u23AA "vertical extension *** +"
+.CN braceex braceex u23AA
+.
+.CN bracketlefttp bracketlefttp u23A1
+.CN bracketleftbt bracketleftbt u23A3
+.CN bracketleftex bracketleftex u23A2
+.CN bracketrighttp bracketrighttp u23A4
+.CN bracketrightbt bracketrightbt u23A6
+.CN bracketrightex bracketrightex u23A5
+.
+.C2 lt bracelefttp u23A7 "+"
+.CN bracelefttp bracelefttp u23A7
+.C2 lk braceleftmid u23A8 "+"
+.CN braceleftmid braceleftmid u23A8
+.C2 lb braceleftbt u23A9 "+"
+.CN braceleftbt braceleftbt u23A9
+.CN braceleftex braceleftex u23AA
+.C2 rt bracerighttp u23AB "+"
+.CN bracerighttp bracerighttp u23AB
+.C2 rk bracerightmid u23AC "+"
+.CN bracerightmid bracerightmid u23AC
+.C2 rb bracerightbt u23AD "+"
+.CN bracerightbt bracerightbt u23AD
+.CN bracerightex bracerightex u23AA
+.
+.CN parenlefttp parenlefttp u239B
+.CN parenleftbt parenleftbt u239D
+.CN parenleftex parenleftex u239C
+.CN parenrighttp parenrighttp u239E
+.CN parenrightbt parenrightbt u23A0
+.Ne parenrightex parenrightex u239F
+.
+.Pa
.I Arrows
-.C2 <- arrowleft
-.C2 -> arrowright
-.C2 <> arrowboth "horizontal double-headed arrow"
-.C2 da arrowdown
-.C2 ua arrowup
-.C2 va arrowupdn "vertical double-headed arrow"
-.C2 lA arrowdblleft
-.C2 rA arrowdblright
-.C2 hA arrowdblboth "horizontal double-headed double arrow"
-.C2 dA arrowdbldown
-.C2 uA arrowdblup
-.C2 vA \& "vertical double-headed double arrow"
-.C2 an arrowhorizex "horizontal arrow extension"
-.
.P
+.2s <- arrowleft u2190 "+"
+.C2 -> arrowright u2192 "+"
+.C2 <> arrowboth u2194 "(horizontal)"
+.C2 da arrowdown u2193 "+"
+.C2 ua arrowup u2191 "+"
+.C2 va arrowupdn u2195
+.C2 lA arrowdblleft u21D0
+.C2 rA arrowdblright u21D2
+.C2 hA arrowdblboth u21D4 "(horizontal)"
+.C2 dA arrowdbldown u21D3
+.C2 uA arrowdblup u21D1
+.C2 vA uni21D5 u21D5 "vertical double-headed double arrow"
+.2e an arrowhorizex u23AF "horizontal arrow extension"
+.
+.Pa
.I Lines
-.C2 -h hbar
-.C2 or bar
-.C2 ba bar
-.C2 br br "box rule with traditional troff metrics"
-.C2 ru ru "baseline rule"
-.C2 ul ul "underline with traditional troff metrics"
-.C2 bv bv "bar vertical"
-.C2 bb brokenbar
-.C2 sl slash
-.C2 rs backslash
+.P
+The font-invariant glyphs `br', `ul', and `rn' form corners;
+they can be used to build boxes.
+.
+Note that both the PostScript and the Unicode-derived names of
+these three glyphs are just rough approximations.
.
.P
-.I Text markers
-.C2 ci circle
-.C2 bu bullet
-.C2 dd daggerdbl "double dagger sign"
-.C2 dg dagger
-.C2 lz lozenge
-.C2 sq square
-.C2 ps paragraph
-.C2 sc section
-.C2 lh handleft
-.C2 rh handright
-.C2 at at
-.C2 sh numbersign
-.C2 CR carriagereturn "carriage return symbol"
-.C2 OK a19 "check mark, tick"
+`rn' also serves in classical troff as the horizontal extension of the
+square root sign.
.
.P
-.I Legalize
-.C2 co copyright
-.C2 rg registered
-.C2 tm trademark
-.C2 bs bell "AT&T Bell Labs logo (not used in groff)"
+`ru' is a font-invariant glyph, namely a rule of length 0.5m.
.
.P
-.I Currency symbols
-.C2 Do dollar
-.C2 ct cent
-.C2 eu \& "official Euro symbol"
-.C2 Eu Euro "font-specific Euro glyph variant"
-.C2 Ye yen
-.C2 Po sterling "British currency sign"
-.C2 Cs currency "Scandinavian currency sign"
-.C2 Fn florin "Dutch currency sign"
+.CT "\fIOutput" "\f(CW\e[integral]" "" "propersuperset" "decomposed"
+.He
+.2s ba bar u007C
+.C2 br SF110000 u2502 "box rule +"
+.C2 ul underscore u005F "+"
+.C2 rn overline u203E "use `\f(CW\e[radicalex]\fP' for continuation of square root +"
+.C2 ru --- --- "baseline rule +"
+.C2 bb brokenbar u00A6
+.C2 sl slash u002F "+"
+.2e rs backslash u005C "reverse solidus"
+.
+.Pa
+.I Text markers
+.P
+.2s ci circle u25CB "+"
+.C2 bu bullet u2022 "+"
+.C2 dd daggerdbl u2021 "double dagger sign +"
+.C2 dg dagger u2020 "+"
+.C2 lz lozenge u25CA
+.C2 sq uni25A1 u25A1 "white square +"
+.C2 ps paragraph u00B6
+.C2 sc section u00A7 "+"
+.C2 lh uni261C u261C "hand pointing left +"
+.C2 rh a14 u261E "hand pointing right +"
+.C2 at at u0040
+.C2 sh numbersign u0023
+.C2 CR carriagereturn u21B5
+.2e OK a19 u2713 "check mark, tick"
+.
+.Pa
+.I Legalize
+.P
+.2s co copyright u00A9 "+"
+.C2 rg registered u00AE "+"
+.C2 tm trademark u2122
+.2e bs --- --- "AT&T Bell Labs logo (not used in groff) +"
.
+.Pa
+.I Currency symbols
.P
+.2s Do dollar u0024
+.C2 ct cent u00A2 "+"
+.C2 eu --- u20AC "official Euro symbol"
+.C2 Eu Euro u20AC "font-specific Euro glyph variant"
+.C2 Ye yen u00A5
+.C2 Po sterling u00A3 "British currency sign"
+.C2 Cs currency u00A4 "Scandinavian currency sign"
+.2e Fn florin u0192 "Dutch currency sign"
+.
+.Pa
.I Units
-.C2 de degree
-.C2 %0 perthousand "per thousand, per mille sign"
-.C2 fm minute "footmark, prime"
-.C2 sd second
-.C2 mc mu "micro sign"
-.C2 Of ordfeminine
-.C2 Om ordmasculine
-.
.P
+.2s de degree u00B0 "+"
+.C2 %0 perthousand u2030 "per thousand, per mille sign"
+.C2 fm minute u2032 "footmark, prime +"
+.C2 sd second u2033
+.C2 mc mu u00B5 "micro sign"
+.C2 Of ordfeminine u00AA
+.2e Om ordmasculine u00BA
+.
+.Pa
.I Logical Symbols
-.C2 AN logicaland
-.C2 OR logicalor
-.C2 no logicalnot
-.C2 te existential "there exists, existential quantifier"
-.C2 fa universal "for all, universal quantifier"
-.C2 st suchthat
-.C2 3d therefore
-.C2 tf therefore
-.
.P
+.2s AN logicaland u2227
+.C2 OR logicalor u2228
+.C2 no logicalnot u00AC "+"
+.CN tno logicalnot u00AC "text variant of `no'"
+.C2 te existential u2203 "there exists, existential quantifier"
+.C2 fa universal u2200 "for all, universal quantifier"
+.C2 st suchthat u220B
+.C2 3d therefore u2234
+.C2 tf therefore u2234
+.
+.2e or bar u007C "bitwise OR operator (as used in C) +"
+.
+.Pa
.I Mathematical Symbols
-.C2 12 onehalf
-.C2 14 onequarter
-.C2 34 threequarters
-.C2 S1 onesuperior
-.C2 S2 twosuperior
-.C2 S3 threesuperior
-.
-.C2 pl plusmath "plus sign in special font"
-.C1 - minus "minus sign from current font"
-.C2 -+ minusplus
-.C2 +- plusminus
-.CN t+- plusminus "text variant of `+-'"
-.C2 pc periodcentered "multiplication dot"
-.C2 md dotmath
-.C2 mu multiply
-.CN tmu multiply "text variant of `mu'"
-.C2 c* circlemultiply "multiply sign in a circle"
-.C2 c+ circleplus "plus sign in a circle"
-.C2 di divide "division sign"
-.CN tdi divide "text variant of `di'"
-.C2 f/ fraction "bar for fractions"
-.C2 ** asteriskmath
-.
-.C2 <= lessequal
-.C2 >= greaterequal
-.C2 << \& "much less"
-.C2 >> \& "much greater"
-.C2 != notequal
-.C2 eq equalmath "equals sign in special font"
-.C2 == equivalence
-.C2 =~ congruent
-.C2 ap similar
-.C2 ~~ approxequal
-.C2 ~= approxequal
-.C2 pt proportional
-.
-.C2 es emptyset
-.C2 mo element
-.C2 nm notelement
-.C2 nb notsubset
-.C2 nc notpropersuperset
-.C2 ne notequivalence
-.C2 sb propersubset
-.C2 sp propersuperset
-.C2 ib reflexsubset
-.C2 ip reflexsuperset
-.C2 ca intersection "intersection, cap"
-.C2 cu union "union, cup"
-.
-.C2 /_ angle
-.C2 pp perpendicular
-.C2 is integral
-.CN sum sum
-.CN product product
-.C2 gr gradient
-.C2 sr radical "square root"
-.C2 rn \& overline "continuation of square root"
-.
-.C2 if infinity
-.C2 Ah aleph
-.C2 Im Ifraktur "Gothic I, imaginary"
-.C2 Re Rfraktur "Gothic R, real"
-.C2 wp weierstrass "Weierstrass p"
-.C2 pd partialdiff "partial differentiation sign"
-.
.P
+.2s 12 onehalf u00BD "+"
+.C2 14 onequarter u00BC "+"
+.C2 34 threequarters u00BE "+"
+.C2 18 oneeighth u215B
+.C2 38 threeeighths u215C
+.C2 58 fiveeighths u215D
+.C2 78 seveneighths u215E
+.C2 S1 onesuperior u00B9
+.C2 S2 twosuperior u00B2
+.C2 S3 threesuperior u00B3
+.
+.C2 pl plus u002B "plus sign in special font +"
+.C2 mi minus u2212 "minus sign in special font +"
+.C2 -+ uni2213 u2213
+.C2 +- plusminus u00B1 "+"
+.CN t+- plusminus u00B1 "text variant of `+\-'"
+.C2 pc periodcentered u00B7
+.C2 md dotmath u22C5 "multiplication dot"
+.C2 mu multiply u00D7 "+"
+.CN tmu multiply u00D7 "text variant of `mu'"
+.C2 c* circlemultiply u2297 "multiply sign in a circle"
+.C2 c+ circleplus u2295 "plus sign in a circle"
+.C2 di divide u00F7 "division sign +"
+.CN tdi divide u00F7 "text variant of `di'"
+.C2 f/ fraction u2044 "bar for fractions"
+.C2 ** asteriskmath u2217 "+"
+.
+.C2 <= lessequal u2264 "+"
+.C2 >= greaterequal u2265 "+"
+.C2 << uni226A u226A "much less"
+.C2 >> uni226B u226B "much greater"
+.C2 eq equal u003D "equals sign in special font +"
+.C2 != notequal u003D_0338 "+"
+.C2 == equivalence u2261 "+"
+.C2 ne uni2262 u2261_0338
+.C2 =~ congruent u2245 "approx.\& equal"
+.C2 |= uni2243 u2243 "asymptot.\& equal to +"
+.C2 ap similar u223C "+"
+.C2 ~~ approxequal u2248 "almost equal to"
+.C2 ~= approxequal u2248
+.C2 pt proportional u221D "+"
+.
+.C2 es emptyset u2205 "+"
+.C2 mo element u2208 "+"
+.C2 nm notelement u2208_0338
+.C2 sb propersubset u2282 "+"
+.C2 nb notsubset u2282_0338
+.C2 sp propersuperset u2283 "+"
+.C2 nc uni2285 u2283_0338 "not superset"
+.C2 ib reflexsubset u2286 "+"
+.C2 ip reflexsuperset u2287 "+"
+.C2 ca intersection u2229 "intersection, cap +"
+.C2 cu union u222A "union, cup +"
+.
+.C2 /_ angle u2220
+.C2 pp perpendicular u22A5
+.C2 is integral u222B "+"
+.CN integral integral u222B "***"
+.CN sum summation u2211 "***"
+.CN product product u220F "***"
+.C2 gr gradient u2207 "+"
+.C2 sr radical u221A "square root +"
+.CN sqrt radical u221A "***"
+.CN radicalex radicalex --- "continuation of square root"
+.CN sqrtex radicalex --- "***"
+.
+.C2 lc uni2308 u2308 "left ceiling +"
+.C2 rc uni2309 u2309 "right ceiling +"
+.C2 lf uni230A u230A "left floor +"
+.C2 rf uni230B u230B "right floor +"
+.
+.C2 if infinity u221E "+"
+.C2 Ah aleph u2135
+.C2 Im Ifraktur u2111 "Gothic I, imaginary"
+.C2 Re Rfraktur u211C "Gothic R, real"
+.C2 wp weierstrass u2118 "Weierstrass p"
+.C2 pd partialdiff u2202 "partial differentiation sign +"
+.C2 -h uni210F u210F "Planck constant over two pi"
+.2e hbar uni210F u210F
+.
+.Pa
.I Greek characters
-.C2 *A Alpha
-.C2 *B Beta
-.C2 *C Xi
-.C2 *D Delta
-.C2 *E Epsilon
-.C2 *F Phi
-.C2 *G Gamma
-.C2 *H Theta
-.C2 *I Iota
-.C2 *K Kappa
-.C2 *L Lambda
-.C2 *M Mu
-.C2 *N Nu
-.C2 *O Omicron
-.C2 *P Pi
-.C2 *Q Psi
-.C2 *R Rho
-.C2 *S Sigma
-.C2 *T Tau
-.C2 *U Upsilon
-.C2 *W Omega
-.C2 *X Chi
-.C2 *Y Eta
-.C2 *Z Zeta
-.C2 *a alpha
-.C2 *b beta
-.C2 *c xi
-.C2 *d delta
-.C2 *e epsilon
-.C2 *f phi
-.C2 +f phi1 "variant phi"
-.C2 *g gamma
-.C2 *h theta
-.C2 +h theta1 "variant theta"
-.C2 *i iota
-.C2 *k kappa
-.C2 *l lambda
-.C2 *m mu
-.C2 *n nu
-.C2 *o omicron
-.C2 *p pi
-.C2 +p omega1 "variant pi, looking like omega"
-.C2 *q psi
-.C2 *r rho
-.C2 *s sigma
-.C2 *t tau
-.C2 *u upsilon
-.C2 *w omega
-.C2 *x chi
-.C2 *y eta
-.C2 *z zeta
-.C2 ts sigma1 "terminal sigma"
+.P
+These glyphs are intended for technical use, not for real Greek; normally,
+the uppercase letters have upright shape, and the lowercase ones are
+slanted.
+.
+There is a problem with the mapping of letter phi to Unicode.
+.
+Prior to Unicode version\ 3.0, the difference between U+03C6, GREEK
+SMALL LETTER PHI, and U+03D5, GREEK PHI SYMBOL, was not clearly described;
+only the glyph shapes in the Unicode book could be used as a reference.
.
+Starting with Unicode\ 3.0, the reference glyphs have been exchanged and
+described verbally also: In mathematical context, U+03D5 is the stroked
+variant and U+03C5 the curly glyph.
+.
+Unfortunately, most font vendors didn't update their fonts to
+this (incompatible) change in Unicode.
+.
+At the time of this writing (February 2003), it is not clear yet whether
+the Adobe Glyph Names `phi' and `phi1' also change its meaning if used for
+mathematics, thus compatibility problems are likely to happen \(en being
+conservative, groff currently assumes that `phi' in a PostScript symbol
+font is the stroked version.
.P
+In groff, symbol `\f(CW\e[*f]\fP' always denotes the stroked version of
+phi, and `\f(CW\e[+f]\fP' the curly variant.
+.P
+.2s *A Alpha u0391 "+"
+.C2 *B Beta u0392 "+"
+.C2 *G Gamma u0393 "+"
+.C2 *D Delta u0394 "+"
+.C2 *E Epsilon u0395 "+"
+.C2 *Z Zeta u0396 "+"
+.C2 *Y Eta u0397 "+"
+.C2 *H Theta u0398 "+"
+.C2 *I Iota u0399 "+"
+.C2 *K Kappa u039A "+"
+.C2 *L Lambda u039B "+"
+.C2 *M Mu u039C "+"
+.C2 *N Nu u039D "+"
+.C2 *C Xi u039E "+"
+.C2 *O Omicron u039F "+"
+.C2 *P Pi u03A0 "+"
+.C2 *R Rho u03A1 "+"
+.C2 *S Sigma u03A3 "+"
+.C2 *T Tau u03A4 "+"
+.C2 *U Upsilon u03A5 "+"
+.C2 *F Phi u03A6 "+"
+.C2 *X Chi u03A7 "+"
+.C2 *Q Psi u03A8 "+"
+.C2 *W Omega u03A9 "+"
+.C2 *a alpha u03B1 "+"
+.C2 *b beta u03B2 "+"
+.C2 *g gamma u03B3 "+"
+.C2 *d delta u03B4 "+"
+.C2 *e epsilon u03B5 "+"
+.C2 *z zeta u03B6 "+"
+.C2 *y eta u03B7 "+"
+.C2 *h theta u03B8 "+"
+.C2 *i iota u03B9 "+"
+.C2 *k kappa u03BA "+"
+.C2 *l lambda u03BB "+"
+.C2 *m mu u03BC "+"
+.C2 *n nu u03BD "+"
+.C2 *c xi u03BE "+"
+.C2 *o omicron u03BF "+"
+.C2 *p pi u03C0 "+"
+.C2 *r rho u03C1 "+"
+.C2 ts sigma1 u03C2 "terminal sigma +"
+.C2 *s sigma u03C3 "+"
+.C2 *t tau u03C4 "+"
+.C2 *u upsilon u03C5 "+"
+.C2 *f phi u03D5 "(stroked glyph)+"
+.C2 *x chi u03C7 "+"
+.C2 *q psi u03C8 "+"
+.C2 *w omega u03C9 "+"
+.C2 +h theta1 u03D1 "variant theta"
+.C2 +f phi1 u03C6 "variant phi (curly shape)"
+.C2 +p omega1 u03D6 "variant pi, looking like omega"
+.2e +e uni03F5 u03F5 "variant epsilon"
+.
+.Pa
.I Card symbols
-.C2 CL club "club suit"
-.C2 SP spade "spade suit"
-.C2 HE heart "heart suit"
-.C2 DI diamond "diamond suit"
-.ch Fo
+.P
+.2s CL club u2663 "black club suit"
+.C2 SP spade u2660 "black spade suit"
+.C2 HE heart u2665 "black heart suit"
+.C2 u2662 uni2662 u2662 "white heart suit"
+.C2 DI diamond u2666 "black diamond suit"
+.2e u2661 uni2661 u2661 "white diamond suit"
.
.
.\" --------------------------------------------------------------------
.SH "AUTHOR"
.\" --------------------------------------------------------------------
.
-Copyright \(co 1989-2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright \(co 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc.
.
.P
This document is distributed under the terms of the FDL (GNU Free
diff --git a/contrib/groff/man/groff_diff.man b/contrib/groff/man/groff_diff.man
index c6c1c23..eb00b44 100644
--- a/contrib/groff/man/groff_diff.man
+++ b/contrib/groff/man/groff_diff.man
@@ -3,12 +3,12 @@
.ig
groff_diff.man
-Last update : 05 July 2002
+Last update : 1 Mar 2003
This file is part of groff, the GNU roff type-setting system.
It is the source of the man-page groff_diff(7).
-Copyright (C) 1989, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc.
written by James Clark
modified by Werner Lemberg <wl@gnu.org>
@@ -143,17 +143,6 @@ and the modern
.I groff
documentation.
.
-.P
-At the moment, this document is the place of the most actual
-documentation within the
-.I groff
-system.
-.
-This might change in the future.
-.
-Actually, all novelties of the groff language are first described here
-and will pervade into the other documents only at a later stage.
-.
.
.\" --------------------------------------------------------------------
.SH "GROFF LANGUAGE"
@@ -171,20 +160,33 @@ are described in detail.
.\" --------------------------------------------------------------------
.
The names of number registers, fonts, strings/\:macros/\:diversions,
-special characters, and colors can be of any length.
+special characters (glyphs), and colors can be of any length.
.
In escape sequences, additionally to the classical
.BI ( xx
-construction for a two character name, you can use
+construction for a two-character name, you can use
.BI [ xxx ]
-for a name of arbitrary length, for example in
+for a name of arbitrary length.
.
-.TP \w'\[rs]f[xxx]'u+3n
+.TP
.BI \[rs][ xxx ]
-Print the special character called
+Print the special character (glyph) called
.IR xxx .
.
.TP
+.BI \[rs][ "comp1 comp2 .\|.\|." ]
+Print composite glyph consisting of multiple components.
+.
+Example: `\[rs][A\~ho]' is capital letter A with ogonek which finally maps
+to glyph name `u0041_0328'.
+.
+See the
+.I groff info file
+for details how a glyph name for a composite glyph is constructed, and
+.BR groff_char (@MAN7EXT@)
+for list of glyph name components used composite glyph names.
+.
+.TP
.BI \[rs]f[ xxx ]
Set font
.IR xxx .
@@ -387,7 +389,7 @@ is empty.
.
.TP
.BI \[rs]C' xxx '
-Typeset character named
+Typeset glyph named
.IR xxx .
Normally it is more convenient to use
.BI \[rs][ xxx ]\f[R].
@@ -463,15 +465,15 @@ switches back to the previous color.
.
.TP
.BI \[rs]N' n '
-Typeset the character with code
+Typeset the glyph with index
.I n
in the current font.
.I n
can be any integer.
.
-Most devices only have characters with codes between 0 and 255.
+Most devices only have glyphs with indices between 0 and 255.
.
-If the current font does not contain a character with that code,
+If the current font does not contain a glyph with that code,
special fonts will
.I not
be searched.
@@ -490,12 +492,12 @@ request, for example
.RE
.
.IP
-The code of each character is given in the fourth column in the font
+The index of each glyph is given in the fourth column in the font
description file after the
.B charset
command.
.
-It is possible to include unnamed characters in the font description
+It is possible to include unnamed glyphs in the font description
file by using a name of
.BR \-\-\- ;
the
@@ -756,9 +758,9 @@ will print\~\c
.
.TP
.B \[rs]/
-This increases the width of the preceding character so that the
-spacing between that character and the following character will be
-correct if the following character is a roman character.
+This increases the width of the preceding glyph so that the
+spacing between that glyph and the following glyph will be
+correct if the following glyph is a roman glyph.
.
.if t \{\
. nop For example, if an italic f is immediately followed by a roman
@@ -773,14 +775,14 @@ correct if the following character is a roman character.
. nop and avoids this problem.
.\}
It is a good idea to use this escape sequence whenever an italic
-character is immediately followed by a roman character without any
+glyph is immediately followed by a roman glyph without any
intervening space.
.
.TP
.B \[rs],
-This modifies the spacing of the following character so that the
-spacing between that character and the preceding character will
-correct if the preceding character is a roman character.
+This modifies the spacing of the following glyph so that the
+spacing between that glyph and the preceding glyph will
+correct if the preceding glyph is a roman glyph.
.
.if t \{\
. nop For example, inserting
@@ -791,7 +793,7 @@ correct if the preceding character is a roman character.
. el \f[R](\^\f[I]f\f[R].
.\}
It is a good idea to use this escape sequence whenever a roman
-character is immediately followed by an italic character without any
+glyph is immediately followed by an italic glyph without any
intervening space.
.
.TP
@@ -1037,19 +1039,19 @@ hyphenation codes.
.
.IP 4
Lines can be broken after the character (initially characters
-.B \-\[rs](hy\[rs](em
+.B \-\[rs][hy]\[rs][em]
have this property); a line will not be broken at a character with
this property unless the characters on each side both have non-zero
hyphenation codes.
.
.IP 8
The character overlaps horizontally (initially characters
-.B \[rs](ul\[rs](rn\[rs](ru
+.B \[rs][ul]\[rs][rn]\[rs][ru]\[rs][radicalex]\[rs][sqrtex]
have this property).
.
.IP 16
The character overlaps vertically (initially character
-.B \[rs](br
+.B \[rs][br]
has this property).
.
.IP 32
@@ -1064,11 +1066,11 @@ have this property).
.
.TP
.BI .char\ c\ string
-Define character
+Define glyph
.I c
to be
.IR string .
-Every time character
+Every time glyph
.I c
needs to be printed,
.I string
@@ -1083,12 +1085,12 @@ while
is being processed.
.
Any emboldening, constant spacing or track kerning will be applied to
-this object rather than to individual characters in
+this object rather than to individual glyphs in
.IR string .
.
.IP
-A character defined by this request can be used just like a normal
-character provided by the output device.
+A glyph defined by this request can be used just like a normal
+glyph provided by the output device.
.
In particular other characters can be translated to it with the
.B tr
@@ -1104,18 +1106,18 @@ correctly, if the
request is used to give the character a hyphenation code.
.
.IP
-There is a special anti-recursion feature: use of character within the
-character's definition will be handled like normal characters not
+There is a special anti-recursion feature: Use of glyph within the
+glyph's definition will be handled like normal glyphs not
defined with
.BR char .
.IP
-A character definition can be removed with the
+A glyph definition can be removed with the
.B rchar
request.
.
.TP
.BI .chop\ xx
-Chop the last character off macro, string, or diversion
+Chop the last element off macro, string, or diversion
.IR xx .
This is useful for removing the newline from the end of diversions
that are to be interpolated as strings.
@@ -1134,6 +1136,16 @@ See the
request.
.
.TP
+.BI .composite\ glyph1\ glyph2
+Map glyph name
+.I glyph1
+to glyph name
+.I glyph2
+if it is used in
+.BI \[rs][ ... ]
+with more than one component.
+.
+.TP
.B .continue
Finish the current iteration of a while loop.
.
@@ -1350,29 +1362,49 @@ request for more information on font families.
.
.TP
.BI .fchar\ c\ string
-Define fallback character
+Define fallback glyph
.I c
to be
.IR string .
+.
The syntax of this request is the same as the
.B char
-request; the only difference is that a character defined with
+request; the only difference is that a glyph defined with
.B char
hides the glyph with the same name in the current font, whereas a
-character defined with
+glyph defined with
.B fchar
is checked only if the particular glyph isn't found in the current font.
.
This test happens before checking special fonts.
.
.TP
+.BI .fschar\ f\ c\ string
+Define fallback glyph
+.I c
+for font
+.I f
+to be
+.IR string .
+.
+The syntax of this request is the same as the
+.B char
+request (with an additional argument to specify the font); a glyph
+defined with
+.B fschar
+is searched after the list of fonts declared with the
+.B fspecial
+request but before the list of fonts declared with
+.BR special .
+.
+.TP
.BI .fspecial\ f\ s1\ s2\|.\|.\|.\&
When the current font is
.IR f ,
fonts
.IR s1 ,
.IR s2 ,\|.\|.\|.\&
-will be special, that is, they will searched for characters not in
+will be special, that is, they will searched for glyphs not in
the current font.
.
Any fonts specified in the
@@ -1381,6 +1413,8 @@ request will be searched after fonts specified in the
.B fspecial
request.
.
+Without argument, reset the list of global special fonts to be empty.
+.
.TP
.BI .ftr\ f\ g
Translate font
@@ -1845,7 +1879,7 @@ with a positive value which are applied after the line is output.
.
.TP
.BI .rchar\ c1\ c2\|.\|.\|.\&
-Remove the definitions of characters
+Remove the definitions of glyphs
.IR c1 ,
.IR c2 ,\|.\|.\|.
This undoes the effect of a
@@ -1859,6 +1893,15 @@ Within a macro, return immediately.
No effect otherwise.
.
.TP
+.BI .rfschar\ c1\ c2\|.\|.\|.\&
+Remove the font-specific definitions of glyphs
+.IR c1 ,
+.IR c2 ,\|.\|.\|.
+This undoes the effect of a
+.B fschar
+request.
+.
+.TP
.B .rj
.TQ
.BI .rj \~n
@@ -1887,6 +1930,21 @@ to
.IR yy .
.
.TP
+.BI .schar\ c\ string
+Define global fallback glyph
+.I c
+to be
+.IR string .
+.
+The syntax of this request is the same as the
+.B char
+request; a glyph defined with
+.B schar
+is searched after the list of fonts declared with the
+.B special
+request but before the mounted special fonts.
+.
+.TP
.BI .shc\ c
Set the soft hyphen character to
.IR c .
@@ -1894,11 +1952,11 @@ If
.I c
is omitted, the soft hyphen character will be set to the default
.BR \[rs](hy .
-The soft hyphen character is the character which will be inserted when
+The soft hyphen character is the glyph which will be inserted when
a word is hyphenated at a line break.
.
If the soft hyphen character does not exist in the font of the
-character immediately preceding a potential break point, then the line
+glyph immediately preceding a potential break point, then the line
will not be broken at that point.
.
Neither definitions (specified with the
@@ -1954,9 +2012,11 @@ than a single line.
Fonts
.IR s1 ,
.IR s2 ,
-are special and will be searched for characters not in the current
+are special and will be searched for glyphs not in the current
font.
.
+Without arguments, reset the list of special fonts to be empty.
+.
.TP
.BI .spreadwarn\ limit
Make
@@ -2064,7 +2124,7 @@ Enable track kerning for font
.IR f .
When the current font is
.I f
-the width of every character will be increased by an amount between
+the width of every glyph will be increased by an amount between
.I n1
and
.IR n2 ;
@@ -2276,7 +2336,7 @@ For example,
.B .warn\~0
will disable all warnings, and
.B .warn\~1
-will disable all warnings except that about missing characters.
+will disable all warnings except that about missing glyphs.
.
If
.I n
@@ -2359,6 +2419,19 @@ is read in copy mode.
.
.
.\" --------------------------------------------------------------------
+.SS "Extended escape sequences"
+.\" --------------------------------------------------------------------
+.
+.TP
+.BI \[rs]D' .\|.\|. '
+All drawing commands of groff's intermediate output are accepted.
+.
+See subsection
+.B "Drawing Commands"
+below for more information.
+.
+.
+.\" --------------------------------------------------------------------
.SS "Extended requests"
.\" --------------------------------------------------------------------
.
@@ -2463,9 +2536,9 @@ The following read-only registers are available:
.
.TP
.B \[rs]n[.cdp]
-The depth of the last character added to the current environment.
+The depth of the last glyph added to the current environment.
.
-It is positive if the character extends below the baseline.
+It is positive if the glyph extends below the baseline.
.
.TP
.B \[rs]n[.ce]
@@ -2475,9 +2548,9 @@ request.
.
.TP
.B \[rs]n[.cht]
-The height of the last character added to the current environment.
+The height of the last glyph added to the current environment.
.
-It is positive if the character extends above the baseline.
+It is positive if the glyph extends above the baseline.
.
.TP
.B \[rs]n[.color]
@@ -2485,12 +2558,12 @@ It is positive if the character extends above the baseline.
.
.TP
.B \[rs]n[.csk]
-The skew of the last character added to the current environment.
+The skew of the last glyph added to the current environment.
.
The
.I skew
-of a character is how far to the right of the center of a character
-the center of an accent over that character should be placed.
+of a glyph is how far to the right of the center of a glyph
+the center of an accent over that glyph should be placed.
.
.TP
.B \[rs]n[.ev]
@@ -2526,6 +2599,11 @@ Macros should use this to determine whether they are running under GNU
troff.
.
.TP
+.B \[rs]n[.height]
+The current height of the font as set with
+.BR \[rs]H .
+.
+.TP
.B \[rs]n[.hla]
The current hyphenation language as set by the
.B hla
@@ -2611,6 +2689,12 @@ register.
1\~if no-space mode is active, 0\~otherwise.
.
.TP
+.B \[rs]n[.pe]
+1\~during a page ejection caused by the
+.B bp
+request, 0\~otherwise.
+.
+.TP
.B \[rs]n[.pn]
The number of the next page, either the value set by a
.B pn
@@ -2637,6 +2721,11 @@ The number of lines to be right-justified as set by the
request.
.
.TP
+.B \[rs]n[.slant]
+The slant of the current font as set with
+.BR \[rs]S .
+.
+.TP
.B \[rs]n[.sr]
The last requested pointsize in points as a decimal fraction.
.
@@ -2733,19 +2822,19 @@ Like the
.B st
and
.B sb
-registers, but take account of the heights and depths of characters.
+registers, but take account of the heights and depths of glyphs.
.
.TP
.B \[rs]n[ssc]
The amount of horizontal space (possibly negative) that should be
-added to the last character before a subscript.
+added to the last glyph before a subscript.
.
.TP
.B \[rs]n[skw]
-How far to right of the center of the last character in the
+How far to right of the center of the last glyph in the
.B \[rs]w
argument, the center of an accent from a roman font should be placed
-over that character.
+over that glyph.
.
.P
Other available read/write number registers are:
@@ -2860,9 +2949,9 @@ is
.
.P
If the font description file contains pairwise kerning information,
-characters from that font will be kerned.
+glyphs from that font will be kerned.
.
-Kerning between two characters can be inhibited by placing a
+Kerning between two glyphs can be inhibited by placing a
.B \[rs]&
between them.
.
@@ -2932,13 +3021,13 @@ True if there is a color named
.
.TP
.BI .if\ c ch
-True if there is a character
+True if there is a glyph
.IR ch
available;
.I ch
is either an
.SM ASCII
-character or a special character
+character or a glyph (special character)
.BI \[rs]( xx
or
.BI \[rs][ xxx ]\f[R];
@@ -3014,7 +3103,7 @@ command is also in scaled points.
.
.TP
.BI N n
-Print character with index\~\c
+Print glyph with index\~\c
.I n
(a non-negative integer) of the current font.
.
@@ -3027,12 +3116,13 @@ commands.
.TP
.BI t xxx
.I xxx
-is any sequence of characters terminated by a space or a newline; the
-first character should be printed at the current position, the current
-horizontal position should be increased by the width of the first
-character, and so on for each character.
+is any sequence of characters terminated by a space or a newline (to
+be more precise, it is a sequence of glyphs which are accessed with
+the corresponding characters); the first character should be printed at
+the current position, the current horizontal position should be increased
+by the width of the first character, and so on for each character.
.
-The width of the character is that given in the font file,
+The width of the glyph is that given in the font file,
appropriately scaled for the current point size, and rounded so that
it is a multiple of the horizontal resolution.
.
@@ -3052,15 +3142,15 @@ Note that single characters can have the eighth bit set, as can the
names of fonts and special characters.
.
.P
-The names of characters and fonts can be of arbitrary length; drivers
+The names of glyphs and fonts can be of arbitrary length; drivers
should not assume that they will be only two characters long.
.
.P
-When a character is to be printed, that character will always be
+When a glyph is to be printed, that glyph will always be
in the current font.
.
Unlike device-independent troff, it is not necessary for drivers to
-search special fonts to find a character.
+search special fonts to find a glyph.
.
.P
For color support, some new commands have been added:
@@ -3139,6 +3229,13 @@ text.
Normally this will be black, but some drivers may provide a way of
changing this.
.
+.IP
+The corresponding
+.BI \[rs]D'f .\|.\|. '
+command shouldn't be used since its argument is always rounded to an
+integer multiple of the horizontal resolution which can lead to
+surprising results.
+.
.TP
.Text \f[B]DC \f[I]d\f[R]\*[ic]\[rs]n
Draw a solid circle with a diameter of
@@ -3230,7 +3327,9 @@ exception of
.BR De .
For the sake of compatibility GNU troff also follows this rule, even
though it produces an ugly result in the case of the
-.BR Dt ,
+.B Dt
+and
+.BR Df ,
and, to a lesser extent,
.B DE
commands.
@@ -3265,11 +3364,8 @@ Set the color components of the filling color similar to the
commands above.
.
.P
-Note that
-.B Df
-is now mapped onto
-.BR DFg .
-The current position isn't changed by those colour commands.
+The current position isn't changed by those colour commands (contrary to
+.BR Df ).
.
.
.\" --------------------------------------------------------------------
@@ -3445,10 +3541,10 @@ pointsize will be set to 10\~scaled points.
In
.I groff
mode, there is a fundamental difference between unformatted input
-characters, and formatted output characters.
+characters, and formatted output characters (glyphs).
.
-Everything that affects how an output character will be output is
-stored with the character; once an output character has been
+Everything that affects how a glyph will be output is
+stored with the glyph; once a glyph has been
constructed it is unaffected by any subsequent requests that are
executed, including the
.request bd ,
@@ -3460,16 +3556,20 @@ or
requests.
.
.P
-Normally output characters are constructed from input characters at
-the moment immediately before the character is added to the current
+Normally glyphs are constructed from input characters at
+the moment immediately before the glyph is added to the current
output line.
.
Macros, diversions and strings are all, in fact, the same type of
-object; they contain lists of input characters and output characters
+object; they contain lists of input characters and glyphs
in any combination.
.
.P
-An output character does not behave like an input character for the
+Special characters can be both; before being added to the output, they
+act as input entities, afterwards they denote glyphs.
+.
+.P
+A glyph does not behave like an input character for the
purposes of macro processing; it does not inherit any of the special
properties that the input character from which it was constructed
might have had.
@@ -3496,7 +3596,7 @@ this will be printed as
.esc \[rs] .
So each pair of input backslashes
.squoted \[rs]\[rs]
-is turned into a single output backslash
+is turned into a single output backslash glyph
.squoted \[rs]
and the resulting output backslashes are not interpreted as escape
characters when they are reread.
@@ -3562,7 +3662,7 @@ classical "device-independent" troff did.
.SH AUTHORS
.\" --------------------------------------------------------------------
.
-Copyright (C) 1989, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc.
.
.P
This document is distributed under the terms of the FDL (GNU Free
diff --git a/contrib/groff/man/groff_font.man b/contrib/groff/man/groff_font.man
index 07fe520..462baeb 100644
--- a/contrib/groff/man/groff_font.man
+++ b/contrib/groff/man/groff_font.man
@@ -1,5 +1,5 @@
.ig
-Copyright (C) 1989-1995, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1989-1995, 2001, 2002, 2003 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -105,20 +105,13 @@ The physical vertical dimension of the output medium in machine units.
.
This isn't used by
.B troff
-itself; currently, only
-.B grops
-uses it.
+itself but by output devices.
.
-.TP
-.BI paperwidth\ n
-The physical horizontal dimension of the output medium in machine units.
-.
-This isn't used by
-.BR troff .
+Deprecated.
.
-Currently, only the
-.B grolbp
-output device uses it.
+Use
+.B papersize
+instead.
.
.TP
.BI papersize\ string
@@ -167,6 +160,19 @@ More than one argument can be specified;
.B groff
scans from left to right and uses the first valid paper specification.
.
+.TP
+.BI paperwidth\ n
+The physical horizontal dimension of the output medium in machine units.
+.
+Deprecated.
+.
+Use
+.B papersize
+instead.
+.
+This isn't used by
+.BR troff
+itself but by output devices.
.
.TP
.B pass_filenames
@@ -286,10 +292,10 @@ and
.B sizes
lines are compulsory.
.
-Other commands are ignored by
+Not all commands in the DESC file are used by
.B troff
-but may be used by postprocessors to store arbitrary information
-about the device in the DESC file.
+itself; some of the keywords (or even additional ones) are used by
+postprocessors to store arbitrary information about the device.
.
.LP
Here a list of obsolete keywords which are recognized by
diff --git a/contrib/groff/man/groff_out.man b/contrib/groff/man/groff_out.man
index 5fe7dcc..b45e82f 100644
--- a/contrib/groff/man/groff_out.man
+++ b/contrib/groff/man/groff_out.man
@@ -3,11 +3,11 @@
.ig
groff_out.5
-Last update: 12 Sep 2002
+Last update: 13 Apr 2003
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 1989, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc.
rewritten from scrach 2001 by Bernd Warken <bwarken@mayn.de>
Permission is granted to copy, distribute and/or modify this document
@@ -719,10 +719,19 @@ red, green, and blue.
.command N n
Print character with index\~\c
.argument n
-(a non-negative integer) of the current font.
+(an integer, normally non-negative) of the current font.
.
The print position is not changed.
.
+If
+.B \-T\~html
+is used, negative values are emitted also to indicate an unbreakable space
+with given width.
+.
+For example,
+.B N\~-193
+represents an unbreakable space which has a width of 193u.
+.
This command is a groff extension.
.
.
@@ -1290,7 +1299,7 @@ This is the second command of the prologue.
.xsub Slant
Set slant to\~\c
.argument n
-(an integer in basic units\~\c
+degrees (an integer in basic units\~\c
.unit u ).
.
.
@@ -1726,7 +1735,7 @@ Device description file for device
.IR name .
.
.TP
-.IB \[la]groff_source_dir\[ra] /src/libs/libdriver/input.cc
+.IB \[la]groff_source_dir\[ra] /src/libs/libdriver/input.cpp
Defines the parser and postprocessor for the intermediate output.
.
It is located relative to the top directory of the
@@ -1855,7 +1864,7 @@ see
.SH "AUTHORS"
.\" --------------------------------------------------------------------
.
-Copyright (C) 1989, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc.
.P
This document is distributed under the terms of the FDL (GNU Free
Documentation License) version 1.1 or later.
diff --git a/contrib/groff/man/groff_tmac.man b/contrib/groff/man/groff_tmac.man
index c0d3421..c1d8006 100644
--- a/contrib/groff/man/groff_tmac.man
+++ b/contrib/groff/man/groff_tmac.man
@@ -1,4 +1,3 @@
-.
.TH GROFF_TMAC @MAN5EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
groff_tmac \- macro files in the roff typesetting system
@@ -15,11 +14,11 @@ groff_tmac.5
File position: <groff-source>/man/groff_tmac.man
-Last update: 21 Aug 2002
+Last update: 13 Mar 2003
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de> and Werner Lemberg
<wl@gnu.org>
@@ -314,6 +313,21 @@ directories.
provides all classical macro packages, some more full packages, and
some secondary packages for special purposes.
.
+Note that it is not possible to use multiple primary macro packages at the
+same time; saying e.g.\&
+.
+.IP
+.Shell_cmd "groff \-m man \-m ms foo"
+.
+.P
+or
+.
+.IP
+.Shell_cmd "groff \-m man foo \-m ms bar"
+.
+.P
+will fail.
+.
.
.\" --------------------------------------------------------------------
.SS "Man\~Pages"
@@ -394,6 +408,108 @@ macro package or to plain groff.
.
.
.TP
+.B papersize
+This macro file is already loaded at start-up by
+.B @g@troff
+so it isn't necessary to call it explicitly.
+.
+It provides an interface to set the paper size on the command line with
+the option \f[B]\%\-dpaper=\f[]\f[I]size\f[].
+.
+Possible values for
+.I size
+are the same as the predefined
+.B papersize
+values in the DESC file (only lowercase; see
+.BR groff_font (@MAN5EXT@)
+for more) except
+.BR a7 - d7 .
+.
+An appended
+.B l
+(ell) character denotes landscape orientation.
+.
+Examples:
+.BR a4 ,
+.BR c3l ,
+.BR letterl .
+.
+.IP
+Most output drivers need additional command line switches
+.B \-p
+and
+.B \-l
+to override the default paper length and orientation as set in the driver
+specific DESC file.
+.
+For example, use the following for PS output on A4 paper in landscape
+orientation:
+.
+.IP
+.Shell_cmd "groff \-Tps \-dpaper=a4l \-P\-pa4 \-P\-l \-ms foo.ms > foo.ps"
+.
+.
+.TP
+.B pspic
+A single macro is provided in this file,
+.BR PSPIC ,
+to include a PostScript graphic in a document.
+.
+It makes only sense for output devices which support inclusion of PS
+images:
+.BR \-Tps ,
+.BR \-Tdvi ,
+and
+.BR \-Thtml ;
+the file is then loaded automatically.
+.
+Syntax:
+.RS
+.IP
+\&\fB.PSPIC\fP [\fB\-L\fP|\fB-R\fP|\fB\-I\fP \fIn\fP]\ \fI\|file\fP [\fIwidth\fP [\fIheight\fP]]
+.RE
+.
+.IP
+.I file
+is the name of the file containing the illustration;
+.I width
+and
+.I height
+give the desired width and height of the graphic.
+.
+The
+.I width
+and
+.I height
+arguments may have scaling indicators attached;
+the default scaling indicator is\~\c
+.BR i .
+.
+This macro will scale the graphic uniformly
+in the x and y\~directions so that it is no more than
+.I width
+wide
+and
+.I height
+high.
+.
+By default, the graphic will be horizontally centered.
+.
+The
+.BI \-L
+and
+.BI \-R
+options cause the graphic to be left-aligned and right-aligned,
+respectively.
+.
+The
+.B \-I
+option causes the graphic to be indented by\~\c
+.I n
+(default scaling indicator is\~\c
+.BR m ).
+.
+.TP
.B tty-char
Overrides the definition of standard troff characters and some groff
characters for tty devices.
@@ -625,7 +741,7 @@ is used or
.P
In both cases, the formatter is called with
.IP
-.Shell_cmd "troff\~\-s\~" docu.roff
+.Shell_cmd "groff\~\-s\~" docu.roff
.
.
.P
@@ -796,12 +912,16 @@ say.
.
.P
When calling this macro by
+.
.P
.Example
. Text .print_args arg1 arg2
./Example
+.
.P
the following text is printed to the terminal:
+.
+.P
.Example
. Text \f[CI]print_args\f[] was called with the following 2 arguments:
arg1 arg2
@@ -997,7 +1117,7 @@ All macro names must be named
to fully use the tmac mechanism.
.
.BI tmac. name
-as with classical packages is possible as well, but deprecated.
+as with classical packages is possible as well, but deprecated.
.
.
.P
@@ -1060,7 +1180,7 @@ See the previous section for a detailed description.
.SH AUTHOR
.\" --------------------------------------------------------------------
.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
.
.P
This document is distributed under the terms of the FDL (GNU Free
diff --git a/contrib/groff/man/roff.man b/contrib/groff/man/roff.man
index 5a9c5b5..621b362 100644
--- a/contrib/groff/man/roff.man
+++ b/contrib/groff/man/roff.man
@@ -1,11 +1,11 @@
.ig
roff.man
-Last update: 22 Apr 2002
+Last update: 3 Apr 2003
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>
@@ -269,7 +269,7 @@ operating system
.RI ( "Compatible Time Sharing System" )
as early as 1961.
.
-When CTTS was further developed into the operating system
+When CTSS was further developed into the operating system
.URL http://\:www.multicians.org "Multics" ,
the famous predecessor of Unix from 1963,
.I runoff
@@ -1105,9 +1105,6 @@ troff.org
.URL http://\:www.troff.org "The historical troff site"
provides an overview and pointers to all historical aspects of roff.
.
-This web site is under construction; once, it will be the major source
-for roff history.
-.
.TP
Multics
.URL http://\:www.multicians.org "The Multics site"
OpenPOWER on IntegriCloud