diff options
author | wlemb <wlemb> | 2002-04-15 10:21:12 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2002-04-15 10:21:12 +0000 |
commit | 89ae130621f74f74eb8744109a5f500f7deb01cf (patch) | |
tree | e0e0a9a93770bb06f94baac6d4431629387fcd76 | |
parent | e9c0c7e398d4a279cf7078591f5036fe9fac6b96 (diff) | |
download | groff-89ae130621f74f74eb8744109a5f500f7deb01cf.tar.gz |
Add new escape \F to switch font family.
* src/roff/troff/input.cc (token::next): Handle \F.
* src/roff/troff/env.cc (environment::set_family): Handle
`interrupted' flag.
* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
Document it.
* tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
spaces in tags.
* tmac/Xps.tmac: Remove some redundant code.
* tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac,
tmac/dvi.tmac, contrib/groffer/groffer.man, man/roff.man,
man/groff_out.man, man/groff.man, man/groff_diff.man,
src/roff/groff/groff.man: Replace \f[P] with \f[].
-rw-r--r-- | ChangeLog | 22 | ||||
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | contrib/groffer/groffer.man | 26 | ||||
-rw-r--r-- | doc/groff.texinfo | 57 | ||||
-rw-r--r-- | man/groff.man | 67 | ||||
-rw-r--r-- | man/groff_diff.man | 33 | ||||
-rw-r--r-- | man/groff_out.man | 34 | ||||
-rw-r--r-- | man/roff.man | 6 | ||||
-rw-r--r-- | src/devices/grotty/grotty.man | 2 | ||||
-rw-r--r-- | src/roff/groff/groff.man | 2 | ||||
-rw-r--r-- | src/roff/troff/env.cc | 4 | ||||
-rw-r--r-- | src/roff/troff/input.cc | 8 | ||||
-rw-r--r-- | tmac/Xps.tmac | 8 | ||||
-rw-r--r-- | tmac/doc-common | 16 | ||||
-rw-r--r-- | tmac/doc-ditroff | 16 | ||||
-rw-r--r-- | tmac/doc-nroff | 16 | ||||
-rw-r--r-- | tmac/doc.tmac | 66 | ||||
-rw-r--r-- | tmac/dvi.tmac | 4 | ||||
-rw-r--r-- | tmac/groff_www.man | 2 | ||||
-rw-r--r-- | tmac/www.tmac | 8 |
20 files changed, 244 insertions, 156 deletions
@@ -1,3 +1,18 @@ +2002-04-15 Werner LEMBERG <wl@gnu.org> + + Add new escape \F to switch font family. + + * src/roff/troff/input.cc (token::next): Handle \F. + * src/roff/troff/env.cc (environment::set_family): Handle + `interrupted' flag. + * NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man: + Document it. + +2002-04-14 Werner LEMBERG <wl@gnu.org> + + * tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of + spaces in tags. + 2002-04-13 Werner LEMBERG <wl@gnu.org> Implement \f[] as an alternative to \fP. Change \mP and \MP to @@ -22,6 +37,13 @@ doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man: Updated. + * tmac/Xps.tmac: Remove some redundant code. + + * tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac, + tmac/dvi.tmac, contrib/groffer/groffer.man, man/roff.man, + man/groff_out.man, man/groff.man, man/groff_diff.man, + src/roff/groff/groff.man: Replace \f[P] with \f[]. + 2002-04-13 Bernd Warken <bwarken@mayn.de> * src/include/printer.h, src/libs/libdriver/printer.cc @@ -42,6 +42,9 @@ o Color support has been added to troff and pic (and to the device drivers o Similar to \m and \M, \f[] switches back to the previous font. \fP (and \f[P]) is still valid for backwards compatibility. +o The new escape \F is the same as `.fam'; \F[] switches back to previous + family -- \F[P] selects family `P'. + o Two new glyph symbols are available: `eu' is the official Euro symbol; `Eu' is a font-specific glyph variant. diff --git a/contrib/groffer/groffer.man b/contrib/groffer/groffer.man index cd5be322..41278240 100644 --- a/contrib/groffer/groffer.man +++ b/contrib/groffer/groffer.man @@ -75,7 +75,7 @@ FDL in the main directory of the groff source package. . ds @opt \$1\" . shift . nh -. Text \f[CB]\*[@--]\f[P]\f[B]\*[@opt]\f[P]\/\$* +. Text \f[CB]\*[@--]\f[]\f[B]\*[@opt]\f[]\/\$* . hy . rm @opt .. @@ -91,10 +91,10 @@ FDL in the main directory of the groff source package. . shift . nh . ie (\n[.$] == 0) \ -. Text \f[R][\f[P]\f[CB]\*[@--]\f[P]\f[B]\*[@opt]\f[P]\f[R]]\f[P] +. Text \f[R][\f[]\f[CB]\*[@--]\f[]\f[B]\*[@opt]\f[]\f[R]]\f[] . el \{\ -. Text \f[R][\f[P]\f[CB]\*[@--]\f[P]\f[B]\*[@opt] -. Text \f[P]\f[I]\/\$*\f[P]\f[R]]\f[P] +. Text \f[R][\f[]\f[CB]\*[@--]\f[]\f[B]\*[@opt] +. Text \f[]\f[I]\/\$*\f[]\f[R]]\f[] . \} . hy . rm @opt @@ -113,13 +113,13 @@ FDL in the main directory of the groff source package. . if (\n[.$] >= 1) \{\ . ds @1 \$1\" . if !'\*[@1]'' \ -. ds @short \f[CB]\*[@-]\*[@1]\f[P]\" +. ds @short \f[CB]\*[@-]\*[@1]\f[]\" . if (\n[.$] >= 2) \{\ . if !'\*[@short]'' \ -. as @short \f[CW]\0\f[P]\" +. as @short \f[CW]\0\f[]\" . ds @2 \$2\" . if !'\*[@2]'' \ -. ds @long \f[CB]\*[@--]\f[P]\f[B]\*[@2]\f[P]\" +. ds @long \f[CB]\*[@--]\f[]\f[B]\*[@2]\f[]\" . if (\n[.$] >= 3) \{\ . if !'\*[@long]'' \ . as @long \|=\|\" @@ -128,7 +128,7 @@ FDL in the main directory of the groff source package. . \} . \} . \} -. IP "\f[R]\*[@short]\*[@long]\*[@arg]\f[P]" +. IP "\f[R]\*[@short]\*[@long]\*[@arg]\f[]" . hy . rm @1 . rm @2 @@ -142,7 +142,7 @@ FDL in the main directory of the groff source package. . br . ad l . nh -. Text \f[I]shell#\h'1m'\f[P]\f[CR]\$*\f[P]\&\" +. Text \f[I]shell#\h'1m'\f[]\f[CR]\$*\f[]\&\" . ft R . ft P . hy @@ -182,7 +182,7 @@ FDL in the main directory of the groff source package. . ds @opt \$1\" . shift . nh -. Text \f[CB]\*[@-]\f[P]\f[B]\*[@opt]\fP\/\$* +. Text \f[CB]\*[@-]\f[]\f[B]\*[@opt]\fP\/\$* . hy . rm @opt .. @@ -198,10 +198,10 @@ FDL in the main directory of the groff source package. . shift . nh . ie (\n[.$] == 0) \ -. Text \f[R][\f[P]\f[CB]\*[@-]\*[@opt]\f[P]\f[R]]\f[P] +. Text \f[R][\f[]\f[CB]\*[@-]\*[@opt]\f[]\f[R]]\f[] . el \{\ -. Text \f[R][\f[P]\f[CB]\*[@-]\*[@opt] -. Text \f[P]\f[I]\/\$*\f[P]\f[R]]\f[P] +. Text \f[R][\f[]\f[CB]\*[@-]\*[@opt] +. Text \f[]\f[I]\/\$*\f[]\f[R]]\f[] . \} . hy . rm @opt diff --git a/doc/groff.texinfo b/doc/groff.texinfo index 0f1c5ad1..585e10fc 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -7500,6 +7500,7 @@ special symbols (Greek, mathematics). @cindex fonts, changing (@code{ft}, @code{\f}) @cindex @code{sty} request, and changing fonts @cindex @code{fam} request, and changing fonts +@cindex @code{\F} escape, and changing fonts @kindex styles @kindex family @pindex DESC @@ -7513,8 +7514,8 @@ to @var{font} (one-character name@w{ }@var{f}, two-character name If @var{font} is a style name (as set with the @code{sty} request or with the @code{styles} command in the @file{DESC} file), use it within -the current font family (as set with the @code{fam} request or with -the @code{family} command in the @file{DESC} file). +the current font family (as set with the @code{fam} request, @code{\F} +escape, or with the @code{family} command in the @file{DESC} file). @cindex previous font (@code{ft}, @code{\f[]}, @code{\fP}) @cindex font, previous (@code{ft}, @code{\f[]}, @code{\fP}) @@ -7538,7 +7539,7 @@ and sausage. eggs, bacon, \fBspam\fP and sausage. @endExample -Note that @code{\f} doesn't produce an inpt token in @code{gtroff}. +Note that @code{\f} doesn't produce an input token in @code{gtroff}. As a consequence, it can be used in requests like @code{mc} (which expects a single character as an argument) to change the font on the fly: @@ -7594,13 +7595,21 @@ By default, @code{gtroff} uses the Times family with the four styles This way, it is possible to use the basic four fonts and to select a different font family on the command line (@pxref{Groff Options}). -@cindex changing font family (@code{fam}) -@cindex font family, changing (@code{fam}) +@cindex changing font family (@code{fam}, @code{\F}) +@cindex font family, changing (@code{fam}, @code{\F}) @DefreqList {fam, [@Var{family}]} @DefregItem {.fam} +@DefescItem {\\F, , f, } +@DefescItem {\\F, @lparen{}, fm, } +@DefescItem {\\F, @lbrack{}, family, @rbrack} @DefregListEnd {.fn} -Switch font family to @var{family}. If no argument is given, switch -back to the previous font family. The value at start-up is @samp{T}. +Switch font family to @var{family} (one-character name@w{ }@var{f}, +two-character name @var{fm}). If no argument is given, switch +back to the previous font family. Use @code{\F[]} to do this with the +escape. Note that @code{\FP} doesn't work; it selects font family +@samp{P} instead. + +The value at start-up is @samp{T}. The current font family is available in the read-only number register @samp{.fam} (this is a string-valued register); it is associated with the current environment. @@ -7619,6 +7628,15 @@ baked beans, and spam. @endExample +Note that @code{\F} doesn't produce an input token in @code{gtroff}. +As a consequence, it can be used in requests like @code{mc} (which +expects a single character as an argument) to change the font family on +the fly: + +@Example +.mc \F[P]x\F[] +@endExample + The @samp{.fn} register contains the current @dfn{real font name} of the current font. This is a string-valued register. @@ -7672,8 +7690,8 @@ is equivalent to .sty 4 BI @endExample -@code{fam} always checks whether the current font position is valid; -this can give surprising results if the current font position is +@code{fam} and @code{\F} always check whether the current font position +is valid; this can give surprising results if the current font position is associated with a style. In the following example, we want to access the @sc{PostScript} font @@ -7773,6 +7791,7 @@ syntax forms to access font positions. @cindex font position, changing (@code{\f}) @cindex @code{sty} request, and font positions @cindex @code{fam} request, and font positions +@cindex @code{\F} escape, and font positions @kindex styles @kindex family @pindex DESC @@ -7786,8 +7805,9 @@ integer. If @var{nnn} is associated with a style (as set with the @code{sty} request or with the @code{styles} command in the @file{DESC} file), use -it within the current font family (as set with the @code{fam} request or -with the @code{family} command in the @file{DESC} file). +it within the current font family (as set with the @code{fam} request, +the @code{\F} escape, or with the @code{family} command in the @file{DESC} +file). @Example this is font 1 @@ -7884,7 +7904,8 @@ character @code{a} is not the same as @code{\[a]}. By default, it is usually accessed as @code{\-}. On the other hand, @code{gtroff} has the special feature that @code{\[char@var{XXX}]} is the same as the input character with character code @var{XXX}. For example, -@code{\[char97]} is identical to the letter @code{a}.} +@code{\[char97]} is identical to the letter @code{a} if @acronym{ASCII} +encoding is active.} If @var{name} is undefined, a warning of type @samp{char} is generated, and the escape is ignored. @xref{Debugging}, for information about @@ -8113,7 +8134,7 @@ Default unit is @samp{z}. Currently, only the @option{-Tps} device supports this feature. -Note that @code{\H} doesn't produce an inpt token in @code{gtroff}. +Note that @code{\H} doesn't produce an input token in @code{gtroff}. As a consequence, it can be used in requests like @code{mc} (which expects a single character as an argument) to change the font on the fly: @@ -8134,7 +8155,7 @@ degrees. Positive values slant to the right. Currently, only the @option{-Tps} device supports this feature. -Note that @code{\S} doesn't produce an inpt token in @code{gtroff}. +Note that @code{\S} doesn't produce an input token in @code{gtroff}. As a consequence, it can be used in requests like @code{mc} (which expects a single character as an argument) to change the font on the fly: @@ -11368,10 +11389,10 @@ it sets the four number registers to zero. @cindex node, output @code{gtroff} processes input in three steps. One or more input characters are converted to an @dfn{input token}.@footnote{Except the -escapes @code{\f}, @code{\H}, @code{\R}, @code{\s}, and @code{\S} -which are processed immediately if not in copy-in mode.} Then, one -or more input tokens are converted to an @dfn{output node}. Finally, -output nodes are converted to the intermediate output language +escapes @code{\f}, @code{\F}, @code{\H}, @code{\R}, @code{\s}, and +@code{\S} which are processed immediately if not in copy-in mode.} +Then, one or more input tokens are converted to an @dfn{output node}. +Finally, output nodes are converted to the intermediate output language understood by all output devices. Actually, before step one happens, @code{gtroff} converts certain diff --git a/man/groff.man b/man/groff.man index 71ae61ca..9446dab4 100644 --- a/man/groff.man +++ b/man/groff.man @@ -2,7 +2,7 @@ .ig groff.man -Last update: 14 Apr 2002 +Last update: 15 Apr 2002 This file is part of groff, the GNU roff type-setting system. @@ -75,12 +75,12 @@ FDL in the main directory of the groff source package. . if (\n[.$] = 0) \ . break . ds @a \$1\" -. as @s \f[\*[@f1]]\*[@a]\f[P]\" +. as @s \f[\*[@f1]]\*[@a]\f[]\" . shift . if (\n[.$] = 0) \ . break . ds @a \$1\" -. as @s \f[\*[@f2]]\*[@a]\f[P]\" +. as @s \f[\*[@f2]]\*[@a]\f[]\" . shift . \} . \*[@m] \*[@s]\f[R] @@ -126,11 +126,11 @@ FDL in the main directory of the groff source package. . shift 1 . ie (\n[.$] = 0) \{\ . TP 10n -. Text \f[CB]\*[@1]\f[P] +. Text \f[CB]\*[@1]\f[] . \} . el \{\ . TP 10n -. Text \f[CB]\*[@1]\~\f[P]\f[I]\$*\f[P] +. Text \f[CB]\*[@1]\~\f[]\f[I]\$*\f[] . \} . rm @1 .. @@ -143,13 +143,13 @@ FDL in the main directory of the groff source package. . .c number with a trailing unit .de scalednumber -. Text \$1\^\f[CB]\$2\f[P]\$3\f[R] +. Text \$1\^\f[CB]\$2\f[]\$3\f[R] . ft P .. . .c representation of units within the text .de scaleindicator -. Text \f[CB]\$1\f[P]\$2\f[R] +. Text \f[CB]\$1\f[]\$2\f[R] . ft P .. . @@ -243,7 +243,7 @@ FDL in the main directory of the groff source package. .de escarg . if (\n[.$] < 2) \ . ab .esc needs 2 or 3 arguments. -. Text \f[B]\[rs]\$1\f[P]\f[I]\$2\f[P]\$3 +. Text \f[B]\[rs]\$1\f[]\f[I]\$2\f[]\$3 .. .c --------------------------------------------------------------------- .c .esc[] name arg [punct] @@ -257,7 +257,7 @@ FDL in the main directory of the groff source package. .de esc[] . if (\n[.$] < 2) \ . ab .esc[] needs 2 or 3 arguments. -. Text \f[B]\[rs]\$1\[lB]\f[P]\f[I]\$2\f[P]\f[B]\[rB]\f[P]\$3 +. Text \f[B]\[rs]\$1\[lB]\f[]\f[I]\$2\f[]\f[B]\[rB]\f[]\$3 .. . .c --------------------------------------------------------------------- @@ -272,7 +272,7 @@ FDL in the main directory of the groff source package. .de escq . if (\n[.$] < 2) \ . ab .escq needs 2 arguments. -. Text \f[B]\[rs]\$1\[cq]\f[P]\f[I]\$2\f[P]\f[B]\[cq]\f[P]\$3 +. Text \f[B]\[rs]\$1\[cq]\f[]\f[I]\$2\f[]\f[B]\[cq]\f[]\$3 .. . .c --------- strings --------- @@ -282,14 +282,14 @@ FDL in the main directory of the groff source package. . ds @1 \$1\" . shift 1 . TP 10n -. ExecFF Text R CB \[rs]*[ \*[@1]\f[P]\f[R]] \$* +. ExecFF Text R CB \[rs]*[ \*[@1]\f[]\f[R]] \$* . rm @1 .. .c synopsis for a long string .de string . if (\n[.$] = 0) \ . return -. Text \f[CB]\[rs]*\[lB]\$1\[rB]\f[P]\$2 +. Text \f[CB]\[rs]*\[lB]\$1\[rB]\f[]\$2 .. . . @@ -300,7 +300,7 @@ FDL in the main directory of the groff source package. . ds @1 \$1\" . shift 1 . TP 10n -. ExecFF Text R CB \[rs]n[ \*[@1]\f[P]\f[R]] \$* +. ExecFF Text R CB \[rs]n[ \*[@1]\f[]\f[R]] \$* . rm @1 .. .c reference of a register, without decoration @@ -694,7 +694,7 @@ The open parenthesis is only special in escape sequences when introducing an escape name or argument consisting of exactly two characters. . -In groff, this behavior can be replaced by the \f[CB][]\f[P] construct. +In groff, this behavior can be replaced by the \f[CB][]\f[] construct. .TP .character [ The opening bracket is only special in groff escape sequences; there @@ -708,7 +708,7 @@ it terminates a long escape name or long escape argument. . Otherwise, it is non-special. .TP -\f[CI]space\f[P] +\f[CI]space\f[] Space characters are only functional characters. . They separate the arguments in requests or macros, and the words in @@ -725,14 +725,14 @@ or .esc h should be used. . -.IP \f[CI]newline\f[P] +.IP \f[CI]newline\f[] In text paragraphs, newlines mostly behave like space characters. . Continuation lines can be specified by an escaped newline, i.e., by specifying a backslash .squoted_char \[rs] as the last character of a line. -.IP \f[CI]tab\f[P] +.IP \f[CI]tab\f[] If a tab character occurs during text the interpreter makes a horizontal jump to the next pre-defined tab position. . @@ -803,7 +803,7 @@ Basic unit for actual output device .B v Vertical line space in basic units scaled point\ \[eq]\ 1/\f[CI]sizescale\f[R] of a point (defined in -font \f[I]DESC\f[P] file) +font \f[I]DESC\f[] file) . .TPx .B f @@ -1130,14 +1130,14 @@ Begin line adjustment for output lines in current adjust mode. .REQ .ad c Start line adjustment in mode .I c -(\f[CI]c\f[P]\f[CR]\|\^\[eq]\|l,r,b,n\f[P]). +(\f[CI]c\f[]\f[CR]\|\^\[eq]\|l,r,b,n\f[]). . .REQ .af register c Assign format .I c to .I register -(\f[CI]c\f[P]\f[CR]\|\^\[eq]\|l,i,I,a,A\f[P]). +(\f[CI]c\f[]\f[CR]\|\^\[eq]\|l,i,I,a,A\f[]). . .REQ .aln alias register Create alias name for @@ -2003,7 +2003,7 @@ Space-character size set to .IR N /12 and sentence space size set to .IR M /12 -of the spacewidth in the current font (\f[CR]\[eq]1/3 em\f[P]). +of the spacewidth in the current font (\f[CR]\[eq]1/3 em\f[]). . .REQ .sty n style Associate @@ -2040,7 +2040,7 @@ Set tabs after every position that is a multiple of .I N (default scaling indicator\~\c .scaleindicator m ). -.REQ .ta n1 n2 .\|.\|.\& nn \f[CB]T\f[P] r1 r2 .\|.\|.\& rn +.REQ .ta n1 n2 .\|.\|.\& nn \f[CB]T\f[] r1 r2 .\|.\|.\& rn Set tabs at positions .IR n1 , .IR n2 , @@ -2078,7 +2078,7 @@ Temporary indent next line (default scaling indicator\~\c Enable track kerning for .IR font . . -.REQ .tl \f[CB]\[cq]\f[P]left\f[CB]\[cq]\f[P]center\f[CB]\[cq]\f[P]right\f[CB]\[cq]\f[P] +.REQ .tl \f[CB]\[cq]\f[]left\f[CB]\[cq]\f[]center\f[CB]\[cq]\f[]right\f[CB]\[cq]\f[] Three-part title. . .REQ .tm anything @@ -2309,11 +2309,11 @@ except that the terminating newline is ignored as well. . .\" --------- strings --------- . -.ESC *\f[I]s\f[P] +.ESC *\f[I]s\f[] The string stored in the string variable with 1-character name .IR s . . -.ESC *(\f[I]st\f[P] +.ESC *(\f[I]st\f[] The string stored in the string variable with 2-character name .IR st . . @@ -2520,7 +2520,7 @@ Change to font with 1-character name or 1-digit number Switch back to previous font. . .ESC f( fo -Change to font with 2-characer name or 2-digit number +Change to font with 2-character name or 2-digit number .IR fo . . .ESC[] f font @@ -2530,6 +2530,21 @@ Change to font with arbitrary length name or number expression .ESC[] f "" Switch back to previous font. . +.ESC F f +Change to font family with 1-character name +.IR f . +. +.ESC F( fm +Change to font family with 2-character name +.IR fm . +. +.ESC[] F fam +Change to font family with arbitrary length name +.IR fam . +. +.ESC[] F "" +Switch back to previous font family. +. .ESC[] g reg Return format of register with name .I reg diff --git a/man/groff_diff.man b/man/groff_diff.man index f39b2506..ca8168e2 100644 --- a/man/groff_diff.man +++ b/man/groff_diff.man @@ -3,7 +3,7 @@ .ig groff_diff.man -Last update : 14 Apr 2002 +Last update : 15 Apr 2002 This file is part of groff, the GNU roff type-setting system. It is the source of the man-page groff_diff(7). @@ -64,21 +64,21 @@ FDL in the main directory of the groff source package. .de squoted . ds @arg1 \$1 . shift -.\" Text \[oq]\f[CB]\*[@arg1]\f[P]\[cq]\$* -. Text \[oq]\f[B]\*[@arg1]\f[P]\[cq]\$* +.\" Text \[oq]\f[CB]\*[@arg1]\f[]\[cq]\$* +. Text \[oq]\f[B]\*[@arg1]\f[]\[cq]\$* . rm @arg1 .. .\" A shell command line .de ShellCommand . br -. IR "shell#" "\h'1m'\f[CB]\$*\f[P]\/" +. IR "shell#" "\h'1m'\f[CB]\$*\f[]\/" .. .\" reference of a request or macro .de request . ds @arg1 \$1 . shift 1 -.\" Text \f[CB]\*[@arg1]\f[P]\$* -. Text \f[B]\*[@arg1]\f[P]\$* +.\" Text \f[CB]\*[@arg1]\f[]\$* +. Text \f[B]\*[@arg1]\f[]\$* . rm @arg1 .. .als option request @@ -87,8 +87,8 @@ FDL in the main directory of the groff source package. .de esc . ds @arg1 \$1 . shift -.\" Text \f[CB]\[rs]\*[@arg1]\f[P]\$* -. Text \f[B]\[rs]\*[@arg1]\&\f[P]\$* +.\" Text \f[CB]\[rs]\*[@arg1]\f[]\$* +. Text \f[B]\[rs]\*[@arg1]\&\f[]\$* . rm @arg1 .. .ec @@ -414,6 +414,23 @@ argument). .RE . .TP +.BI \[rs]F f +.TQ +.BI \[rs]F( fm +.TQ +.BI \[rs]F[ fam ] +Change font family. +. +This is the same as the +.B fam +request. +. +.B \[rs]F[] +switches back to the previous color (note that +.B \[rs]FP +won't work; it selects font family `P' instead). +. +.TP .BI \[rs]m x .TQ .BI \[rs]m( xx diff --git a/man/groff_out.man b/man/groff_out.man index 6dba4913..3ef60578 100644 --- a/man/groff_out.man +++ b/man/groff_out.man @@ -80,7 +80,7 @@ after these commands, otherwise the position is not changed. .. .de ShellCommand . br -. IR "shell>" "\h'1m'\f[CB]\$*\f[P]\/" +. IR "shell>" "\h'1m'\f[CB]\$*\f[]\/" .. .ec .\" End of macro definitions @@ -89,7 +89,7 @@ after these commands, otherwise the position is not changed. . .nr @maxcolor 65536 .ds @backslash \[rs]\" -.ds @linebreak \f[R]\[la]line_break\[ra]\f[P]\" +.ds @linebreak \f[R]\[la]line_break\[ra]\f[]\" . .\" Begin of macro definitions .eo @@ -124,7 +124,7 @@ after these commands, otherwise the position is not changed. . ds @arg1 \$1\" . ds @arg2 \$2\" . shift 2 -. nop (\f[I]\,\*[@arg1]\/\f[P],\ \f[I]\,\*[@arg2]\/\f[P])\$* +. nop (\f[I]\,\*[@arg1]\/\f[],\ \f[I]\,\*[@arg2]\/\f[])\$* . rm @arg1 . rm @arg2 .. @@ -151,8 +151,8 @@ after these commands, otherwise the position is not changed. . \} . \} . el \{\ -. nop (\f[I]\*[@arg1]\*[@index1]\f[P],\ \c -. nop \f[I]\*[@arg2]\*[@index2]\f[P])\$* \c +. nop (\f[I]\*[@arg1]\*[@index1]\f[],\ \c +. nop \f[I]\*[@arg2]\*[@index2]\f[])\$* \c . \} . rm @arg1 . rm @arg2 @@ -164,7 +164,7 @@ after these commands, otherwise the position is not changed. . ds @arg1 \$1\" . ds @arg2 \$2\" . shift 2 -. IP "\f[B]\*[@arg1]\f[P]\ \f[I]\,\*[@arg2]\/\f[P]\$*" +. IP "\f[B]\*[@arg1]\f[]\ \f[I]\,\*[@arg2]\/\f[]\$*" . rm @arg1 . rm @arg2 .. @@ -175,7 +175,7 @@ after these commands, otherwise the position is not changed. . ds @arg2 \$2\" . shift 2 . TP+ -. Text "\f[B]\*[@arg1]\f[P]\ \f[I]\,\*[@arg2]\/\f[P]\$*" +. Text "\f[B]\*[@arg1]\f[]\ \f[I]\,\*[@arg2]\/\f[]\$*" . rm @arg1 . rm @arg2 .. @@ -183,7 +183,7 @@ after these commands, otherwise the position is not changed. .de D-command . ds @sub \$1\" . shift 1 -. IP "\f[B]D\*[@sub]\f[P]\ \f[I]\,\$*\/\f[P]\|\*[@linebreak]" +. IP "\f[B]D\*[@sub]\f[]\ \f[I]\,\$*\/\f[]\|\*[@linebreak]" . rm @sub .. .c format: .D-command+ <subcommand> "<arguments>" @@ -192,7 +192,7 @@ after these commands, otherwise the position is not changed. . ds @sub \$1\" . shift 1 . TP+ -. Text "\f[B]D\*[@sub]\f[P]\ \f[I]\,\$*\/\f[P]\*[@linebreak]" +. Text "\f[B]D\*[@sub]\f[]\ \f[I]\,\$*\/\f[]\*[@linebreak]" . rm @sub .. .de Da-command @@ -200,8 +200,8 @@ after these commands, otherwise the position is not changed. . ie t \ . ds @args $h sub 1$\~$v sub 1$ $h sub 2$\~$v sub 2$\" . el \ -. ds @args \f[I]h1\~v1 h2\~v2\f[P]\" -. IP "\f[B]Da\f[P]\ \*[@args]\|\*[@linebreak]" +. ds @args \f[I]h1\~v1 h2\~v2\f[]\" +. IP "\f[B]Da\f[]\ \*[@args]\|\*[@linebreak]" . rm @args .. .c graphics command .D with a variable number of arguments @@ -214,8 +214,8 @@ after these commands, otherwise the position is not changed. . as @args "$h sub n$\~$v sub n$\" . \} . el \ -. ds @args \f[I]h1\~v1 h2\~v2\f[P] ... \f[I]\,hn\~vn\f[P]\" -. IP "\f[B]D\*[@sub]\f[P]\ \*[@args]\|\*[@linebreak]" +. ds @args \f[I]h1\~v1 h2\~v2\f[] ... \f[I]\,hn\~vn\f[]\" +. IP "\f[B]D\*[@sub]\f[]\ \*[@args]\|\*[@linebreak]" . rm @args . rm @sub .. @@ -225,8 +225,8 @@ after these commands, otherwise the position is not changed. . shift 1 . ds @args . if (\n[.$] > 0) \ -. ds @args \ \f[I]\,\$*\/\f[P]\" -. IP "\f[B]x\*[@sub]\f[P]\*[@args]\f[P]\|\*[@linebreak]" +. ds @args \ \f[I]\,\$*\/\f[]\" +. IP "\f[B]x\*[@sub]\f[]\*[@args]\f[]\|\*[@linebreak]" . rm @sub . rm @args .. @@ -666,7 +666,7 @@ also, but doesn't use this. . . -.command m "color_scheme \f[R][\f[P]component .\|.\|.\f[R]]\f[P]" +.command m "color_scheme \f[R][\f[]component .\|.\|.\f[R]]\f[]" Set the color for text (glyphs), line drawing, and the outline of graphic objects using different color schemes; the analoguous command for the filling color of graphic objects is @@ -990,7 +990,7 @@ with the leftmost point at current position; then move to the rightmost point of the ellipse. . . -.D-command F "color_scheme \f[R][\f[P]component .\|.\|.\f[R]]\f[P]" +.D-command F "color_scheme \f[R][\f[]component .\|.\|.\f[R]]\f[]" Set fill color for solid drawing objects using different color schemes; the analoguous command for setting the color of text, line graphics, and the outline of graphic objects is diff --git a/man/roff.man b/man/roff.man index 924437ef..26de0b30 100644 --- a/man/roff.man +++ b/man/roff.man @@ -50,13 +50,13 @@ FDL in the main directory of the groff source package. .de esc . ds @1 \$1\" . shift -. Text \f[B]\[rs]\*[@1]\f[P]\$* +. Text \f[B]\[rs]\*[@1]\f[]\$* . rm @1 .. .de option . ds @1 \$1\" . shift 1 -. Text \f[B]\*[@1]\f[P]\$* +. Text \f[B]\*[@1]\f[]\$* . rm @1 .. .de quoted_char @@ -67,7 +67,7 @@ FDL in the main directory of the groff source package. .. .de ShellCommand . br -. IR "shell#" "\h'1m'\f[CB]\$*\f[P]\/" +. IR "shell#" "\h'1m'\f[CB]\$*\f[]\/" .. .de TP+ . br diff --git a/src/devices/grotty/grotty.man b/src/devices/grotty/grotty.man index 214b8147..3be01b96 100644 --- a/src/devices/grotty/grotty.man +++ b/src/devices/grotty/grotty.man @@ -74,7 +74,7 @@ emits SGR escape sequences (from ISO 6429, also called ANSI color escapes) to change text attributes (bold, italic, colors). This makes it possible to have have eight different \M[green]background\M[] and \m[red]foreground\m[] colors; additionally, bold and italic -attributes can be used \f[BI]at the same time\f[P] (by using the BI font). +attributes can be used \f[BI]at the same time\f[] (by using the BI font). .LP The following colors are defined in .BR tty.tmac : diff --git a/src/roff/groff/groff.man b/src/roff/groff/groff.man index baad66fc..00d98c1d 100644 --- a/src/roff/groff/groff.man +++ b/src/roff/groff/groff.man @@ -193,7 +193,7 @@ FDL in the main directory of the groff source package. .de ShellCommand . ad l . I shell# -. nop \f[CB]\$*\f[P] +. nop \f[CB]\$*\f[] . ad .. .\" -------------------------------------------------------------------- diff --git a/src/roff/troff/env.cc b/src/roff/troff/env.cc index 7e1cc734..ede6b78c 100644 --- a/src/roff/troff/env.cc +++ b/src/roff/troff/env.cc @@ -479,7 +479,9 @@ void environment::set_font(int n) void environment::set_family(symbol fam) { - if (fam.is_null()) { + if (interrupted) + return; + if (fam.is_null() || fam.is_empty()) { if (prev_family->make_definite(fontno) < 0) return; font_family *tem = family; diff --git a/src/roff/troff/input.cc b/src/roff/troff/input.cc index 0ddbc10b..446bc3d5 100644 --- a/src/roff/troff/input.cc +++ b/src/roff/troff/input.cc @@ -1806,6 +1806,14 @@ void token::next() have_input = 1; break; } + case 'F': + { + symbol s = read_escape_name(0); + if (s.is_null()) + break; + curenv->set_family(s); + break; + } case 'g': { symbol s = read_escape_name(); diff --git a/tmac/Xps.tmac b/tmac/Xps.tmac index b6a5de6d..1064ba6b 100644 --- a/tmac/Xps.tmac +++ b/tmac/Xps.tmac @@ -7,8 +7,8 @@ . char \\$1 \Z"\X'ps: invis'\\$2\X'ps: endinvis'"\\$1 .. . -.Xps-char \[bu] \f[S]\[bu]\f[P] -.Xps-char \[f/] \f[S]\[f/]\f[P] +.Xps-char \[bu] \f[S]\[bu] +.Xps-char \[f/] \f[S]\[f/] .Xps-char \[em] "\v'-.25m'\h'.05m'\D'l .9m 0'" .Xps-char \[aq] ' .Xps-char \[bq] , @@ -17,7 +17,7 @@ .Xps-char \[rq] '' .Xps-char \[OE] OE .Xps-char \[oe] oe -.Xps-char \[Fn] \f[S]\[Fn]\f[P] +.Xps-char \[Fn] \f[S]\[Fn] .Xps-char \[vS] \o'\[ah]S' .Xps-char \[vs] \o'\[ah]s' .Xps-char \[vZ] \o'\[ah]Z' @@ -42,7 +42,7 @@ .Xps-char \[dg] "\Z'\h'.25m'\v'.15m'\D'l 0 -.8m'\v'.2m'\h'-.195m'\ \D'l .39m 0''" .Xps-char \[en] \- -.Xps-char \[%0] %\s[\En[.s]*6u/10u]\f[I]0\f[P]\s[0] +.Xps-char \[%0] %\s[\En[.s]*6u/10u]\f[I]0 .Xps-char \[lh] \[->] .Xps-char \[rh] \[<-] .cp \n[_C] diff --git a/tmac/doc-common b/tmac/doc-common index 00fae8eb..2496cf6a 100644 --- a/tmac/doc-common +++ b/tmac/doc-common @@ -531,16 +531,16 @@ . doc-setup-page-layout . if !\n[cR] \ ' sp \n[doc-header-space]u -. nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\f[P]' -. nr doc-reg-dh1 \w'\*[doc-caption-font2]\*[doc-volume]\f[P]' +. nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\f[]' +. nr doc-reg-dh1 \w'\*[doc-caption-font2]\*[doc-volume]\f[]' . if (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\ . while (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\ . substring doc-header-string 1 -1 -. nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\|.\|.\|.\f[P]' +. nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\|.\|.\|.\f[]' . \} . as doc-header-string "\|.\|.\|. . \} -. tl \*[doc-caption-font]\*[doc-header-string]\f[P]\*[doc-caption-font2]\*[doc-volume]\f[P]\*[doc-caption-font]\*[doc-header-string]\f[P] +. tl \*[doc-caption-font]\*[doc-header-string]\f[]\*[doc-caption-font2]\*[doc-volume]\f[]\*[doc-caption-font]\*[doc-header-string]\f[] ' sp \n[doc-header-space]u . ev .. @@ -558,12 +558,12 @@ ' sp \n[doc-footer-space]u . ie \n[D] \{\ . ie o \ -. tl %\*[doc-caption-font2]\*[doc-date-string]\f[P]\*[doc-caption-font]\*[doc-operating-system]\f[P] +. tl %\*[doc-caption-font2]\*[doc-date-string]\f[]\*[doc-caption-font]\*[doc-operating-system]\f[] . el \ -. tl \*[doc-caption-font]\*[doc-operating-system]\f[P]\*[doc-caption-font2]\*[doc-date-string]\f[P]% +. tl \*[doc-caption-font]\*[doc-operating-system]\f[]\*[doc-caption-font2]\*[doc-date-string]\f[]% . \} . el \ -. tl \*[doc-caption-font]\*[doc-operating-system]\f[P]\*[doc-caption-font2]\*[doc-date-string]\f[P]% +. tl \*[doc-caption-font]\*[doc-operating-system]\f[]\*[doc-caption-font2]\*[doc-date-string]\f[]% ' bp . ev . \} @@ -591,7 +591,7 @@ . . if \n[cR] \{\ ' sp -. tl \*[doc-caption-font]\*[doc-operating-system]\f[P]\*[doc-caption-font2]\*[doc-date-string]\f[P]\*[doc-caption-font]\*[doc-operating-system]\f[P] +. tl \*[doc-caption-font]\*[doc-operating-system]\f[]\*[doc-caption-font2]\*[doc-date-string]\f[]\*[doc-caption-font]\*[doc-operating-system]\f[] . \" suppress empty lines after the footer . pl \n[nl]u . \} diff --git a/tmac/doc-ditroff b/tmac/doc-ditroff index dff5537d..fd2707ba 100644 --- a/tmac/doc-ditroff +++ b/tmac/doc-ditroff @@ -100,12 +100,12 @@ .ds doc-Va-font \f[I]\s[\n[.ps]u] .ds doc-Xr-font \f[C]\s[\n[.ps]u] . -.ds doc-left-parenthesis \f[R]\|(\|\f[P]\s[\n[.ps]u] -.ds doc-right-parenthesis \f[R]\|)\|\f[P]\s[\n[.ps]u] -.ds lp \f[R](\f[P]\s[\n[.ps]u] -.ds rp \f[R])\f[P]\s[\n[.ps]u] -.ds doc-left-bracket \f[R]\^[\^\f[P]\s[\n[.ps]u] -.ds doc-right-bracket \f[R]\^]\f[P]\s[\n[.ps]u] +.ds doc-left-parenthesis \f[R]\|(\|\f[]\s[\n[.ps]u] +.ds doc-right-parenthesis \f[R]\|)\|\f[]\s[\n[.ps]u] +.ds lp \f[R](\f[]\s[\n[.ps]u] +.ds rp \f[R])\f[]\s[\n[.ps]u] +.ds doc-left-bracket \f[R]\^[\^\f[]\s[\n[.ps]u] +.ds doc-right-bracket \f[R]\^]\f[]\s[\n[.ps]u] . .tr *\[**] . @@ -177,8 +177,8 @@ .ds Gt > .ds Pm \[+-] .ds If \[if] -.ds Na \f[I]NaN\f[P] -.ds Ba \f[R]|\f[P] +.ds Na \f[I]NaN\f[] +.ds Ba \f[R]|\f[] . .nr gX 0 . diff --git a/tmac/doc-nroff b/tmac/doc-nroff index ce4e9871..47260ddd 100644 --- a/tmac/doc-nroff +++ b/tmac/doc-nroff @@ -78,12 +78,12 @@ .ds doc-Va-font \f[I] .ds doc-Xr-font \f[R] . -.ds doc-left-parenthesis \f[R](\f[P] -.ds doc-right-parenthesis \f[R])\f[P] -.ds lp \f[R](\f[P] -.ds rp \f[R])\f[P] -.ds doc-left-bracket \f[R][\f[P] -.ds doc-right-bracket \f[R]]\f[P] +.ds doc-left-parenthesis \f[R](\f[] +.ds doc-right-parenthesis \f[R])\f[] +.ds lp \f[R](\f[] +.ds rp \f[R])\f[] +.ds doc-left-bracket \f[R][\f[] +.ds doc-right-bracket \f[R]]\f[] . .\" miscellaneous .nr doc-subheader-indent .5i @@ -155,8 +155,8 @@ .ds Lt < .ds Gt > .ds Pm \[+-] -.ds Na \f[I]NaN\f[P] -.ds Ba \f[R]|\f[P] +.ds Na \f[I]NaN\f[] +.ds Ba \f[R]|\f[] . .\" Unicode TTYs have all glyph forms; for other TTY character sets we need .\" character representations which are different from GNU troff's standard diff --git a/tmac/doc.tmac b/tmac/doc.tmac index 3b640e75..334102ac 100644 --- a/tmac/doc.tmac +++ b/tmac/doc.tmac @@ -158,7 +158,7 @@ . . \" handle `|' and `...' specially . ie "\$1"|" \ -. ds doc-arg\n[doc-arg-limit] \f[R]|\f[P] +. ds doc-arg\n[doc-arg-limit] \f[R]|\f[] . el \{ .ie "\$1"..." \ . ds doc-arg\n[doc-arg-limit] \|.\|.\|. . el \ @@ -207,7 +207,7 @@ . nr doc-arg-limit +1 . . ie "\*[doc-arg\n[doc-arg-limit]]"|" \ -. ds doc-arg\n[doc-arg-limit] \f[R]|\f[P] +. ds doc-arg\n[doc-arg-limit] \f[R]|\f[] . el \{ .if "\*[doc-arg\n[doc-arg-limit]]"..." \ . ds doc-arg\n[doc-arg-limit] \|.\|.\|. . \} @@ -360,7 +360,7 @@ . . if !\n[.$] \{\ . \" no arguments -. nop \|\-\|\f[P]\s[0] +. nop \|\-\|\f[]\s[0] . \}\} . . if !\n[doc-arg-limit] \ @@ -369,12 +369,12 @@ . nr doc-arg-ptr +1 . ie (\n[doc-arg-limit] < \n[doc-arg-ptr]) \{\ . \" last argument -. nop \|\-\f[P]\s[0]\c +. nop \|\-\f[]\s[0]\c . doc-print-and-reset . \} . el \{\ . ie (\n[doc-type\n[doc-arg-ptr]] == 1) \{\ -. nop \|\-\f[P]\s[0]\c +. nop \|\-\f[]\s[0]\c . \*[doc-arg\n[doc-arg-ptr]] . \} . el \{\ @@ -403,7 +403,7 @@ . ds doc-str-dfr "\*[doc-arg\n[doc-arg-ptr]] . . ie (\n[doc-reg-dfr1] == 1) \{\ -. nop \f[P]\s[0]\c +. nop \f[]\s[0]\c . \*[doc-str-dfr] . \} . el \{\ @@ -419,10 +419,10 @@ . nop \)\*[Ba]\c . \} . el \{\ -. ie "\*[doc-str-dfr]"\f[R]|\f[P]" \{\ +. ie "\*[doc-str-dfr]"\f[R]|\f[]" \{\ . if \n[doc-reg-Fl] \ . nop \|\-\*[doc-space]\c -. nop \f[R]|\f[P]\c +. nop \f[R]|\f[]\c . \} . el \{\ . \" two consecutive hyphen characters? @@ -433,14 +433,14 @@ . \}\}\} . el \{\ . nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\c -. nop \)\*[doc-str-dfr]\f[P]\s[0]\c +. nop \)\*[doc-str-dfr]\f[]\s[0]\c . \} . . ie (\n[doc-arg-limit] == \n[doc-arg-ptr]) \{\ . \" last argument . if (\n[doc-reg-dfr1] == 4) \ . nop \|\-\c -. nop \f[P]\s[0]\c +. nop \f[]\s[0]\c . doc-print-and-reset . \} . el \{\ @@ -489,7 +489,7 @@ . el \{\ . \" punctuation character . nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\c -. nop \)\*[doc-str-dpr]\f[P]\s[0]\c +. nop \)\*[doc-str-dpr]\f[]\s[0]\c . \} . . nr doc-arg-ptr +1 @@ -516,7 +516,7 @@ . if !(\n[doc-type\n[doc-arg-ptr]] == 4) \ . break . nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\c -. nop \)\*[doc-arg\n[doc-arg-ptr]]\f[P]\s[0]\c +. nop \)\*[doc-arg\n[doc-arg-ptr]]\f[]\s[0]\c . nr doc-arg-ptr +1 . \} .. @@ -599,7 +599,7 @@ . . if !\n[.$] \{\ . \" no argument -. nop \)\*[doc-str-Ar-default]\&\f[P]\s[0] +. nop \)\*[doc-str-Ar-default]\&\f[]\s[0] . \}\} . . if !\n[doc-arg-limit] \ @@ -608,7 +608,7 @@ . nr doc-arg-ptr +1 . doc-print-prefixes . ie (\n[doc-arg-limit] < \n[doc-arg-ptr]) \{\ -. nop \)\*[doc-str-Ar-default]\&\f[P]\s[0]\c +. nop \)\*[doc-str-Ar-default]\&\f[]\s[0]\c . doc-print-and-reset . \} . el \{\ @@ -927,7 +927,7 @@ . doc-reset-args . \} . el \{\ -. nop \*[doc-Nm-font]\*[doc-command-name]\f[P]\s[0]\c +. nop \*[doc-Nm-font]\*[doc-command-name]\f[]\s[0]\c . doc-print-and-reset . \}\} . el \{\ @@ -940,7 +940,7 @@ . el \{\ . \" replace previous argument (Nm) with default value . nr doc-arg-ptr -1 -. ds doc-arg\n[doc-arg-ptr] "\*[doc-Nm-font]\*[doc-command-name]\f[P]\s[0] +. ds doc-arg\n[doc-arg-ptr] "\*[doc-Nm-font]\*[doc-command-name]\f[]\s[0] . nr doc-type\n[doc-arg-ptr] 2 . ds doc-space\n[doc-arg-ptr] "\*[doc-space] . @@ -992,7 +992,7 @@ . . if !\n[.$] \{\ . \" default value -. nop \*[doc-Pa-font]~\f[P]\s[0] +. nop \*[doc-Pa-font]~\f[]\s[0] . \}\} . . if !\n[doc-arg-limit] \ @@ -1019,7 +1019,7 @@ . doc-print-recursive . \} . el \{\ -. nop \*[doc-Pa-font]~\f[P]\s[0]\c +. nop \*[doc-Pa-font]~\f[]\s[0]\c . doc-print-and-reset . \} .. @@ -3858,7 +3858,7 @@ . .de doc-bullet-list . nr doc-in-list 1 -. nop \)\*[doc-Sy-font]\[bu]\f[P] +. nop \)\*[doc-Sy-font]\[bu]\f[] . doc-do-list .. . @@ -3871,7 +3871,7 @@ . .de doc-dash-list . nr doc-in-list 1 -. nop \)\*[doc-Sy-font]\-\f[P] +. nop \)\*[doc-Sy-font]\-\f[] . doc-do-list .. . @@ -3969,9 +3969,9 @@ . \} . el \{\ . chop doc-item-box\n[doc-list-depth] -. nr doc-reg-dtl1 \n[.k]u -. nop \*[doc-item-box\n[doc-list-depth]]\c -. nop \h'|(\n[doc-reg-dtl1]u - \n[.k]u + \n[doc-reg-dtl]u)'\c +. \" Using \Z prevents stretching of the spaces in the tag +. nop \Z'\*[doc-item-box\n[doc-list-depth]]'\c +. nop \h'\n[doc-reg-dtl]u'\c . nr doc-have-space 1 . \} . @@ -4189,7 +4189,7 @@ . ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\ . nr doc-curr-font \n[.f] . nr doc-curr-size \n[.ps] -. ds doc-arg\n[doc-arg-ptr] \*[doc-Xr-font]\*[doc-arg\n[doc-arg-ptr]]\f[P]\s[0] +. ds doc-arg\n[doc-arg-ptr] \*[doc-Xr-font]\*[doc-arg\n[doc-arg-ptr]]\f[]\s[0] . . if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\ . nr doc-reg-Xr (\n[doc-arg-ptr] + 1) @@ -4585,7 +4585,7 @@ . . if \n[.$] \ . nop \*[doc-Ft-font]\$*\c -. nop \ \f[P]\c +. nop \ \f[]\c .. . . @@ -4681,12 +4681,12 @@ . if (\n[doc-func-arg-count] > 1) \{\ . nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\|,\)\c . nop \)\*[doc-space\n[doc-arg-ptr]]\*[doc-Fa-font]\c -. nop \)\*[doc-arg\n[doc-arg-ptr]]\f[P]\s[0]\c +. nop \)\*[doc-arg\n[doc-arg-ptr]]\f[]\s[0]\c . \} . . if (\n[doc-func-arg-count] == 1) \{\ . nop \|\*[doc-Fa-font]\*[doc-arg\n[doc-arg-ptr]]\c -. nop \f[P]\s[0]\c +. nop \f[]\s[0]\c . \} . nr doc-func-arg-count +1 . doc-do-func @@ -4775,7 +4775,7 @@ . nr doc-curr-font \n[.f] . nr doc-curr-size \n[.ps] . nop \*[doc-Fn-font]\*[doc-arg\n[doc-arg-ptr]]\c -. nop \f[P]\s[0]\*[lp]\)\c +. nop \f[]\s[0]\*[lp]\)\c . . nr doc-arg-ptr +1 . if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ @@ -4837,7 +4837,7 @@ . if (\n[doc-type\n[doc-arg-ptr]] == 2) \{\ . nr doc-reg-ddfa (\n[doc-arg-ptr] - 1) . nop \|\f[\n[doc-curr-font]]\s[\n[doc-curr-size]u],\)\c -. nop \)\*[doc-space\n[doc-reg-ddfa]]\f[P]\s[0]\|\c +. nop \)\*[doc-space\n[doc-reg-ddfa]]\f[]\s[0]\|\c . doc-do-func-args . \}\} .. @@ -4938,7 +4938,7 @@ . nr doc-curr-size \n[.ps] . . nop \*[doc-Fn-font]\*[doc-arg\n[doc-arg-ptr]]\c -. nop \f[P]\s[0]\*[lp]\)\c +. nop \f[]\s[0]\*[lp]\)\c . doc-reset-args . \} .. @@ -6137,19 +6137,19 @@ .ds doc-str-Rv-std-prefix "The .ds doc-str-Rv-std-suffix "function returns the value\~0 if successful; .as doc-str-Rv-std-suffix " otherwise the value\~-1 is returned and -.as doc-str-Rv-std-suffix " the global variable \*[doc-Va-font]errno\f[P] +.as doc-str-Rv-std-suffix " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-std-suffix " is set to indicate the error. . .ds doc-str-Rv-stds-prefix "The .ds doc-str-Rv-stds-and "and .ds doc-str-Rv-stds-suffix "functions return the value\~0 if successful; .as doc-str-Rv-stds-suffix " otherwise the value\~-1 is returned and -.as doc-str-Rv-stds-suffix " the global variable \*[doc-Va-font]errno\f[P] +.as doc-str-Rv-stds-suffix " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-stds-suffix " is set to indicate the error. . .ds doc-str-Rv-std0 "Upon successful completion, the value\~0 is returned; .as doc-str-Rv-std0 " otherwise the value\~-1 is returned and -.as doc-str-Rv-std0 " the global variable \*[doc-Va-font]errno\f[P] +.as doc-str-Rv-std0 " the global variable \*[doc-Va-font]errno\f[] .as doc-str-Rv-std0 " is set to indicate the error. . .de Rv diff --git a/tmac/dvi.tmac b/tmac/dvi.tmac index d904ce11..bd25942d 100644 --- a/tmac/dvi.tmac +++ b/tmac/dvi.tmac @@ -19,8 +19,8 @@ . .\" This uses the dvi-char_1 string in font CW or CWI, dvi-char_0 otherwise. .fchar _ \ -\R'dvi-char_ ((\\n[.f] == \f[CW]\\n[.f]\f[P]) : \ - (\\n[.f] == \f[CWI]\\n[.f]\f[P]))'\\*[dvi-char_\\n[dvi-char_]] +\R'dvi-char_ ((\\n[.f] == \f[CW]\\n[.f]\f[]) : \ + (\\n[.f] == \f[CWI]\\n[.f]\f[]))'\\*[dvi-char_\\n[dvi-char_]] .fchar \[ul] \R'dvi-char_ \w'M'==\w'i''\\*[dvi-char_\\n[dvi-char_]] .\" Normally use a rule. .\" This is designed so that \(ul, \(rn and \(br form corners. diff --git a/tmac/groff_www.man b/tmac/groff_www.man index 3ac6baab..d659777d 100644 --- a/tmac/groff_www.man +++ b/tmac/groff_www.man @@ -155,7 +155,7 @@ If this is processed by a device other than it appears as: .RS .IP -\m[blue]foo\m[] \[la]\fChttp://foo.org\fP\[ra]: +\m[blue]foo\m[] \[la]\f[C]http://foo.org\f[]\[ra]: .RE .IP The URL macro can be of any type; for example we can reference diff --git a/tmac/www.tmac b/tmac/www.tmac index 479ea1e7..47237a95 100644 --- a/tmac/www.tmac +++ b/tmac/www.tmac @@ -72,7 +72,7 @@ . ie \\n[www-html] \ . HTML <a href="\\$1">\\$2</a>\\$3 . el \ -. nop \m[blue]\\$2\m[] \%\[la]\fC\\$1\fP\[ra]\\$3 +. nop \m[blue]\\$2\m[] \%\[la]\f[C]\\$1\f[]\[ra]\\$3 .. .\" .\" FTP url description [after] @@ -105,9 +105,9 @@ . \} . el \{\ . ie '\\$2'' \ -. nop \%\m[blue]\fC\\$1\fP\m[]\\$3 +. nop \%\m[blue]\f[C]\\$1\f[]\m[]\\$3 . el \ -. nop \m[blue]\\$2\m[] \%\[la]\fC\\$1\fP\[ra]\\$3 +. nop \m[blue]\\$2\m[] \%\[la]\f[C]\\$1\f[]\[ra]\\$3 . \} .. .\" @@ -146,7 +146,7 @@ . HTML <img src="\\$1" width=\\n[www-width] height=\\n[www-height]> . \} . el \ -. nop \[la]\fC\\$1\fP\[ra] +. nop \[la]\f[C]\\$1\f[]\[ra] .. .\" .\" HTML-TAG |