diff options
Diffstat (limited to 'doc/groff.texinfo')
-rw-r--r-- | doc/groff.texinfo | 352 |
1 files changed, 178 insertions, 174 deletions
diff --git a/doc/groff.texinfo b/doc/groff.texinfo index 26f5b310..69a3a5da 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -7827,12 +7827,6 @@ written in a roman or an italic font, yielding two different glyphs); sometimes more than one character maps to a single glyph (this is a @dfn{ligature} -- the most common is `fi'). -@c XXX - -Please note that currently the distinction between glyphs and -characters in this reference is not clearly carried out. This will be -improved eventually in the next revision. - @cindex symbol @cindex special fonts @kindex fonts @@ -8045,8 +8039,8 @@ property). @end table @endDefreq -@DefreqList {char, c [@Var{string}]} -@DefreqListEnd {fchar, c [@Var{string}]} +@DefreqList {char, g [@Var{string}]} +@DefreqListEnd {fchar, g [@Var{string}]} @cindex defining character (@code{char}) @cindex character, defining (@code{char}) @cindex creating new characters (@code{char}) @@ -8054,19 +8048,20 @@ property). @cindex symbol, defining (@code{char}) @cindex defining glyph (@code{char}) @cindex glyph, defining (@code{char}) -@cindex escape character, while defining character -@cindex character, escape, while defining character -@cindex @code{tr} request, and character definitions -@cindex @code{cp} request, and character definitions -@cindex @code{rc} request, and character definitions -@cindex @code{lc} request, and character definitions -@cindex @code{\l}, and character definitions -@cindex @code{\L}, and character definitions -@cindex @code{\&}, and character definitions -@cindex @code{\e}, and character definitions -@cindex @code{hcode} request, and character definitions -Define a new glyph@w{ }@var{c} to be @var{string} (which can be -empty). Every time glyph@w{ }@var{c} needs to be printed, +@cindex escape character, while defining glyph +@cindex character, escape, while defining glyph +@cindex @code{tr} request, and glyph definitions +@cindex @code{cp} request, and glyph definitions +@cindex @code{rc} request, and glyph definitions +@cindex @code{lc} request, and glyph definitions +@cindex @code{\l}, and glyph definitions +@cindex @code{\L}, and glyph definitions +@cindex @code{\&}, and glyph definitions +@cindex @code{\e}, and glyph definitions +@cindex @code{hcode} request, and glyph definitions +Define a new glyph@w{ }@var{g} to be @var{string} (which can be +empty).@footnote{@code{char} is a misnomer since an output glyph is +defined.} Every time glyph@w{ }@var{g} needs to be printed, @var{string} is processed in a temporary environment and the result is wrapped up into a single object. Compatibility mode is turned off and the escape character is set to @samp{\} while @var{string} is being @@ -8083,9 +8078,9 @@ using the @code{\l} and @code{\L} escape sequences; words containing the glyph can be hyphenated correctly if the @code{hcode} request is used to give the glyph's symbol a hyphenation code. -There is a special anti-recursion -feature: Use of symbol within the symbol's definition is handled -like normal characters and symbols not defined with @code{char}. +There is a special anti-recursion feature: Use of @code{g} within +the glyph's definition is handled like normal characters and symbols +not defined with @code{char}. Note that the @code{tr} and @code{trin} requests take precedence if @code{char} accesses the same symbol. @@ -8103,15 +8098,15 @@ X @endExample The @code{fchar} request defines a fallback glyph: -@code{gtroff} only checks for characters defined with @code{fchar} +@code{gtroff} only checks for glyphs defined with @code{fchar} if it cannot find the glyph in the current font. @code{gtroff} carries out this test before checking special fonts. @endDefreq @Defreq {rchar, c1 c2 @dots{}} -@cindex removing character definition (@code{rchar}) -@cindex character, removing definition (@code{rchar}) -Remove the definitions of characters @var{c1}, @var{c2},@w{ +@cindex removing glyph definition (@code{rchar}) +@cindex glyph, removing definition (@code{rchar}) +Remove the definitions of glyphs @var{c1}, @var{c2},@w{ }@enddots{} This undoes the effect of a @code{char} or @code{fchar} request. @@ -8128,7 +8123,7 @@ It is possible to omit the whitespace between arguments. @cindex fonts, special Special fonts are those that @code{gtroff} searches -when it cannot find the requested character in the current font. +when it cannot find the requested glyph in the current font. The Symbol font is usually a special font. @code{gtroff} provides the following two requests to add more special @@ -8273,7 +8268,7 @@ a non-negative font position or the name of a font. @DefregListEnd {.b} @cindex imitating bold face (@code{bd}) @cindex bold face, imitating (@code{bd}) -Artificially create a bold font by printing each character twice, +Artificially create a bold font by printing each glyph twice, slightly offset. Two syntax forms are available. @@ -8282,7 +8277,7 @@ Two syntax forms are available. @item Imitate a bold font unconditionally. The first argument specifies the font to embolden, and the second is the number of basic units, minus -one, by which the two characters is offset. If the second argument is +one, by which the two glyphs are offset. If the second argument is missing, emboldening is turned off. @var{font} can be either a non-negative font position or the name of a @@ -8309,16 +8304,16 @@ command in font files or with the @code{fspecial} request). @endDefreq @Defreq {cs, font [@Var{width} [@Var{em-size}]]} -@cindex constant character space mode (@code{cs}) -@cindex mode for constant character space (@code{cs}) -@cindex character, constant space -@cindex @code{ps} request, and constant character space mode -Switch to and from constant character space mode. If activated, the -width of every character is @math{@var{width}/36} ems. The em size is +@cindex constant glyph space mode (@code{cs}) +@cindex mode for constant glyph space (@code{cs}) +@cindex glyph, constant space +@cindex @code{ps} request, and constant glyph space mode +Switch to and from @dfn{constant glyph space mode}. If activated, the +width of every glyph is @math{@var{width}/36} ems. The em size is given absolutely by @var{em-size}; if this argument is missing, the em value is taken from the current font size (as set with the @code{ps} request) when the font is effectively in use. Without second and -third argument, constant character space mode is deactivated. +third argument, constant glyph space mode is deactivated. Default scaling indicator for @var{em-size} is @samp{z}; @var{width} is an integer. @@ -8331,11 +8326,11 @@ an integer. @cindex ligatures and kerning @cindex kerning and ligatures -Ligatures are groups of characters that are run together. For -example, the letters `f' and `i' can form a ligature `fi' as in the -word `file'. This produces a cleaner look (albeit subtle) to the -printed output. Usually, ligatures are not available in fonts for TTY -output devices. +Ligatures are groups of characters that are run together, i.e, producing +a single glyph. For example, the letters `f' and `i' can form a +ligature `fi' as in the word `file'. This produces a cleaner look +(albeit subtle) to the printed output. Usually, ligatures are not +available in fonts for TTY output devices. Most @sc{PostScript} fonts support the fi and fl ligatures. The C/A/T typesetter that was the target of @acronym{AT&T} @code{troff} also @@ -8359,13 +8354,13 @@ ffl). @endDefreq @dfn{Pairwise kerning} is another subtle typesetting mechanism that -modifies the distance between a character pair to improve readability. +modifies the distance between a glyph pair to improve readability. In most cases (but not always) the distance is decreased. @ifnotinfo For example, compare the combination of the letters `V' and `A'. With kerning, `VA' is printed. Without kerning it appears as `V@w{}A'. @end ifnotinfo -Typewriter-like fonts and fonts for terminals where all characters +Typewriter-like fonts and fonts for terminals where all glyphs have the same width don't use kerning. @DefreqList {kern, [@Var{flag}]} @@ -8382,7 +8377,7 @@ register @code{.kern} is set to@w{ }1 if pairwise kerning is enabled, @cindex character, zero width space (@code{\&}) @cindex space character, zero width (@code{\&}) If the font description file contains pairwise kerning information, -characters from that font are kerned. Kerning between two characters +glyphs from that font are kerned. Kerning between two glyphs can be inhibited by placing @code{\&} between them: @samp{V\&A}. @xref{Font File Format}. @@ -8390,7 +8385,7 @@ can be inhibited by placing @code{\&} between them: @samp{V\&A}. @cindex track kerning @cindex kerning, track -@dfn{Track kerning} expands or reduces the space between characters. +@dfn{Track kerning} expands or reduces the space between glyphs. This can be handy, for example, if you need to squeeze a long word onto a single line or spread some text to fill a narrow column. It must be used with great care since it is usually considered bad @@ -8400,7 +8395,7 @@ typography if the reader notices the effect. @cindex activating track kerning (@code{tkf}) @cindex track kerning, activating (@code{tkf}) Enable track kerning for font@w{ }@var{f}. If the current font is@w{ -}@var{f} the width of every character is increased by an amount +}@var{f} the width of every glyph is increased by an amount between @var{n1} and @var{n2} (@var{n1}, @var{n2} can be negative); if the current point size is less than or equal to @var{s1} the width is increased by @var{n1}; if it is greater than or equal to @var{s2} the @@ -8411,7 +8406,7 @@ width is a linear function of the point size. The default scaling indicator is @samp{z} for @var{s1} and @var{s2}, @samp{p} for @var{n1} and @var{n2}. -Note that the track kerning amount is added even to the rightmost character +Note that the track kerning amount is added even to the rightmost glyph in a line; for large values it is thus recommended to increase the line length by the same amount to compensate it. @endDefreq @@ -8423,17 +8418,18 @@ with this. @Defesc {\\/, , , } @cindex italic correction (@code{\/}) @cindex correction, italic (@code{\/}) -@cindex correction between italic and roman character (@code{\/}, @code{\,}) -@cindex roman character, correction after italic character (@code{\/}) -@cindex italic character, correction before roman character (@code{\/}) -Increase the width of the preceding character so that the spacing -between that character and the following character is correct if the -following character is a roman character. For example, if an +@cindex correction between italic and roman glyph (@code{\/}, @code{\,}) +@cindex roman glyph, correction after italic glyph (@code{\/}) +@cindex italic glyph, correction before roman glyph (@code{\/}) +@cindex glyph, italic correction (@code{\/}) +Increase the width of the preceding glyph so that the spacing +between that glyph and the following glyph is correct if the +following glyph is a roman glyph. For example, if an italic@w{ }@code{f} is immediately followed by a roman right parenthesis, then in many fonts the top right portion of the@w{ }@code{f} overlaps the top left of the right parenthesis. Use this escape -sequence whenever an italic character is immediately followed by a -roman character without any intervening space. This small amount of +sequence whenever an italic glyph is immediately followed by a +roman glyph without any intervening space. This small amount of space is also called @dfn{italic correction}. @iftex @@ -8451,13 +8447,14 @@ space is also called @dfn{italic correction}. @Defesc {\\\,, , , } @cindex left italic correction (@code{\,}) @cindex correction, left italic (@code{\,}) -@cindex roman character, correction before italic character (@code{\,}) -@cindex italic character, correction after roman character (@code{\,}) -Modify the spacing of the following character so that the spacing -between that character and the preceding character is correct if the -preceding character is a roman character. Use this escape sequence -whenever a roman character is immediately followed by an italic -character without any intervening space. In analogy to above, this +@cindex glyph, left italic correction (@code{\,}) +@cindex roman glyph, correction before italic glyph (@code{\,}) +@cindex italic glyph, correction after roman glyph (@code{\,}) +Modify the spacing of the following glyph so that the spacing +between that glyph and the preceding glyph is correct if the +preceding glyph is a roman glyph. Use this escape sequence +whenever a roman glyph is immediately followed by an italic +glyph without any intervening space. In analogy to above, this space could be called @dfn{left italic correction}, but this term isn't used widely. @@ -8503,7 +8500,7 @@ an input line. @endExample @item -It prevents kerning between two characters. +It prevents kerning between two glyphs. @ifnotinfo @example @@ -8562,7 +8559,7 @@ This is a test. @cindex spacing, vertical @code{gtroff} uses two dimensions with each line of text, type size and vertical spacing. The @dfn{type size} is approximately the height -of the tallest character.@footnote{This is usually the parenthesis. +of the tallest glyph.@footnote{This is usually the parenthesis. Note that in most cases the real dimensions of the glyphs in a font are @emph{not} related to its type size! For example, the standard @sc{PostScript} font families `Times Roman', `Helvetica', and @@ -9239,7 +9236,7 @@ The resulting motions, character sizes, and fonts have to match,@footnote{The created output nodes must be identical. @xref{Gtroff Internals}.} and not the individual motion, size, and font requests. In the previous example, @samp{|} and @samp{\fR|\fP} -both result in a roman @samp{|} character with the same point size and +both result in a roman @samp{|} glyph with the same point size and at the same location on the page, so the strings are equal. If @samp{.ft@w{ }I} had been added before the @samp{.ie}, the result would be ``false'' because (the first) @samp{|} produces an italic @@ -9254,11 +9251,12 @@ True if there is a string, macro, diversion, or request named @var{xxx}. @item m @var{xxx} True if there is a color named @var{xxx}. -@item c @var{ch} -True if there is a character @var{ch} available; @var{ch} is either an -@acronym{ASCII} character or a special character (@code{\(@var{ch}} or -@code{\[@var{ch}]}); the condition is also true if @var{ch} has been -defined by the @code{char} request. +@item c @var{g} +True if there is a glyph @var{g} available@footnote{The name of this +conditional operator is a misnomer since it tests names of output +glyphs.}; @var{g} is either an @acronym{ASCII} character or a special +character (@code{\(@var{gg}} or @code{\[@var{ggg}]}); the condition +is also true if @var{g} has been defined by the @code{char} request. @end table Note that these operators can't be combined with other operators like @@ -9937,34 +9935,34 @@ The highest and lowest point of the baseline, respectively, in @var{text}. @item rst @itemx rsb Like the @code{st} and @code{sb} registers, but takes account of the -heights and depths of characters. With other words, this gives the +heights and depths of glyphs. With other words, this gives the highest and lowest point of @var{text}. @item ct -Defines the kinds of characters occurring in @var{text}: +Defines the kinds of glyphs occurring in @var{text}: @table @asis @item 0 -only short characters, no descenders or tall characters. +only short glyphs, no descenders or tall glyphs. @item 1 at least one descender. @item 2 -at least one tall character. +at least one tall glyph. @item 3 -at least one each of a descender and a tall character. +at least one each of a descender and a tall glyph. @end table @item ssc The amount of horizontal space (possibly negative) that should be added -to the last character before a subscript. +to the last glyph before a subscript. @item skw -How far to right of the center of the last character in the @code{\w} +How far to right of the center of the last glyph in the @code{\w} argument, the center of an accent from a roman font should be placed -over that character. +over that glyph. @end table @endDefesc @@ -10000,18 +9998,18 @@ position. @endDefreg @Defesc {\\o, ', @Var{a}@Var{b}@Var{c}, '} -@cindex overstriking characters (@code{\o}) -@cindex characters, overstriking (@code{\o}) -Overstrike characters @var{a}, @var{b}, @var{c}, @dots{}; the characters +@cindex overstriking glyphs (@code{\o}) +@cindex glyphs, overstriking (@code{\o}) +Overstrike glyphs @var{a}, @var{b}, @var{c}, @dots{}; the glyphs are centered, and the resulting spacing is the largest width of the -affected characters. +affected glyphs. @endDefesc -@Defesc {\\z, , c, , } +@Defesc {\\z, , g, , } @cindex zero-width printing (@code{\z}, @code{\Z}) @cindex printing, zero-width (@code{\z}, @code{\Z}) -Print character @var{c} with zero width, i.e., without spacing. Use -this to overstrike characters left-aligned. +Print glyph @var{g} with zero width, i.e., without spacing. Use +this to overstrike glyphs left-aligned. @endDefesc @Defesc {\\Z, ', anything, '} @@ -10053,7 +10051,7 @@ information. All drawing is done via escapes. @DefescList {\\l, ', @Var{l}, '} -@DefescListEnd {\\l, ', @Var{l}@Var{c}, '} +@DefescListEnd {\\l, ', @Var{l}@Var{g}, '} @cindex drawing horizontal lines (@code{\l}) @cindex horizontal line, drawing (@code{\l}) @cindex line, horizontal, drawing (@code{\l}) @@ -10067,19 +10065,20 @@ and draws to the left, but the current location doesn't move. @samp{|}) which draws back to the beginning of the input line. Default scaling indicator is @samp{m}. -@cindex underscore character (@code{\[ru]}) -@cindex character, underscore (@code{\[ru]}) -@cindex line drawing character -@cindex character, for line drawing -The optional second parameter@w{ }@var{c} is a character to draw the line +@cindex underscore glyph (@code{\[ru]}) +@cindex glyph, underscore (@code{\[ru]}) +@cindex line drawing glyph +@cindex glyph, for line drawing +The optional second parameter@w{ }@var{g} is a glyph to draw the line with. If this second argument is not specified, @code{gtroff} uses -the underscore character, @code{\[ru]}. +the underscore glyph, @code{\[ru]}. @cindex zero width space character (@code{\&}) @cindex character, zero width space (@code{\&}) @cindex space character, zero width (@code{\&}) To separate the two arguments (to prevent @code{gtroff} from -interpreting a drawing character as a scaling indicator) use @code{\&}. +interpreting a drawing glyph as a scaling indicator if the glyph is +represented by a single character) use @code{\&}. Here a small useful example: @@ -10098,19 +10097,19 @@ length is negative, not moving the current point. @endDefesc @DefescList {\\L, ', @Var{l}, '} -@DefescListEnd {\\L, ', @Var{l}@Var{c}, '} +@DefescListEnd {\\L, ', @Var{l}@Var{g}, '} @cindex drawing vertical lines (@code{\L}) @cindex vertical line drawing (@code{\L}) @cindex line, vertical, drawing (@code{\L}) -@cindex line drawing character -@cindex character for line drawing -@cindex box rule character (@code{\[br]}) -@cindex character, box rule (@code{\[br]}) +@cindex line drawing glyph +@cindex glyph for line drawing +@cindex box rule glyph (@code{\[br]}) +@cindex glyph, box rule (@code{\[br]}) Draw vertical lines. Its parameters are similar to the @code{\l} escape, except that the default scaling indicator is @samp{v}. The movement is downwards for positive values, -and upwards for negative values. The default character is the box rule -character, @code{\[br]}. As with the vertical motion escapes, text +and upwards for negative values. The default glyph is the box rule +glyph, @code{\[br]}. As with the vertical motion escapes, text processing blindly continues where the line ends. @Example @@ -10271,10 +10270,10 @@ the default behaviour of @acronym{AT&T} @code{troff}). @xref{Graphics Commands}. @Defesc {\\b, ', string, '} -@cindex pile, character (@code{\b}) -@cindex character pile (@code{\b}) -@cindex stacking characters (@code{\b}) -@dfn{Pile} a sequence of characters vertically, and center it vertically +@cindex pile, glyph (@code{\b}) +@cindex glyph pile (@code{\b}) +@cindex stacking glyphs (@code{\b}) +@dfn{Pile} a sequence of glyphs vertically, and center it vertically on the current line. Use it to build large brackets and braces. Here an example how to create a large opening brace: @@ -10285,10 +10284,10 @@ Here an example how to create a large opening brace: @cindex @code{\b}, limitations @cindex limitations of @code{\b} escape -The first character is on the top, the last character in the argument is -at the bottom. Note that @code{gtroff} separates the characters +The first glyph is on the top, the last glyph in @var{string} is +at the bottom. Note that @code{gtroff} separates the glyphs vertically by 1@dmn{m}, and the whole object is centered 0.5@dmn{m} -above the current baseline; the largest character width is used as the +above the current baseline; the largest glyph width is used as the width for the whole object. This rather unflexible positioning algorithm doesn't work with @option{-Tdvi} since the bracket pieces vary in height for this device. Instead, use the @code{eqn} preprocessor. @@ -10865,7 +10864,7 @@ following is the information kept in an environment. @itemize @bullet @item -font parameters (size, family, style, character height and slant, space +font parameters (size, family, style, glyph height and slant, space and sentence space size) @item @@ -10967,19 +10966,19 @@ The number of consecutive hyphenated lines (set to zero). @DefregList {.cht} @DefregItem {.cdp} @DefregListEnd {.csk} -@cindex environment, last character +@cindex environment, last glyph The @code{\n[.cht]} register contains the maximum extent (above the baseline) -of the last character added to the current environment. +of the last glyph added to the current environment. The @code{\n[.cdp]} register contains the maximum extent (below the baseline) -of the last character added to the current environment. +of the last glyph added to the current environment. The @code{\n[.csk]} register contains the -@dfn{skew} (how far to the right of the character's center +@dfn{skew} (how far to the right of the glyph's center that @code{gtroff} shold place an accent) -of the last character added to the current environment. +of the last glyph added to the current environment. @endDefreg @@ -11577,11 +11576,12 @@ Temporarily turn off line numbering. The argument is the number of lines not to be numbered; this defaults to@w{ }1. @endDefreq -@Defreq {mc, char [@Var{dist}]} -@cindex margin character (@code{mc}) -@cindex character, for margins (@code{mc}) -Print margin character to the right of the text. -The first argument is the character to be +@Defreq {mc, glyph [@Var{dist}]} +@cindex margin glyph (@code{mc}) +@cindex glyph, for margins (@code{mc}) +Print a @dfn{margin character} to the right of the +text.@footnote{@dfn{Margin character} is a misnomer since it is an +output glyph.} The first argument is the glyph to be printed. The second argument is the distance away from the right margin. If missing, the previously set value is used; default is 10@dmn{pt}). For text lines that are too long (that is, longer than @@ -11933,7 +11933,7 @@ of the numbers associated with each warning that is to be enabled; all other warnings are disabled. The number associated with each warning is listed below. For example, @w{@code{.warn 0}} disables all warnings, and @w{@code{.warn 1}} disables all warnings except that about missing -characters. If no argument is given, all warnings are enabled. +glyphs. If no argument is given, all warnings are enabled. The read-only number register @code{.warn} contains the current warning level. @@ -11957,7 +11957,9 @@ the @option{-w} and @option{-W} options; the number is used by the @table @samp @item char @itemx 1 -Non-existent characters. This is enabled by default. +Non-existent glyphs.@footnote{@code{char} is a misnomer since it reports +missing glyphs -- there aren't missing input characters, only invalid +ones.} This is enabled by default. @item number @itemx 2 @@ -12226,20 +12228,21 @@ Sizes}, for more information. @cindex @code{cs} request, incompatibilities with @acronym{AT&T} @code{troff} @cindex @code{tr} request, incompatibilities with @acronym{AT&T} @code{troff} @cindex @code{fp} request, incompatibilities with @acronym{AT&T} @code{troff} -@cindex input and output characters, compatibility with @acronym{AT&T} @code{troff} -@cindex output characters, compatibility with @acronym{AT&T} @code{troff} -@cindex characters, input and output, compatibility with @acronym{AT&T} @code{troff} +@cindex input characters and output glyphs, compatibility with @acronym{AT&T} @code{troff} +@cindex output glyphs, and input characters,compatibility with @acronym{AT&T} @code{troff} +@cindex characters, input, and output glyphs, compatibility with @acronym{AT&T} @code{troff} +@cindex glyphs, output, and input characters, compatibility with @acronym{AT&T} @code{troff} In GNU @code{troff} there is a fundamental difference between -unformatted, input characters, and formatted, output characters. -Everything that affects how an output character is output is stored -with the character; once an output character has been constructed it is +(unformatted) input characters and (formatted) output glyphs. +Everything that affects how a glyph is output is stored +with the glyph node; once a glyph node has been constructed it is unaffected by any subsequent requests that are executed, including @code{bd}, @code{cs}, @code{tkf}, @code{tr}, or @code{fp} requests. -Normally output characters are constructed from input characters at the -moment immediately before the character is added to the current output +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 in -any combination. An output character does not behave like an input +object; they contain lists of input characters and glyph nodes in +any combination. A glyph node 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. For example, @@ -12276,7 +12279,7 @@ diversion that will be interpreted when the diversion is reread, either use the traditional @code{\!} transparent output facility, or, if this is unsuitable, the new @code{\?} escape sequence. -@xref{Diversions}, for more information. +@xref{Diversions}, and @ref{Gtroff Internals}, for more information. @@ -12714,7 +12717,8 @@ template name or the default name. @cindex file formats @cindex formats, file -@c XXX +All files read and written by @code{gtroff} are text files. The +following two sections describe their format. @menu * gtroff Output:: @@ -12958,16 +12962,16 @@ stack as the actual device configuration data. @end ignore @item C @var{xxx}@angles{whitespace} -Print a special groff character named @var{xxx}. The trailing -syntactical space or line break is necessary to allow character names -of arbitrary length. The character is printed at the current print -position; the character's size is read from the font file. The print +Print a special character named @var{xxx}. The trailing +syntactical space or line break is necessary to allow glyph names +of arbitrary length. The glyph is printed at the current print +position; the glyph's size is read from the font file. The print position is not changed. -@item c @var{c} -Print character@w{ }@var{c} at the current print position; the -character's size is read from the font file. The print position is -not changed. +@item c @var{g} +Print glyph@w{ }@var{g} at the current print position;@footnote{@samp{c} +is actually a misnomer since it outputs a glyph.} the glyph's size is +read from the font file. The print position is not changed. @item f @var{n} Set font to font number@w{ }@var{n} (a non-negative integer). @@ -13016,7 +13020,7 @@ Set color using the RGB color scheme, having the 3@w{ }color components @end table @item N @var{n} -Print character with index@w{ }@var{n} (a non-negative integer) of the +Print glyph with index@w{ }@var{n} (a non-negative integer) of the current font. This command is a @code{gtroff} extension. @item n @var{b} @var{a} @@ -13042,24 +13046,25 @@ Set point size to @var{n}@w{ }scaled points (this is unit @samp{z}). @item t @var{xxx}@angles{whitespace} @itemx t @var{xxx} @var{dummy-arg}@angles{whitespace} -Print a word, i.e., a sequence of characters @var{xxx} terminated by +Print a word, i.e., a sequence of characters @var{xxx} representing +output glyphs which names are single characters, terminated by a space character or a line break; an optional second integer argument is ignored (this allows the formatter to generate an even number of -arguments). The first character should be printed at the current +arguments). The first glyph should be printed at the current position, the current horizontal position should then be increased by -the width of the first character, and so on for each character. -The widths of the characters are read from the font file, scaled for the +the width of the first glyph, and so on for each glyph. +The widths of the glyphs are read from the font file, scaled for the current point size, and rounded to a multiple of the horizontal resolution. Special characters cannot be printed using this command -(use the @samp{C} command for named characters). This command is a +(use the @samp{C} command for special characters). This command is a @code{gtroff} extension; it is only used for devices whose @file{DESC} file contains the @code{tcommand} keyword (@pxref{DESC File Format}). @item u @var{n} @var{xxx}@angles{whitespace} Print word with track kerning. This is the same as the @samp{t} -command except that after printing each character, the current +command except that after printing each glyph, the current horizontal position is increased by the sum of the width of that -character and@w{ }@var{n} (an integer in basic units @samp{u}). +glyph and@w{ }@var{n} (an integer in basic units @samp{u}). This command is a @code{gtroff} extension; it is only used for devices whose @file{DESC} file contains the @code{tcommand} keyword (@pxref{DESC File Format}). @@ -13307,7 +13312,7 @@ named@w{ }@var{s} (a text word). @xref{Font Positions}. @item xH @var{n}@angles{line break} The @samp{H} stands for @var{Height}. -Set character height to@w{ }@var{n} (a positive integer in scaled +Set glyph height to@w{ }@var{n} (a positive integer in scaled points @samp{z}). @acronym{AT&T} @code{troff} uses the unit points (@samp{p}) instead. @xref{Output Language Compatibility}. @@ -13384,15 +13389,15 @@ escape sequence @code{\X}. The line-continuing feature is a @node Obsolete Command, , Device Control Commands, Command Reference @subsubsection Obsolete Command In @acronym{AT&T} @code{troff} output, the writing of a single -character is mostly done by a very strange command that combines a -horizontal move and the printing of a character. It doesn't have a -command code, but is represented by a 3-character argument consisting -of exactly 2@w{ }digits and a character. +glyph is mostly done by a very strange command that combines a +horizontal move and a single character giving the glyph name. It +doesn't have a command code, but is represented by a 3-character +argument consisting of exactly 2@w{ }digits and a character. @table @asis -@item @var{dd}@var{c} +@item @var{dd}@var{g} Move right @var{dd} (exactly two decimal digits) basic units @samp{u}, -then print character@w{ }@var{c}. +then print glyph@w{ }@var{g} (represented as a single character). In @code{gtroff}, arbitrary syntactical space around and within this command is allowed to be added. Only when a preceding command on the @@ -13404,7 +13409,7 @@ almost unreadable. @end table For modern high-resolution devices, this command does not make sense -because the width of the characters can become much larger than two +because the width of the glyphs can become much larger than two decimal digits. In @code{gtroff}, this is only used for the devices @code{X75}, @code{X75-12}, @code{X100}, and @code{X100-12}. For other devices, the commands @samp{t} and @samp{u} provide a better @@ -13715,7 +13720,7 @@ The default font family is @var{fam}. @item use_charnames_in_special @kindex use_charnames_in_special -This command indicates that @code{gtroff} should encode named +This command indicates that @code{gtroff} should encode special characters inside special commands. Currently, this is only used by the @acronym{HTML} output device. @xref{Postprocessor Access}. @@ -13833,18 +13838,17 @@ tabs. The format is @noindent @var{name} identifies the glyph name@footnote{The distinction between input, characters, and output, glyphs, is not clearly separated in the -terminology of @code{groff} (and this manual isn't precise either -currently); for example, the @code{char} request should be called -@code{glyph} since it defines an output entity.}: If @var{name} is a -single character@w{ }@var{c} then it corresponds to the @code{gtroff} -input character@w{ }@var{c}; if it is of the form @samp{\@var{c}} -where @var{c} is a single character, then it corresponds to the -special character @code{\[@var{c}]}; otherwise it corresponds to the -groff input character @samp{\[@var{name}]}. If it is exactly two -characters @var{xx} it can be entered as @samp{\(@var{xx}}. Note -that single-letter special characters can't be accessed as -@samp{\@var{c}}; the only exception is @samp{\-} which is identical -to @code{\[-]}. +terminology of @code{groff}; for example, the @code{char} request +should be called @code{glyph} since it defines an output entity.}: +If @var{name} is a single character@w{ }@var{c} then it corresponds +to the @code{gtroff} input character@w{ }@var{c}; if it is of the form +@samp{\@var{c}} where @var{c} is a single character, then it +corresponds to the special character @code{\[@var{c}]}; otherwise it +corresponds to the special character @samp{\[@var{name}]}. If it +is exactly two characters @var{xx} it can be entered as +@samp{\(@var{xx}}. Note that single-letter special characters can't +be accessed as @samp{\@var{c}}; the only exception is @samp{\-} which +is identical to @code{\[-]}. @code{gtroff} supports 8-bit input characters; however some utilities have difficulties with eight-bit characters. For this reason, there is @@ -13885,7 +13889,7 @@ The @var{entity-name} field gives an @acronym{ASCII} string identifying the glyph which the postprocessor uses to print the @code{gtroff} glyph @var{name}. This field is optional and has been introduced so that the @acronym{HTML} device driver can encode its -character set. For example, the character @samp{\[Po]} is +character set. For example, the glyph @samp{\[Po]} is represented as @samp{£} in @acronym{HTML} 4.0. Anything on the line after the @var{entity-name} field resp.@: after @@ -13942,7 +13946,7 @@ sequence of lines of the form: @endExample @noindent -This means that when glyph @var{c1} appears next to character @var{c2} +This means that when glyph @var{c1} appears next to glyph @var{c2} the space between them should be increased by@w{ }@var{n}. Most entries in the kernpairs section have a negative value for@w{ }@var{n}. @@ -13993,7 +13997,7 @@ Requests appear without the leading control character (normally either @appendix Escape Index Any escape sequence @code{\@var{X}} with @var{X} not in the list below -emits a warning, printing character @var{X}. +emits a warning, printing glyph @var{X}. @printindex es |