diff options
author | wlemb <wlemb> | 2002-05-03 06:08:33 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2002-05-03 06:08:33 +0000 |
commit | e854dc9f506d92de2c9af0610f896a370a1438ca (patch) | |
tree | 87c35bb127a079a09f92df9ca3fe34e4f21aab5f | |
parent | 93674538fa979932dba9dec721ef5051664b0952 (diff) | |
download | groff-e854dc9f506d92de2c9af0610f896a370a1438ca.tar.gz |
* doc/groff.texinfo: Finished separation of glyphs and characters.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | doc/fdl.texi | 403 | ||||
-rw-r--r-- | doc/groff.texinfo | 352 |
3 files changed, 585 insertions, 174 deletions
@@ -1,3 +1,7 @@ +2002-05-03 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Finished separation of glyphs and characters. + 2002-05-02 Werner LEMBERG <wl@gnu.org> * doc/fdl.texi: New file. diff --git a/doc/fdl.texi b/doc/fdl.texi new file mode 100644 index 00000000..361f90f7 --- /dev/null +++ b/doc/fdl.texi @@ -0,0 +1,403 @@ + +@node GNU Free Documentation License +@appendixsec GNU Free Documentation License + +@cindex FDL, GNU Free Documentation License +@center Version 1.1, March 2000 + +@display +Copyright @copyright{} 2000 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +@end display + +@enumerate 0 +@item +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +written document @dfn{free} in the sense of freedom: to assure everyone +the effective freedom to copy and redistribute it, with or without +modifying it, either commercially or noncommercially. Secondarily, +this License preserves for the author and publisher a way to get +credit for their work, while not being considered responsible for +modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +@item +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The ``Document'', below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as ``you''. + +A ``Modified Version'' of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A ``Secondary Section'' is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (For example, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The ``Invariant Sections'' are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. + +The ``Cover Texts'' are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. + +A ``Transparent'' copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup has been designed to thwart or discourage +subsequent modification by readers is not Transparent. A copy that is +not ``Transparent'' is called ``Opaque''. + +Examples of suitable formats for Transparent copies include plain +@sc{ascii} without markup, Texinfo input format, La@TeX{} input format, +@acronym{SGML} or @acronym{XML} using a publicly available +@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed +for human modification. Opaque formats include PostScript, +@acronym{PDF}, proprietary formats that can be read and edited only by +proprietary word processors, @acronym{SGML} or @acronym{XML} for which +the @acronym{DTD} and/or processing tools are not generally available, +and the machine-generated @acronym{HTML} produced by some word +processors for output purposes only. + +The ``Title Page'' means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +@item +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + +@item +COPYING IN QUANTITY + +If you publish printed copies of the Document numbering more than 100, +and the Document's license notice requires Cover Texts, you must enclose +the copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. If you use the latter +option, you must take reasonably prudent steps, when you begin +distribution of Opaque copies in quantity, to ensure that this +Transparent copy will remain thus accessible at the stated location +until at least one year after the last time you distribute an Opaque +copy (directly or through your agents or retailers) of that edition to +the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + +@item +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +@enumerate A +@item +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +@item +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has less than five). + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +@item +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section entitled ``History'', and its title, and add to +it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section entitled ``History'' in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the ``History'' section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +@item +In any section entitled ``Acknowledgments'' or ``Dedications'', +preserve the section's title, and preserve in the section all the +substance and tone of each of the contributor acknowledgments +and/or dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +@item +Delete any section entitled ``Endorsements''. Such a section +may not be included in the Modified Version. + +@item +Do not retitle any existing section as ``Endorsements'' +or to conflict in title with any Invariant Section. +@end enumerate + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +@item +COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections entitled ``History'' +in the various original documents, forming one section entitled +``History''; likewise combine any sections entitled ``Acknowledgments'', +and any sections entitled ``Dedications''. You must delete all sections +entitled ``Endorsements.'' + +@item +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +@item +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an ``aggregate'', and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around the whole aggregate. + +@item +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail. + +@item +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +@item +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +@uref{http://www.gnu.org/copyleft/}. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. +@end enumerate + +@page +@appendixsubsec ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +@smallexample +@group + Copyright (C) @var{year} @var{your name}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being @var{list their titles}, with the + Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +@end group +@end smallexample + +If you have no Invariant Sections, write ``with no Invariant Sections'' +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write ``no Front-Cover Texts'' instead of +``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +@c Local Variables: +@c ispell-local-pdict: "ispell-dict" +@c End: + 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 |