diff options
author | wlemb <wlemb> | 2000-04-22 13:17:38 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2000-04-22 13:17:38 +0000 |
commit | bd52bc42ff1ad211c8d67fd2d0d6295ceb7d1e58 (patch) | |
tree | c5790e68ecbe2999e266ae36e6b2a43f94ff5ed6 | |
parent | c645488b1cc07d4385fa70501046ec5c08be551c (diff) | |
download | groff-bd52bc42ff1ad211c8d67fd2d0d6295ceb7d1e58.tar.gz |
* src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the
`.T' string register and the incompatible definition of the `.T'
number register (compared to Unix troff).
* man/groff_char.man: Add some missing characters.
* font/devutf8/NOTES: Update.
* src/include/htmlindicate.h, src/include/lib.h,
src/include/posix.h: Fix copyright.
* src/include/Makefile.sub: Update.
* src/roff/troff/input.cc (input_char_description): Removing
superfluous space char.
* tmac/tmac.X: Fix typo (bq -> (Bq.
* doc/groff.texinfo: Document EBCDIC.
Introducing `shc' as the glyph name for the soft hyphen character.
* tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html,
font/devlatin1/R.proto: Use it.
* NEWS: Updated.
* src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing
dependency on ASCII order.
-rw-r--r-- | ChangeLog | 41 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | doc/groff.texinfo | 176 | ||||
-rw-r--r-- | font/devlatin1/R.proto | 3 | ||||
-rw-r--r-- | font/devutf8/NOTES | 26 | ||||
-rw-r--r-- | man/groff_char.man | 15 | ||||
-rw-r--r-- | src/devices/grops/ps.cc | 7 | ||||
-rw-r--r-- | src/include/Makefile.sub | 2 | ||||
-rwxr-xr-x | src/include/htmlindicate.h | 2 | ||||
-rw-r--r-- | src/include/lib.h | 2 | ||||
-rw-r--r-- | src/include/posix.h | 2 | ||||
-rw-r--r-- | src/roff/troff/input.cc | 2 | ||||
-rw-r--r-- | src/roff/troff/troff.man | 30 | ||||
-rwxr-xr-x | tmac/tmac.X | 2 | ||||
-rwxr-xr-x | tmac/tmac.html | 2 | ||||
-rwxr-xr-x | tmac/tmac.latin1 | 2 | ||||
-rwxr-xr-x | tmac/tmac.tty | 2 |
17 files changed, 234 insertions, 87 deletions
@@ -1,4 +1,43 @@ -2000-04-16 Sandor BARANY <S.Barany@infosys.tuwien.ac.at> +2000-04-22 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the + `.T' string register and the incompatible definition of the `.T' + number register (compared to Unix troff). + + * man/groff_char.man: Add some missing characters. + * font/devutf8/NOTES: Update. + +2000-04-21 Werner LEMBERG <wl@gnu.org> + + * src/include/htmlindicate.h, src/include/lib.h, + src/include/posix.h: Fix copyright. + + * src/include/Makefile.sub: Update. + +2000-04-20 Werner LEMBERG <wl@gnu.org> + + * src/roff/troff/input.cc (input_char_description): Removing + superfluous space char. + + * tmac/tmac.X: Fix typo \(bq -> \(Bq. + + * doc/groff.texinfo: Document EBCDIC. + +2000-04-19 Werner LEMBERG <wl@gnu.org> + + Introducing `shc' as the glyph name for the soft hyphen character. + + * tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html, + font/devlatin1/R.proto: Use it. + + * NEWS: Updated. + +2000-04-18 Werner LEMBERG <wl@gnu.org> + + * src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing + dependency on ASCII order. + +2000-04-16 Sandor BARANY <S.Barany@infosys.tuwien.ac.at> * src/libs/libgroff/illegal.c: Added EBCDIC table. * src/roff/troff/input.cc: Added adaptation to EBCDIC. @@ -63,6 +63,9 @@ Previously, the text after \fP appeared as bold. The `substring' request is not new, but hasn't been documented before. +The predefined `.T' string register (which holds the current output device) +is not new, but hasn't been documented before. + A new request `length' computes the length of a string and returns it in a number register. @@ -73,6 +76,8 @@ A new resource file, `troffrc-end', is now available. It is invoked after all user-specified macros. Currently used by the html device to include tmac.html; thus no need for users to specify -mhtml anymore. +The soft hyphen character now has a glyph name: `shc'. + Grotty ------ diff --git a/doc/groff.texinfo b/doc/groff.texinfo index 7fee34ef..abeb4380 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -1057,6 +1057,13 @@ printers). To produce @acronym{HTML} output. @end table +@vindex .T +@maindex \*(.T +The predefined @code{gtroff} string register @code{.T} contains the +current output device; the read-only number register @code{.T} is set +to@w{ }1 if this option is used (which is always true if @code{groff} is +used to call @code{gtroff}). @xref{Built-in Registers}. + The postprocessor to be used for a device is specified by the @code{postpro} command in the device description file. (@xref{Font Files}, for more info.) This can be overridden with the @option{-X} @@ -1078,7 +1085,10 @@ Safer mode. Pass the @option{-S} option to @code{gpic} and use the @item -U Unsafe mode. Reverts to the old unsafe behaviour. @item -a -Generate an @acronym{ASCII} approximation of the typeset output. +@vindex .A +Generate an @acronym{ASCII} approximation of the typeset output. The +read-only register @code{.A} is then set to@w{ }1. @xref{Built-in +Registers}. @item -b Print a backtrace with each warning or error message. This backtrace should help track down the cause of the error. The line numbers given @@ -2156,12 +2166,12 @@ character (at the end of a line), append @code{\&}. @cindex character, tabulator @code{gtroff} translates @dfn{tabulator characters}, also called -@dfn{tabs} (normally code point @code{0x09}), in the input into -movements to the next tabulator stop. These tab stops are initially -located every half inch across the page. Using this simple tables can -easily be made. However, it can often be deceptive as the appearance -(and width) of the text on a terminal and the results from @code{gtroff} -can vary greatly. +@dfn{tabs} (normally code point @acronym{ASCII} @code{0x09} resp.@: +@acronym{EBCDIC} @code{0x05}), in the input into movements to the next +tabulator stop. These tab stops are initially located every half inch +across the page. Using this simple tables can easily be made. However, +it can often be deceptive as the appearance (and width) of the text on a +terminal and the results from @code{gtroff} can vary greatly. Also, a possible sticking point is that lines beginning with tab characters will still be filled, again producing unexpected results. @@ -2329,8 +2339,6 @@ Vertical space. This is equivalent to the current line spacing. 100ths of an em. @end table -@xref{Fractional Type Sizes}. - @menu * Default Units:: @end menu @@ -2491,18 +2499,26 @@ Whitespace characters (space, tabs, and newlines). @cindex character, backspace @cindex backspace character @item -Backspace (@code{0x08}) and character code @code{0x01}. +Backspace (@acronym{ASCII}@w{ }@code{0x08} resp.@: @acronym{EBCDIC}@w{ +}@code{0x16}) and character code @code{0x01}. @cindex illegal input characters @cindex input characters, illegal @cindex characters, illegal input @cindex unicode @item -The following input characters are illegal and will be ignored, causing -a warning message: @code{0x00}, @code{0x0B}, @code{0x0D}-@code{0x1F}, -@code{0x80}-@code{0x9F}. Currently, some of these reserved codepoints -are used internally, thus making it non-trivial to extend @code{gtroff} -to cover Unicode or other character sets resp.@: encodings which use -characters of these ranges. +The following input characters are illegal and will be ignored if +@code{groff} runs on a machine based on @acronym{ASCII}, causing a +warning message: @code{0x00}, @code{0x0B}, @code{0x0D}-@code{0x1F}, +@code{0x80}-@code{0x9F}. + +And here the illegal input characters if @code{groff} runs on an +@acronym{EBCDIC} host: @code{0x00}, @code{0x08}, @code{0x09}, +@code{0x0B}, @code{0x0D}-@code{0x14}, @code{0x17}-@code{0x1F}, +@code{0x30}-@code{0x3F}. + +Currently, some of these reserved codepoints are used internally, thus +making it non-trivial to extend @code{gtroff} to cover Unicode or other +character sets resp.@: encodings which use characters of these ranges. Note that illegal characters will be removed before parsing; an identifier `foo', followed by an illegal character, followed by `bar' @@ -2522,7 +2538,9 @@ end-list @findex ] Note that identifiers longer than two characters with a closing bracket (@samp{]}) in its name can't be accessed with escape sequences which -expect an identifier as a parameter. +expect an identifier as a parameter. For example, @samp{\[foo]]} will +access the glyph @samp{foo}, followed by @samp{]}, whereas +@samp{\C'foo]'} really asks for glyph @samp{foo]}. @c XXX xref @@ -3279,13 +3297,24 @@ Always@w{ }1. Macros should use this to determine whether they are running under GNU @code{troff}. @item .A @vindex .A -If the current output device is @acronym{ASCII}, this is set to@w{ }1, -zero otherwise. +If the command line option @option{-a} is used to produce an +@acronym{ASCII} approximation of the output, this is set to@w{ }1, zero +otherwise. @xref{Groff Options}. @item .P @vindex .P This register indicates whether the current page is actually being printed, i.e., whether the @option{-o} option is being used to only print selected pages. @xref{Groff Options}, for more information. +@item .T +@vindex .T +If @code{gtroff} is called with the @option{-T} command line option, the +number register @code{.T} is set to@w{ }1, and zero otherwise. +@xref{Groff Options}. + +@maindex \*(.T +Additionally, @code{gtroff} predefines a single (read/write) string +register @code{.T} which contains the current output device (for +example, @samp{latin1} or @samp{ps}). @end table @@ -3746,22 +3775,29 @@ macros inadvertently insert some vertical space before the text starts Disable no-space mode. @end_Deffn + @node Tabs and Fields, Character Translations, Manipulating Spacing, Programming Tutorial @section Tabs and Fields @cindex tabs and fields @cindex fields and tabs -@findex \t -Tab stops are much like those on a typewriter: a tab character (or the -@code{\t} escape) on input will cause horizontal motion to the next tab -stop. +A tab character (@acronym{ASCII} char@w{ }9) causes a horizontal +movement to the next tab stop (which is much like that on a typewriter). + +@Deffn{Escape, \\t, } +This escape is a non-interpreted tab character. In copy mode +(@pxref{Copy-in Mode}), @code{\t} is the same as a real tab character. +@end_Deffn -@findex ta -Tab stops can be changed with the @code{ta} request. This request takes -a series of numbers as arguments which indicate where each tab stop is -to be (overriding any previous settings). These can be specified -absolutely, i.e.@: as the distance from the left margin. For example, -the following will set tab stops every one inch. +@Deffn{Request, ta, n1 n2 @dots{} nn @t{T} r1 r2 @dots{} rn} +Change tab stop positions. This request takes a series of tab +specifiers as arguments (optionally divided into two groups with the +letter @samp{T}) which indicate where each tab stop is to be (overriding +any previous settings). + +Tab stops can be specified absolutely, i.e., as the distance from the +left margin. For example, the following will set 6@w{ }tab stops every +one inch. @example .ta 1i 2i 3i 4i 5i 6i @@ -3776,39 +3812,80 @@ previous example. .ta 1i +1i +1i +1i +1i +1i @end example -After the specified tab stops repeat values may be set for tabs beyond -the last one specified. This is most commonly used to specify tabs set -at equal intervals. The complete syntax for setting tabs is +@code{gtroff} supports an extended syntax to specify repeat values after +the @samp{T} mark (these values are always taken as relative)---this is +the usual way to specify tabs set at equal intervals. The following is, +yet again, the same as the previous examples. It does even more since +it defines an infinite number of tab stops separated by one inch. @example -ta @var{n1} @var{n2} @dots{} @var{nn} T @var{r1} @var{r2} @dots{} @var{rn} +.ta T 1i @end example -@noindent -This will set tabs at positions @var{n1}, @var{n2}, @dots{}, @var{nn} -and then set tabs at @var{nn}+@var{r1}, @var{nn}+@var{r2}, @dots{}, -@var{nn}+@var{rn} and then at @var{nn}+@var{rn}+@var{r1}, -@var{nn}+@var{rn}+@var{r2}, @dots{}, @var{nn}+@var{rn}+@var{rn}, and so -on. For example the following is, yet again, the same as the previous -examples. +Now we are ready to interpret the full syntax given at the beginning: +Set tabs at positions @var{n1}, @var{n2}, @dots{}, @var{nn} and then set +tabs at @var{nn}+@var{r1}, @var{nn}+@var{r2}, @dots{}, @var{nn}+@var{rn} +and then at @var{nn}+@var{rn}+@var{r1}, @var{nn}+@var{rn}+@var{r2}, +@dots{}, @var{nn}+@var{rn}+@var{rn}, and so on. + +Example: @samp{4c +6c T 3c 5c 2c} is equivalent to @samp{4c 10c 13c 18c +20c 23c 28c 30c @dots{}}. + +The material in each tab column may be justified to the right or left or +centered in the column. This is specified by appending an @samp{R}, +@samp{L}, or @samp{C} to the tab specifier. The default justification +is @samp{L}. Example: @example -.ta T 1i +.ta 1i 2iC 2iR @end example -The material in each tab column may be justified to the right or left -or centered in the column. This is specified by appending an -@samp{R}, @samp{L} or @samp{C} to the number specifying that tab stop. -The default justification is @samp{L}. Example: +Some notes: + +@itemize @bullet +@item +The default unit of the @code{ta} request is @samp{m}. + +@item +A tab stop is converted into a non-breakable horizontal movement which +can't be neither stretched nor squeezed. For example, @example -.ta 1i 2iC 2iR +.de foo +a\tb\tc +.. +.ta T 5i +.foo +@end example + +@noindent +creates a single line which is a bit longer than 10@w{ }inches (a macro +is used to show exactly where the tab characters are). Now consider the +following: + +@example +.de bar +a\tb b\tc +.. +.ta T 5i +.bar @end example +@noindent +@code{gtroff} first converts the tab stops of the line into unbreakable +horizontal movements, then splits the line after the second @samp{b} +(assuming a sufficiently short line length). Usually, this isn't what +the user wants. + +@c XXX superfluous tab stops + +@end itemize + @vindex .tabs The number register @code{.tabs} contains a string representation of the current tab settings suitable for use as an argument to the @code{ta} request. +@end_Deffn @findex tc Normally @code{gtroff} will fill the space to the next tab stop with @@ -5091,7 +5168,8 @@ the text (including request lines, but excluding escapes) into an internal buffer. Escapes will be converted into an internal form, except for @code{\n}, @code{\$}, @code{\*}, @code{\\} and @code{\@key{RET}} which are evaluated and inserted into the text where -the escape was located. This is known as @dfn{copy-in} mode. +the escape was located. This is known as @dfn{copy-in} mode or +@dfn{copy} mode. What this means is that you can specify when these escapes are to be evaluated (either at copy-in time or at the time of use) by insulating @@ -5164,7 +5242,7 @@ name. This would be called as @example -.vl $Id: groff.texinfo,v 1.26 2000/04/14 04:04:13 wlemb Exp $ +.vl $Id: groff.texinfo,v 1.27 2000/04/22 13:17:38 wlemb Exp $ @end example @xref{Request Arguments}. @@ -5894,7 +5972,7 @@ searched for when the @option{-m@var{name}} option is specified. The @code{cf} and @code{trf} requests are to include a file. It will transparently output the contents of file filename. Each line is output as it were preceded by @code{\!}; however, the lines are not subject to -copy-mode interpretation. If the file does not end with a newline, then +copy mode interpretation. If the file does not end with a newline, then a newline will be added. For example, to define a macro@w{ }@code{x} containing the contents of file@w{ }@file{f}, use diff --git a/font/devlatin1/R.proto b/font/devlatin1/R.proto index 29a88754..3a3ccf66 100644 --- a/font/devlatin1/R.proto +++ b/font/devlatin1/R.proto @@ -185,7 +185,8 @@ Fo 24 0 0253 char171 " no 24 0 0254 char172 " -char173 24 0 0255 +shc 24 0 0255 +char173 " rg 24 0 0256 char174 " a- 24 0 0257 diff --git a/font/devutf8/NOTES b/font/devutf8/NOTES index b517c591..d7d0f872 100644 --- a/font/devutf8/NOTES +++ b/font/devutf8/NOTES @@ -6,21 +6,11 @@ unmapped: Character 0x002D has not been given a name because its Unicode name "HYPHEN-MINUS" is so ambiguous that it's unusable for serious typographic use. -The following are mentioned in the original troff manual but not in -groff_char.7: - - \(sr square root - \(rn overline - \(is integral sign - The following, mentioned in the original troff manual, are only approximate: \(lk middle part of big left curly brace \(rk middle part of big right curly brace -\(bv has been mapped to 0x2502, not 0x2759, because it appears to mean -"bar vertical", not "bold vertical". - \(wp has been mapped to 0x2118, because according to unicode.org's NamesList-3.0.0.txt, U+2118 "SCRIPT CAPITAL P" is really a Weierstrass p, neither SCRIPT not CAPITAL. @@ -42,6 +32,11 @@ CL 24 0 0x2663 HE 24 0 0x2665 DI 24 0 0x2666 +The following lines could be added, to define names which are known to e.g. +"devdvi" but are not known to "devps". +<< 24 0 0x226A +>> 24 0 0x226B + "devps" maps \(a~ and ~ to asciitilde, which is equivalent to 0x02DC, but this glyph is just too small. We map them to 0x007E instead. @@ -68,20 +63,20 @@ instead. The line -char173 24 0 0x00AD +shc 24 0 0x00AD has been removed, because tmac.tty contains the line -.if c\[char173] .shc \[char173] +.if c\[shc] .shc \[shc] -(i.e. if char173 is defined, then tell the troff engine that it shall use -char173 as soft hyphen - otherwise it will use hy = HYPHEN), and char173 in +(i.e. if `shc' is defined, then tell the troff engine that it shall use +`shc' as soft hyphen - otherwise it will use `hy' = HYPHEN), and `shc' in Markus Kuhn's UCS-fonts looks more like a minus sign than like a hyphen. Once Markus Kuhn's fonts are fixed, this line should be added again, because ISO-8859-x describes the soft hyphen character as "a graphic character that is imaged by a graphic symbol identical with, or similar to, that representing HYPHEN, for use when a line break has been established within a word" - which -is exactly groff's use of 'shc'. +is exactly groff's use of `shc'. Using unnamed characters: @@ -98,4 +93,3 @@ U+20AC. You need to do two things: - In your source file, use the notation \N'8364' where 8364 is the decimal representation of 0x20AC. - diff --git a/man/groff_char.man b/man/groff_char.man index 18085dce..b6f0644e 100644 --- a/man/groff_char.man +++ b/man/groff_char.man @@ -1,5 +1,5 @@ .ig \"-*- nroff -*- -Copyright (C) 1989-1995 Free Software Foundation, Inc. +Copyright (C) 1989-2000 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -45,7 +45,9 @@ This manual page lists the standard .B groff input characters. Only the characters that are available for the device that -is being used to print this manual page will be displayed. +is being used to print or view this manual page will be +.ie \n(.g displayed (the device currently used is `\*(.T'). +.el displayed. The .I "Input code" column applies to characters which can be @@ -399,7 +401,7 @@ Output Input Input PostScript Notes .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 "bold vertical" +.C2 bv bv "bar vertical" .C2 bs bell .C2 ci circle .C2 bu bullet @@ -533,6 +535,9 @@ Output Input Input PostScript Notes .C2 ib reflexsubset .C2 ip reflexsuperset .C2 ap similar +.C2 is integral +.C2 sr radical "square root" +.C2 rn \& overline .C2 pd partialdiff "partial differentiation sign" .C2 c* circlemultiply "multiply sign in a circle" .C2 c+ circleplus "plus sign in a circle" @@ -549,8 +554,8 @@ Output Input Input PostScript Notes .C2 CR carriagereturn "carriage return symbol" .C2 st suchthat .C2 /_ angle -.C2 << "" "much less" -.C2 >> "" "much greater" +.C2 << \& "much less" +.C2 >> \& "much greater" .C2 wp weierstrass "Weierstrass p" .C2 lz lozenge .C2 an arrowhorizex "horizontal arrow extension" diff --git a/src/devices/grops/ps.cc b/src/devices/grops/ps.cc index c7d7f4c4..fc736389 100644 --- a/src/devices/grops/ps.cc +++ b/src/devices/grops/ps.cc @@ -819,8 +819,13 @@ void ps_printer::flush_sbuf() if (sbuf_kern != 0) out.put_fix_number(sbuf_kern); out.put_string(sbuf, sbuf_len); + char command_array[] = {'A', 'B', 'C', 'D', + 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T'}; char sym[2]; - sym[0] = 'A' + motion*4 + space_flag + 2*(sbuf_kern != 0); + sym[0] = command_array[motion*4 + space_flag + 2*(sbuf_kern != 0)]; sym[1] = '\0'; switch (motion) { case NONE: diff --git a/src/include/Makefile.sub b/src/include/Makefile.sub index 4e4a8f8d..50a280bd 100644 --- a/src/include/Makefile.sub +++ b/src/include/Makefile.sub @@ -8,9 +8,11 @@ HDRS=\ error.h \ font.h \ getopt.h \ + htmlindicate.h \ index.h \ lib.h \ macropath.h \ + posix.h \ printer.h \ ptable.h \ refid.h \ diff --git a/src/include/htmlindicate.h b/src/include/htmlindicate.h index c496739d..96a63884 100755 --- a/src/include/htmlindicate.h +++ b/src/include/htmlindicate.h @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 2000 Free Software Foundation, Inc. Written by Gaius Mulley <gaius@glam.ac.uk> This file is part of groff. diff --git a/src/include/lib.h b/src/include/lib.h index a9208c7d..b6eca58d 100644 --- a/src/include/lib.h +++ b/src/include/lib.h @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1989-2000 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. diff --git a/src/include/posix.h b/src/include/posix.h index 794eea42..915fd33f 100644 --- a/src/include/posix.h +++ b/src/include/posix.h @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1992 Free Software Foundation, Inc. +/* Copyright (C) 1992, 2000 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. diff --git a/src/roff/troff/input.cc b/src/roff/troff/input.cc index 5b0241d9..c087c2a6 100644 --- a/src/roff/troff/input.cc +++ b/src/roff/troff/input.cc @@ -4720,7 +4720,7 @@ const char *input_char_description(int c) case '\001': return "a leader character"; case '\t': - return "a tab character "; + return "a tab character"; case ' ': return "a space character"; case '\0': diff --git a/src/roff/troff/troff.man b/src/roff/troff/troff.man index b2090f7a..4415ca8d 100644 --- a/src/roff/troff/troff.man +++ b/src/roff/troff/troff.man @@ -84,7 +84,7 @@ approximation of the typeset output. Print a backtrace with each warning or error message. This backtrace should help track down the cause of the error. The line numbers given in the backtrace may not always be correct: -.B troff 's +.BR troff 's idea of line numbers gets confused by .B as @@ -145,9 +145,10 @@ as the default font family. Read in the file .BI tmac. name\fR. Normally this will be searched for in @MACRODIR@. -By default is used the +By default, the .I safer -macro (reverted using -U ). +macro is used (this can be reverted using +.BR \-U ). .TP .B \-U Unsafe option, avoids default use of @@ -1749,9 +1750,26 @@ The current year. Note that the traditional .B troff number register -.B \en[yr] +.B \en(yr is the current year minus 1900. .SS Miscellaneous +.B @g@troff +predefines a single (read/write) string-based register, +.BR \e*(.T , +which contains the argument given to the +.B -T +command line option, namely the current output device (for example, +.I latin1 +or +.IR ascii ). +Note that this is not the same as the (read-only) number register +.B \en(.T +which is defined to be\ 1 if +.B troff +is called with the +.B -T +command line option, and zero otherwise. This behaviour is different to +Unix troff. .LP Fonts not listed in the .SM DESC @@ -1773,7 +1791,7 @@ greater than that of any currently used position. Interpolating a string does not hide existing macro arguments. Thus in a macro, a more efficient way of doing .IP -.BI . xx\ \e\e$@ +I . xx\ \e\e$@ .LP is .IP @@ -1795,7 +1813,7 @@ request. In a .B \ew escape sequence, -a character that appears at a different input level to +character that appears at a different input level to the starting delimiter character will not be recognised as the closing delimiter character. When decoding a macro argument that is delimited diff --git a/tmac/tmac.X b/tmac/tmac.X index 53dd5963..4219b4a2 100755 --- a/tmac/tmac.X +++ b/tmac/tmac.X @@ -31,7 +31,7 @@ \D'l .39m 0'\v'.4m'\D'l -.39m 0''\h'.5m' .if !c\(lq .char \(lq `` .if !c\(rq .char \(rq '' -.if !c\(Bq .char \(bq ,, +.if !c\(Bq .char \(Bq ,, .if !c\(OE .char \(OE O\h'-.25m'E .if !c\(oe .char \(oe o\h'-.14m'e .if !c\(ah .char \(ah \v'-.55m'\s[\En[.s]/2u]v\s0\v'.55m' diff --git a/tmac/tmac.html b/tmac/tmac.html index 991ced36..239ce0e9 100755 --- a/tmac/tmac.html +++ b/tmac/tmac.html @@ -57,4 +57,4 @@ .hy 0 .nr HY 0 .\" avoid line breaks after hyphen-like characters. -.cflags 0 -\(hy\(em\(en +.cflags 0 -\(hy\(em\(en\[shc] diff --git a/tmac/tmac.latin1 b/tmac/tmac.latin1 index f33ea216..e2d70363 100755 --- a/tmac/tmac.latin1 +++ b/tmac/tmac.latin1 @@ -15,7 +15,7 @@ .latin1-tr \[char170] \(Of .latin1-tr \[char171] \(Fo .latin1-tr \[char172] \(no -.latin1-tr \[char173] \(hy +.latin1-tr \[char173] \[shc] .latin1-tr \[char174] \(rg .latin1-tr \[char175] \(a- .latin1-tr \[char176] \(de diff --git a/tmac/tmac.tty b/tmac/tmac.tty index 419a6853..a4d89693 100755 --- a/tmac/tmac.tty +++ b/tmac/tmac.tty @@ -4,7 +4,7 @@ .\" Don't warn about non-existent fonts. .warn \n[.warn]-(\n[.warn]/131072%2*131072) .po 0 -.if c\[char173] .shc \[char173] +.if c\[shc] .shc \[shc] .de tty-char .if !c\\$1 .char \\$1 "\\$2 .. |