From 93674538fa979932dba9dec721ef5051664b0952 Mon Sep 17 00:00:00 2001 From: wlemb Date: Thu, 2 May 2002 22:33:15 +0000 Subject: * doc/fdl.texi: New file. * doc/groff.texinfo: Include it. Define and use @copying. Starting with separating glyph, symbol, and character. * Makefile.in (EXEEXT): Set it. * src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script programs. * src/include/nonposix.h: Define GS_NAME. * src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME. Some preliminary changes for EMX support under OS/2. * src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add __EMX__ similar to __MSDOS__. * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'. --- ChangeLog | 22 + Makefile.in | 1 + doc/groff.texinfo | 1031 +++++++++++++------------------------- src/devices/grodvi/Makefile.sub | 2 +- src/devices/grohtml/Makefile.sub | 2 +- src/devices/grolbp/Makefile.sub | 2 +- src/devices/grolj4/Makefile.sub | 2 +- src/devices/grops/Makefile.sub | 2 +- src/devices/grotty/Makefile.sub | 2 +- src/include/nonposix.h | 3 + src/preproc/eqn/Makefile.sub | 2 +- src/preproc/grn/Makefile.sub | 2 +- src/preproc/html/Makefile.sub | 2 +- src/preproc/html/pre-html.cc | 3 +- src/preproc/pic/Makefile.sub | 2 +- src/preproc/pic/main.cc | 8 +- src/preproc/refer/Makefile.sub | 2 +- src/preproc/soelim/Makefile.sub | 2 +- src/preproc/tbl/Makefile.sub | 2 +- src/roff/groff/Makefile.sub | 2 +- src/roff/groff/pipeline.c | 3 +- src/roff/troff/Makefile.sub | 2 +- src/utils/addftinfo/Makefile.sub | 2 +- src/utils/hpftodit/Makefile.sub | 2 +- src/utils/indxbib/Makefile.sub | 2 +- src/utils/indxbib/indxbib.cc | 5 +- src/utils/lkbib/Makefile.sub | 2 +- src/utils/lookbib/Makefile.sub | 2 +- src/utils/pfbtops/Makefile.sub | 2 +- src/utils/tfmtodit/Makefile.sub | 2 +- 30 files changed, 405 insertions(+), 715 deletions(-) diff --git a/ChangeLog b/ChangeLog index 60e86848..49aa344e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2002-05-02 Werner LEMBERG + + * doc/fdl.texi: New file. + * doc/groff.texinfo: Include it. + Define and use @copying. + Starting with separating glyph, symbol, and character. + +2002-04-27 Werner LEMBERG + + * Makefile.in (EXEEXT): Set it. + * src/*/Makefile.sub (PROG): Add $(EXEEXT) for all non-script + programs. + + * src/include/nonposix.h: Define GS_NAME. + * src/preproc/html/pre-html.cc (createAllPages): Use GS_NAME. + + Some preliminary changes for EMX support under OS/2. + + * src/preproc/pic/main.cc (main), src/roff/groff/pipeline.c: Add + __EMX__ similar to __MSDOS__. + * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Use `unlink'. + 2002-04-25 Werner LEMBERG * doc/groff.texinfo: Integrated groff_out.man. diff --git a/Makefile.in b/Makefile.in index bc61f828..7192bbec 100644 --- a/Makefile.in +++ b/Makefile.in @@ -260,6 +260,7 @@ LDFLAGS=@LDFLAGS@ YACC=@YACC@ YACCFLAGS=-v +EXEEXT=@EXEEXT@ LIBS=@LIBS@ LIBM=@LIBM@ RANLIB=@RANLIB@ diff --git a/doc/groff.texinfo b/doc/groff.texinfo index 82af75b4..26f5b310 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -15,6 +15,32 @@ @c %**end of header (This is for running Texinfo on a region.) +@smallbook + +@finalout + + +@copying +This manual documents GNU @code{troff} version 1.18. + +Copyright @copyright{} 1994-2000, 2001, 2002 Free Software Foundation, Inc. + +@quotation +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 no +Invariant Sections, with the Front-Cover texts being `A GNU Manual,'' +and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled `GNU Free Documentation +License.'' + +(a) The FSF's Back-Cover Text is: `You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' +@end quotation +@end copying + + @c We use the following indices: @c @c cindex: concepts @@ -341,122 +367,35 @@ @dircategory Miscellaneous @direntry -* Groff: (groff). The GNU troff document formatting system. +* Groff: (groff)The GNU troff document formatting system. @end direntry -@smallbook - - -@iftex -@finalout -@end iftex - - -@ifinfo -This Info file documents GNU troff version 1.18. - -Published by the Free Software Foundation -59 Temple Place, Suite 330 -Boston, MA 02111-1307 USA - -Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. - -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries copying permission notice -identical to this one except for the removal of this paragraph (this -paragraph not being relevant to the printed manual). - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation -approved by the Foundation. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -section entitled ``GNU General Public License'' is included exactly as -in the original, and provided that the entire resulting derived work is -distributed under the terms of a permission notice identical to this -one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that the section entitled ``GNU General Public License'' may be -included in a translation approved by the Free Software Foundation -instead of in the original English. -@end ifinfo - - @titlepage @title groff @subtitle The GNU implementation of @code{troff} @subtitle Edition 1.18 @subtitle Spring 2002 @author by Trent A.@w{ }Fisher -@author and Werner Lemberg - -@c Include the Distribution inside the titlepage environment so -@c that headings are turned off. Headings on and off do not work. +@author and Werner Lemberg (@email{bug-groff@@gnu.org}) @page @vskip 0pt plus 1filll -Copyright @copyright@w{ }1994-2000, 2001, 2002 Free Software -Foundation,@w{ }Inc. -@sp 2 -Version 1.18 of @code{groff}, @* -Spring 2002 -@sp 2 -Published by the Free Software Foundation @* -59 Temple Place, Suite 330 @* -Boston, MA 02111-1307 USA - - -Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -section entitled ``GNU General Public License'' is included exactly as -in the original, and provided that the entire resulting derived work is -distributed under the terms of a permission notice identical to this -one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that the section entitled ``GNU General Public License'' may be -included in a translation approved by the Free Software Foundation -instead of in the original English. - -Cover art by Etienne Suvasa. +@insertcopying @end titlepage -@page +@contents -@node Top, Copying, (dir), (dir) @ifinfo -This Info file documents groff version 1.18, the GNU implementation of -the troff typesetting system. +@node Top, Introduction, (dir), (dir) +@top GNU troff -This is an in-progress document; contributions, comments, or -contributions are welcome. Send them to bug-groff@@gnu.org. +@insertcopying @end ifinfo @menu -* Copying:: * Introduction:: * Invoking groff:: * Tutorial for Macro Users:: @@ -466,6 +405,7 @@ contributions are welcome. Send them to bug-groff@@gnu.org. * Output Devices:: * File formats:: * Installation:: +* Copying This Manual:: * Request Index:: * Escape Index:: * Operator Index:: @@ -480,406 +420,10 @@ contributions are welcome. Send them to bug-groff@@gnu.org. -@node Copying, Introduction, Top, Top -@cindex copying -@unnumbered GNU GENERAL PUBLIC LICENSE -@center Version 2, June 1991 - -@display -Copyright @copyright{}@w{ }1989, 1991 Free Software Foundation, Inc. -59@w{ }Temple Place, Suite@w{ }330, Boston, MA@w{ }02111, USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. -@end display - -@unnumberedsec Preamble - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free software -- -to make sure the software is free for all its users. This General -Public License applies to most of the Free Software Foundation's -software and to any other program whose authors commit to using it. -(Some other Free Software Foundation software is covered by the GNU -Library General Public License instead.) You can apply it to your -programs, too. - -When we speak of free software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have the -freedom to distribute copies of free software (and charge for this -service if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone -to deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis -or for a fee, you must give the recipients all the rights that you have. -You must make sure that they, too, receive or can get the source code. -And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1)@w{ }copyright the software, -and (2)@w{ }offer you this license which gives you legal permission to -copy, distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - -Finally, any free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent -must be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - -@iftex -@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -@end iftex -@ifinfo -@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -@end ifinfo - -@enumerate 0 -@item -This License applies to any program or other work which contains a -notice placed by the copyright holder saying it may be distributed under -the terms of this General Public License. The ``Program'', below, -refers to any such program or work, and a ``work based on the Program'' -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, either -verbatim or with modifications and/or translated into another language. -(Hereinafter, translation is included without limitation in the term -``modification''.) Each licensee is addressed as ``you''. - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of running -the Program is not restricted, and the output from the Program is -covered only if its contents constitute a work based on the Program -(independent of having been made by running the Program). Whether that -is true depends on what the Program does. - -@item -You may copy and distribute verbatim copies of the Program's source code -as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this -License and to the absence of any warranty; and give any other -recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - -@item -You may modify your copy or copies of the Program or any portion of it, -thus forming a work based on the Program, and copy and distribute such -modifications or work under the terms of Section@w{ }1 above, provided -that you also meet all of these conditions: - -@enumerate a -@item -You must cause the modified files to carry prominent notices stating -that you changed the files and the date of any change. - -@item -You must cause any work that you distribute or publish, that in whole or -in part contains or is derived from the Program or any part thereof, to -be licensed as a whole at no charge to all third parties under the terms -of this License. - -@item -If the modified program normally reads commands interactively when run, -you must cause it, when started running for such interactive use in the -most ordinary way, to print or display an announcement including an -appropriate copyright notice and a notice that there is no warranty (or -else, saying that you provide a warranty) and that users may -redistribute the program under these conditions, and telling the user -how to view a copy of this License. (Exception: if the Program itself -is interactive but does not normally print such an announcement, your -work based on the Program is not required to print an announcement.) -@end enumerate - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, and -can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on -the Program, the distribution of the whole must be on the terms of this -License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of a -storage or distribution medium does not bring the other work under the -scope of this License. - -@item -You may copy and distribute the Program (or a work based on it, under -Section@w{ }2) in object code or executable form under the terms of -Sections@w{ }1 and@w{ }2 above provided that you also do one of the -following: - -@enumerate a -@item -Accompany it with the complete corresponding machine-readable source -code, which must be distributed under the terms of Sections@w{ }1 and@w{ -}2 above on a medium customarily used for software interchange; or, - -@item -Accompany it with a written offer, valid for at least three years, to -give any third party, for a charge no more than your cost of physically -performing source distribution, a complete machine-readable copy of the -corresponding source code, to be distributed under the terms of -Sections@w{ }1 and@w{ }2 above on a medium customarily used for software -interchange; or, - -@item -Accompany it with the information you received as to the offer to -distribute corresponding source code. (This alternative is allowed only -for noncommercial distribution and only if you received the program in -object code or executable form with such an offer, in accord with -Subsection@w{ }b above.) -@end enumerate - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to control -compilation and installation of the executable. However, as a special -exception, the source code distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies the -executable. - -If distribution of executable or object code is made by offering access -to copy from a designated place, then offering equivalent access to copy -the source code from the same place counts as distribution of the source -code, even though third parties are not compelled to copy the source -along with the object code. - -@item -You may not copy, modify, sublicense, or distribute the Program except -as expressly provided under this License. Any attempt otherwise to -copy, modify, sublicense or distribute the Program 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 -You are not required to accept this License, since you have not signed -it. However, nothing else grants you permission to modify or distribute -the Program or its derivative works. These actions are prohibited by -law if you do not accept this License. Therefore, by modifying or -distributing the Program (or any work based on the Program), you -indicate your acceptance of this License to do so, and all its terms and -conditions for copying, distributing or modifying the Program or works -based on it. - -@item -Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further restrictions -on the recipients' exercise of the rights granted herein. You are not -responsible for enforcing compliance by third parties to this License. - -@item -If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent license -would not permit royalty-free redistribution of the Program by all those -who receive copies directly or indirectly through you, then the only way -you could satisfy both it and this License would be to refrain entirely -from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is implemented -by public license practices. Many people have made generous -contributions to the wide range of software distributed through that -system in reliance on consistent application of that system; it is up to -the author/donor to decide if he or she is willing to distribute -software through any other system and a licensee cannot impose that -choice. - -This section is intended to make thoroughly clear what is believed to be -a consequence of the rest of this License. - -@item -If the distribution and/or use of the Program is restricted in certain -countries either by patents or by copyrighted interfaces, the original -copyright holder who places the Program under this License may add an -explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - -@item -The Free Software Foundation may publish revised and/or new versions of -the General Public 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. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and ``any -later version'', you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Program does not specify a version -number of this License, you may choose any version ever published by the -Free Software Foundation. - -@item -If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask -for permission. For software which is copyrighted by the Free Software -Foundation, write to the Free Software Foundation; we sometimes make -exceptions for this. Our decision will be guided by the two goals of -preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - -@iftex -@heading NO WARRANTY -@end iftex -@ifinfo -@center NO WARRANTY -@end ifinfo - -@item -BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR -THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW@. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE@. -THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH -YOU@. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - -@item -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF -THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR -OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -@end enumerate - -@iftex -@heading END OF TERMS AND CONDITIONS -@end iftex -@ifinfo -@center END OF TERMS AND CONDITIONS -@end ifinfo - - -@page -@unnumberedsec How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - -To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -``copyright'' line and a pointer to where the full notice is found. - -@smallexample -@var{one line to give the program's name and an idea of what it does.} -Copyright (C) 19@var{yy} @var{name of author} - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at -your option) any later version. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. -@end smallexample - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - -@smallexample -Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author} -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type -`show w'. This is free software, and you are welcome to redistribute -it under certain conditions; type `show c' for details. -@end smallexample - -The hypothetical commands @samp{show@w{ }w} and @samp{show@w{ }c} should -show the appropriate parts of the General Public License. Of course, -the commands you use may be called something other than @samp{show@w{ -}w} and @samp{show@w{ }c}; they could even be mouse-clicks or menu items --- whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a ``copyright disclaimer'' for the program, if -necessary. Here is a sample; alter the names: - -@smallexample -@group -Yoyodyne, Inc., hereby disclaims all copyright interest -in the program `Gnomovision' (which makes passes at compilers) -written by James Hacker. - -@var{signature of Ty Coon}, 1 April 1989 -Ty Coon, President of Vice -@end group -@end smallexample - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications -with the library. If this is what you want to do, use the GNU Library -General Public License instead of this License. - - - @c ===================================================================== @c ===================================================================== -@node Introduction, Invoking groff, Copying, Top +@node Introduction, Invoking groff, Top, Top @chapter Introduction @cindex introduction @@ -2079,7 +1623,7 @@ A variation of this is a bulleted list. @Example . Bulleted lists start with a bullet. It is possible - to use other characters instead of the bullet. + to use other glyphs instead of the bullet. @endExample @@ -3223,7 +2767,7 @@ Prints all text following in the normal point size The @code{.IP} macro handles duties for all lists. @Defmac {IP, [@Var{marker} [@Var{width}]], ms} -The @var{marker} is usually a bullet character (@code{\[bu]}) +The @var{marker} is usually a bullet glyph (@code{\[bu]}) for unordered lists, a number (or auto-incrementing number register) for numbered lists, or a word or phrase for indented (glossary-style) lists. @@ -3661,8 +3205,8 @@ Specifies the location of a numbered footnote marker in the text. Specifies the text of the footnote. The default action is to create a numbered footnote; you can create a symbolic footnote by specifying -a @dfn{mark} character -(such as @code{\[dg]} for the dagger character) +a @dfn{mark} glyph +(such as @code{\[dg]} for the dagger glyph) in the body text and as an argument to the @code{FS} macro, followed by the text of the footnote and the @code{FE} macro. @@ -3917,7 +3461,8 @@ Prints the full name of the month in dates. The default is @samp{January}, @samp{February}, etc. @endDefstr -The following special characters are available: +The following special characters are available@footnote{For an +explanation what special characters are see @ref{Special Characters}.}: @Defstr {-, ms} Prints an em dash. @@ -4321,9 +3866,9 @@ in @ref{Input Conventions}.) @cindex @code{)}, at end of sentence @cindex @code{]}, at end of sentence @cindex @code{*}, at end of sentence -In addition, the following characters or glyphs are treated +In addition, the following characters and symbols are treated transparently while handling end-of-sentence characters: @samp{"}, -@samp{'}, @samp{)}, @samp{]}, @samp{*}, @code{dg}, and @code{rq}. +@samp{'}, @samp{)}, @samp{]}, @samp{*}, @code{\[dg]}, and @code{\[rq]}. See the @code{cflags} request in @ref{Using Symbols}, for more details. @@ -6470,17 +6015,18 @@ The current hyphenation space is available in the @code{.hys} read-only number register. @endDefreq -@Defreq {shc, [@Var{char}]} +@Defreq {shc, [@Var{glyph}]} @cindex soft hyphen character, setting (@code{shc}) @cindex character, soft hyphen, setting (@code{shc}) @cindex glyph, soft hyphen (@code{hy}) @cindex soft hyphen glyph (@code{hy}) @cindex @code{char} request, and soft hyphen character @cindex @code{tr} request, and soft hyphen character -Set the soft hyphen character to @var{char}. If the argument is -omitted, the soft hyphen character is set to the default character -@code{\(hy} (this is the start-up value of @code{gtroff} also). The -soft hyphen character is the character that is inserted when a word is +Set the @dfn{soft hyphen character} to @var{glyph}.@footnote{@dfn{Soft +hyphen character} is a misnomer since it is an output glyph.} If the +argument is omitted, the soft hyphen character is set to the default +glyph @code{\(hy} (this is the start-up value of @code{gtroff} also). +The soft hyphen character is the glyph that is inserted when a word is hyphenated at a line break. If the soft hyphen character does not exist in the font of the character immediately preceding a potential break point, then the line is not broken at that point. Neither @@ -6792,14 +6338,17 @@ The @code{troff} version of the Plan@w{ }9 operating system uses register @code{.S} for the same purpose. @endDefreq -@Defreq {tc, [@Var{fill-char}]} +@Defreq {tc, [@Var{fill-glyph}]} @cindex tab repetition character (@code{tc}) @cindex character, tab repetition (@code{tc}) +@cindex glyph, tab repetition (@code{tc}) Normally @code{gtroff} fills the space to the next tab stop with whitespace. This can be changed with the @code{tc} request. With no argument @code{gtroff} reverts to using whitespace, which is the -default. The value of this @dfn{tab repetition} character is -associated with the current environment (@pxref{Environments}). +default. The value of this @dfn{tab repetition character} is +associated with the current environment +(@pxref{Environments}).@footnote{@dfn{Tab repetition character} is a +misnomer since it is an output glyph.} @endDefreq @DefreqList {linetabs, n} @@ -6855,7 +6404,7 @@ mode, and 0 in normal mode. @cindex leaders Sometimes it may may be desirable to use the @code{tc} request to fill a -particular tab stop with a given character (for example dots in a table +particular tab stop with a given glyph (for example dots in a table of contents), but also normal tab stops on the rest of the line. For this @code{gtroff} provides an alternate tab mechanism, called @dfn{leaders} which does just that. @@ -6863,7 +6412,7 @@ this @code{gtroff} provides an alternate tab mechanism, called @cindex leader character A leader character (character code@w{ }1) behaves similarly to a tab character: It moves to the next tab stop. The only difference is that -for this movement, the fill character defaults to a period character and +for this movement, the fill glyph defaults to a period character and not to space. @Defesc {\\a, , , } @@ -6874,14 +6423,16 @@ This escape is a non-interpreted leader character. In copy mode character. @endDefesc -@Defreq {lc, [@Var{fill-char}]} +@Defreq {lc, [@Var{fill-glyph}]} @cindex leader repetition character (@code{lc}) @cindex character, leader repetition (@code{lc}) -Declare the leader character. Without an argument, leaders act the -same as tabs (i.e., using whitespace for filling). @code{gtroff}'s -start-up value is @samp{.}. The value of this @dfn{leader repetition} -character is associated with the current environment -(@pxref{Environments}). +@cindex glyph, leader repetition (@code{lc}) +Declare the @dfn{leader repetition character}.@footnote{@dfn{Leader +repetition character} is a misnomer since it is an output glyph.} +Without an argument, leaders act the same as tabs (i.e., using +whitespace for filling). @code{gtroff}'s start-up value is a dot +(@samp{.}). The value of the leader repetition character is +associated with the current environment (@pxref{Environments}). @endDefreq @cindex table of contents @@ -6933,8 +6484,8 @@ Define a delimiting and a padding character for fields. If the latter is missing, the padding character defaults to a space character. If there is no argument at all, the field mechanism is disabled (which is the default). Note that contrary to e.g.@: the tab repetition -character, delimiting and padding characters are not associated to the -current environment (@pxref{Environments}). +character, delimiting and padding characters are @emph{not} associated +to the current environment (@pxref{Environments}). Example: @@ -7128,17 +6679,16 @@ is swallowed while exexuting macro @code{foo}. @endDefesc A @dfn{translation} is a mapping of an input character to an output -character. The default mappings are given in the font definition files -for the specific output device (@pxref{Font Files}); all mappings (both -with @code{tr} and in the font definition files) occur at output time, -i.e., the input character gets assigned the metric information of the -mapped output character. +glyph. The mapping occurs at output time, i.e., the input character +gets assigned the metric information of the mapped output character +right before input tokens are converted to nodes (@pxref{Gtroff +Internals}, for more on this process). @DefreqList {tr, @Var{a}@Var{b}@Var{c}@Var{d}@dots{}} @DefreqListEnd {trin, @Var{a}@Var{b}@Var{c}@Var{d}@dots{}} -Translate character @var{a} to@w{ }@var{b}, character @var{c} to@w{ -}@var{d}, etc. If there is an odd number of arguments, the last one is -translated to the space character. +Translate character @var{a} to glyph@w{ }@var{b}, character @var{c} to +glyph@w{ }@var{d}, etc. If there is an odd number of arguments, the +last one is translated to an unstretchable space (@samp{\ }). The @code{trin} request is identical to @code{tr}, but when you unformat a diversion with @code{asciify} @@ -7160,11 +6710,11 @@ Some notes: @cindex @code{char} request, and translations @cindex special characters @cindex character, special -@cindex numbered character (@code{\N}) -@cindex character, numbered (@code{\N}) +@cindex numbered glyph (@code{\N}) +@cindex glyph, numbered (@code{\N}) Special characters (@code{\(@var{xx}}, @code{\[@var{xxx}]}, @code{\C'@var{xxx}'}, @code{\'}, @code{\`}, @code{\-}, @code{\_}), -characters defined with the @code{char} request, and numbered characters +glyphs defined with the @code{char} request, and numbered glyphs (@code{\N'@var{xxx}'}) can be translated also. @item @@ -7175,7 +6725,7 @@ The @code{\e} escape can be translated also. @cindex @code{\%}, and translations @cindex @code{\~}, and translations Characters can be mapped onto the @code{\%} and @code{\~} escapes (but -@code{\%} and @code{\~} can't be mapped onto another character). +@code{\%} and @code{\~} can't be mapped onto another glyph). @item @cindex backspace character, and translations @@ -7199,7 +6749,7 @@ set with the @code{shc} request. @item @cindex @code{\&}, and translations -The character pair @samp{@var{c}\&} (this is an arbitrary character@w{ +The pair @samp{@var{c}\&} (this is an arbitrary character@w{ }@var{c} followed by the zero width space character) maps this character to nothing. @@ -7220,8 +6770,8 @@ foo bar @noindent As shown in the example, the space character can't be the first -character pair as an argument of @code{tr}. Additionally, it is not -possible to map the space character to any other character; requests +character/glyph pair as an argument of @code{tr}. Additionally, it is +not possible to map the space character to any other glyph; requests like @w{@samp{.tr aa x}} undo @w{@samp{.tr aa \&}} instead. If justification is active, lines are justified in spite of the @@ -7229,14 +6779,15 @@ If justification is active, lines are justified in spite of the space character, between words). @item -After an output character has been constructed (this happens at the -moment immediately before the character is appended to an output -character list, either by direct output, in a macro, diversion, or +After an output glyph has been constructed (this happens at the +moment immediately before the glyph is appended to an output +glyph list, either by direct output, in a macro, diversion, or string), it is no longer affected by @code{tr}. @item -Translating undefined characters is possible also; @code{tr} does not -check whether the characters in its argument are defined. +Translating character to glyphs where one of them or both are +undefined is possible also; @code{tr} does not check whether the +entities in its argument do exist. @xref{Gtroff Internals}. @@ -8372,25 +7923,26 @@ groff -Tdvi -mec -man groff_char.7 > groff_char.dvi @Defesc {\\C, ', xxx, '} @cindex named character (@code{\C}) @cindex character, named (@code{\C}) -Typeset the character named @var{xxx}. Normally it is more convenient -to use @code{\[@var{xxx}]}, but @code{\C} has the advantage that it is -compatible with newer versions of @code{ditroff} and is available in -compatibility mode. +Typeset the glyph named @var{xxx}.@footnote{@code{\C} is actually a +misnomer since it accesses an output glyph.} Normally it is more +convenient to use @code{\[@var{xxx}]}, but @code{\C} has the advantage +that it is compatible with newer versions of @acronym{AT&T} +@code{troff} and is available in compatibility mode. @endDefesc @Defesc {\\N, ', n, '} -@cindex numbered character (@code{\N}) -@cindex character, numbered (@code{\N}) +@cindex numbered glyph (@code{\N}) +@cindex glyph, numbered (@code{\N}) @cindex @code{char} request, used with @code{\N} @cindex Unicode -Typeset the character with code@w{ }@var{n} in the current font (this -is @strong{not} the input character code). @var{n}@w{ }can be any -integer. Most devices only have characters with codes between 0 -and@w{ }255; the Unicode output device uses codes in the range -0--65535. If the current font does not contain a character with that -code, special fonts are @emph{not} searched. The @code{\N} escape -sequence can be conveniently used in conjunction with the @code{char} -request: +Typeset the glyph with code@w{ }@var{n} in the current font +(@code{n}@w{ }is @strong{not} the input character code). The +number @var{n}@w{ }can be any non-negative integer. Most devices +only have glyphs with codes between 0 and@w{ }255; the Unicode +output device uses codes in the range 0--65535. If the current +font does not contain a glyph with that code, special fonts are +@emph{not} searched. The @code{\N} escape sequence can be +conveniently used in conjunction with the @code{char} request: @Example .char \[phone] \f[ZD]\N'37' @@ -8398,11 +7950,11 @@ request: @noindent @pindex DESC -@cindex unnamed characters -@cindex characters, unnamed -The code of each character is given in the fourth column in the font +@cindex unnamed glyphs +@cindex glyphs, unnamed +The code of each glyph is given in the fourth column in the font description file after the @code{charset} command. It is possible to -include unnamed characters in the font description file by using a +include unnamed glyphs in the font description file by using a name of @samp{---}; the @code{\N} escape sequence is the only way to use these. @endDefesc @@ -8425,35 +7977,39 @@ This is a backslash followed by @acronym{ASCII} character @code{0x60} This is the same as @code{\[-]}, the minus sign in the current font. @endDefesc -@c XXX should be `glyph', not `character' - @Defreq {cflags, n c1 c2 @dots{}} +@cindex glyph properties (@code{cflags}) @cindex character properties (@code{cflags}) +@cindex properties of glyphs (@code{cflags}) @cindex properties of characters (@code{cflags}) -Each character has certain properties associated with it. These -properties can be modified with the @code{cflags} request. The first -argument is the sum of the desired flags and the remaining -arguments are the characters to have those properties. It is possible -to omit the spaces between the characters. +Input characters and symbols have certain properties associated +with it.@footnote{Note that the output glyphs themselves don't have +such properties. For @code{gtroff}, a glyph is a numbered box with +a given width, depth, and height, nothing else. All manipulations +with the @code{cflags} request work on the input level.} These +properties can be modified with the @code{cflags} request. The +first argument is the sum of the desired flags and the remaining +arguments are the characters or symbols to have those properties. +It is possible to omit the spaces between the characters or symbols. @table @code @item 1 @cindex end-of-sentence characters @cindex characters, end-of-sentence -the character ends sentences (initially characters @samp{.?!} have this -property) +The character ends sentences (initially characters @samp{.?!} have this +property). @item 2 @cindex hyphenating characters @cindex characters, hyphenation -lines can be broken before the character (initially no characters have -this property) +Lines can be broken before the character (initially no characters have +this property). @item 4 @cindex @code{hy} glyph, and @code{cflags} @cindex @code{em} glyph, and @code{cflags} -lines can be broken after the character (initially the characters -@samp{-\(hy\(em} have this property) +Lines can be broken after the character (initially the character +@samp{-} and the symbols @samp{\(hy} and @samp{\(em} have this property). @item 8 @cindex overlapping characters @@ -8461,13 +8017,13 @@ lines can be broken after the character (initially the characters @cindex @code{ul} glyph, and @code{cflags} @cindex @code{rn} glyph, and @code{cflags} @cindex @code{ru} glyph, and @code{cflags} -the character overlaps horizontally (initially the characters -@samp{\(ul\(rn\(ru} have this property) +The character overlaps horizontally (initially the symbols +@samp{\(ul\(rn\(ru} have this property). @item 16 @cindex @code{br} glyph, and @code{cflags} -the character overlaps vertically (initially character @samp{\(br} has -this property) +The character overlaps vertically (initially symbol @samp{\(br} has +this property). @item 32 @cindex transparent characters @@ -8479,12 +8035,13 @@ this property) @cindex @code{*}, at end of sentence @cindex @code{dg} glyph, at end of sentence @cindex @code{rq} glyph, at end of sentence -an end-of-sentence character followed by any number of characters with +An end-of-sentence character followed by any number of characters with this property is treated as the end of a sentence if followed by a newline or two spaces; in other words the character is @dfn{transparent} for the purposes of end-of-sentence recognition -- this is the same as having a zero space factor in @TeX{} (initially -characters @samp{"')]*\(dg\(rq} have this property). +characters @samp{"')]*} and the symbols @samp{\(dg\(rq} have this +property). @end table @endDefreq @@ -8493,6 +8050,10 @@ characters @samp{"')]*\(dg\(rq} have this property). @cindex defining character (@code{char}) @cindex character, defining (@code{char}) @cindex creating new characters (@code{char}) +@cindex defining symbol (@code{char}) +@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 @@ -8504,8 +8065,8 @@ characters @samp{"')]*\(dg\(rq} have this property). @cindex @code{\&}, and character definitions @cindex @code{\e}, and character definitions @cindex @code{hcode} request, and character definitions -Define a new character@w{ }@var{c} to be @var{string} (which can be -empty). Every time character@w{ }@var{c} needs to be printed, +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, @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 @@ -8513,21 +8074,21 @@ processed. Any emboldening, constant spacing or track kerning is applied to this object rather than to individual characters in @var{string}. -A character defined by this request can be used just -like a normal character provided by the output device. In particular, +A glyph defined by this request can be used just +like a normal glyph provided by the output device. In particular, other characters can be translated to it with the @code{tr} or @code{trin} requests; it can be made the leader character by the -@code{lc} request; repeated patterns can be drawn with the character +@code{lc} request; repeated patterns can be drawn with the glyph using the @code{\l} and @code{\L} escape sequences; words containing -the character can be hyphenated correctly if the @code{hcode} request -is used to give the character a hyphenation code. +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 character within the character's definition is handled -like normal characters not defined with @code{char}. +feature: Use of symbol within the symbol'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 character. +@code{char} accesses the same symbol. @Example .tr XY @@ -8541,7 +8102,7 @@ X @result{} Z @endExample -The @code{fchar} request defines a fallback character: +The @code{fchar} request defines a fallback glyph: @code{gtroff} only checks for characters defined with @code{fchar} if it cannot find the glyph in the current font. @code{gtroff} carries out this test before checking special fonts. @@ -10703,7 +10264,7 @@ text completely. Set the current line thickness to @var{n}@w{ }machine units. A value of zero selects the smallest available line thickness. A negative value makes the line thickness proportional to the current point size (this is -the default behaviour of @code{ditroff}). +the default behaviour of @acronym{AT&T} @code{troff}). @end table @endDefesc @@ -11434,7 +10995,7 @@ Disable or enable output depending on the value of @var{num}: @table @samp @item \O0 -Disable any ditroff glyphs from being emitted to the device driver, +Disable any glyphs from being emitted to the device driver, provided that the escape occurs at the outer level (see @code{\O3} and @code{\O4}). @@ -11576,6 +11137,20 @@ Read in the specified @var{file} and includes it in place of the @code{so} request. This is quite useful for large documents, e.g.@: keeping each chapter in a separate file. @xref{gsoelim}, for more information. + +Since @code{gtroff} replaces the @code{so} request with the contents +of @code{file}, it makes a difference whether the data is terminated with +a newline or not: Assuming that file @file{xxx} contains the word +@samp{foo} without a final newline, this + +@Example +This is +.so xxx +bar +@endExample + +@noindent +yields @samp{This is foobar}. @endDefreq @Defreq {pso, command} @@ -11589,12 +11164,14 @@ and includes it in place of the @code{pso} request. This request causes an error if used in safer mode (which is the default). Use @code{groff}'s or @code{troff}'s @option{-U} option to activate unsafe mode. + +The comment regarding a final newline for the @code{so} request is valid +for @code{pso} also. @endDefreq @Defreq {mso, file} -Identical to the @code{so} request except that @code{gtroff} -searches for the specified -@var{file} in the same directories as macro files for the +Identical to the @code{so} request except that @code{gtroff} searches for +the specified @var{file} in the same directories as macro files for the the @option{-m} command line option. If the file name to be included has the form @file{@var{name}.tmac} and it isn't found, @code{mso} tries to include @file{tmac.@var{name}} and vice versa. @@ -13924,7 +13501,7 @@ x stop This output can be fed into @code{grotty} to get a formatted text document. -@item @code{AT&T} @code{troff} output +@item @acronym{AT&T} @code{troff} output Since a computer monitor has a very low resolution compared to modern printers the intermediate output for the X@w{ }devices can use the jump-and-write command with its 2-digit displacements. @@ -14039,9 +13616,11 @@ follow quite naturally. @cindex files, font The @code{gtroff} font format is roughly a superset of the -@code{ditroff} font format. Unlike the @code{ditroff} font format, -there is no associated binary format; all files are text files. The -font files for device @var{name} are stored in a directory +@code{ditroff} font format (as used in later versions of @acronym{AT&T} +@code{troff} and its descendants). Unlike the @code{ditroff} font +format, there is no associated binary format; all files are text +files.@footnote{Plan@w{ }9 @code{troff} has also abandoned the binary +format.} The font files for device @var{name} are stored in a directory @file{dev@var{name}}. There are two types of file: a device description file called @file{DESC} and for each font@w{ }@var{f} a font file called@w{ }@file{@var{f}}. @@ -14060,7 +13639,9 @@ called@w{ }@file{@var{f}}. @cindex format of font description file @pindex DESC@r{ file format} -The @file{DESC} file can contain the following types of line: +The @file{DESC} file can contain the following types of line. Except +for the @code{charset} keyword which must comes last (if at all), the +order of the lines is not important. @table @code @item res @var{n} @@ -14087,17 +13668,34 @@ One scaled point is equal to one point/@var{n}. The arguments to the Quantities in the font files are given in machine units for fonts whose point size is @var{n}@w{ }scaled points. +@item prepro @var{program} +@kindex prepro +Call @var{program} as a preprocessor. Currently, this keyword is used +by @code{groff} with option @option{-Thtml} only. + +@item postpro @var{program} +@kindex postpro +Call @var{program} as a postprocessor. For example, the line + +@Example +postpro grodvi +@endExample + +@noindent +in the file @file{devdvi/DESC} makes @code{groff} call @code{grodvi} +if option @option{-Tdvi} is given (and @option{-Z} isn't used). + @item tcommand @kindex tcommand This means that the postprocessor can handle the @samp{t} and @samp{u} -output commands. +intermediate output commands. @item sizes @var{s1} @var{s2} @dots{} @var{sn} 0 @kindex sizes This means that the device has fonts at @var{s1}, @var{s2}, @dots{} -@var{sn} scaled points. The list of sizes must be terminated by a@w{ -}0. Each @var{si} can also be a range of sizes @var{m}-@var{n}. The -list can extend over more than one line. +@var{sn} scaled points. The list of sizes must be terminated by@w{ }0 +(this is digit zero). Each @var{si} can also be a range of sizes +@var{m}-@var{n}. The list can extend over more than one line. @item styles @var{S1} @var{S2} @dots{} @var{Sm} @kindex styles @@ -14109,36 +13707,63 @@ The first @var{m}@w{ }font positions are associated with styles Fonts @var{F1} @dots{} @var{Fn} are mounted in the font positions @var{m}+1, @dots{}, @var{m}+@var{n} where @var{m} is the number of styles. This command may extend over more than one line. A font name -of@var{ }0 means no font is mounted on the corresponding font position. +of@w{ }0 means no font is mounted on the corresponding font position. @item family @var{fam} @kindex family 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 +characters inside special commands. Currently, this is only used +by the @acronym{HTML} output device. @xref{Postprocessor Access}. + +@item pass_filenames +@kindex pass_filenames +Tell @code{gtroff} to emit the name of the source file currently +being processed. This is achieved by the intermediate output command +@samp{F}. Currently, this is only used by the @acronym{HTML} output +device. + +@item print @var{program} +@kindex print +Use @var{program} as a spooler program for printing. If omitted, +the @option{-l} and @option{-L} options of @code{groff} are ignored. + @item charset @kindex charset This line and everything following in the file are ignored. It is allowed for the sake of backwards compatibility. @end table -The @code{res}, @code{unitwidth}, @code{fonts} and @code{sizes} lines +The @code{res}, @code{unitwidth}, @code{fonts}, and @code{sizes} lines are mandatory. Other commands are ignored by @code{gtroff} but may be used by postprocessors to store arbitrary information about the device in the @file{DESC} file. -@c XXX add other commands resp. xrefs to output devices -@c XXX add obsolete commands +@kindex spare1 +@kindex spare2 +@kindex biggestfont +Here a list of obsolete keywords which are recognized by @code{groff} +but completely ignored: @code{spare1}, @code{spare2}, +@code{biggestfont}. + @c --------------------------------------------------------------------- @node Font File Format, , DESC File Format, Font Files @subsection Font File Format @cindex font file, format +@cindex font description file, format @cindex format of font files +@cindex format of font description files -A font file has two sections. The first section is a sequence of lines -each containing a sequence of blank delimited words; the first word in -the line is a key, and subsequent words give a value for that key. +A @dfn{font file}, also (and probably better) called a @dfn{font +description file}, has two sections. The first section is a sequence +of lines each containing a sequence of blank delimited words; the first +word in the line is a key, and subsequent words give a value for that +key. @table @code @item name @var{f} @@ -14151,21 +13776,22 @@ The normal width of a space is@w{ }@var{n}. @item slant @var{n} @kindex slant -The characters of the font have a slant of @var{n}@w{ }degrees. +The glyphs of the font have a slant of @var{n}@w{ }degrees. (Positive means forward.) @item ligatures @var{lig1} @var{lig2} @dots{} @var{lign} [0] @kindex ligatures -Characters @var{lig1}, @var{lig2}, @dots{}, @var{lign} are ligatures; +Glyphs @var{lig1}, @var{lig2}, @dots{}, @var{lign} are ligatures; possible ligatures are @samp{ff}, @samp{fi}, @samp{fl}, @samp{ffi} and @samp{ffl}. For backwards compatibility, the list of ligatures may be terminated with a@w{ }0. The list of ligatures may not extend over more than one line. @item special +@cindex special fonts @kindex special -The font is special; this means that when a character is requested that -is not present in the current font, it is searched for in any +The font is @dfn{special}; this means that when a glyph is requested +that is not present in the current font, it is searched for in any special fonts that are mounted. @end table @@ -14185,70 +13811,94 @@ subsection. These subsections can appear in any order. Each subsection starts with a word on a line by itself. @kindex charset -The word @code{charset} starts the character set subsection. The -@code{charset} line is followed by a sequence of lines. Each line gives -information for one character. A line comprises a number of fields -separated by blanks or tabs. The format is +The word @code{charset} starts the character set +subsection.@footnote{This keyword is misnamed since it starts a list +of ordered glyphs, not characters.} The @code{charset} line is +followed by a sequence of lines. Each line gives information for one +glyph. A line comprises a number of fields separated by blanks or +tabs. The format is -@c XXX fix it for new HTML additions - -@Example -@var{name} @var{metrics} @var{type} @var{code} @var{comment} -@endExample +@quotation +@var{name} @var{metrics} @var{type} @var{code} +[@var{entity-name}] [@code{--} @var{comment}] +@end quotation @cindex 8-bit input @cindex input, 8-bit -@cindex accessing unnamed characters with @code{\N} -@cindex unnamed characters, accessing with @code{\N} +@cindex accessing unnamed glyphs with @code{\N} +@cindex unnamed glyphs, accessing with @code{\N} @cindex characters, unnamed, accessing with @code{\N} +@cindex glyphs, unnamed, accessing with @code{\N} @kindex --- @noindent -@var{name} identifies the character: 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 @code{gtroff} input -character@w{ }\@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}}.) @code{gtroff} -supports 8-bit characters; however some utilities have difficulties with -eight-bit characters. For this reason, there is a convention that the -name @samp{char@var{n}} is equivalent to the single character whose code -is@w{ }@var{n}. For example, @samp{char163} would be equivalent to the -character with code@w{ }163 which is the pounds sterling sign in @w{ISO -Latin-1} character set. The name @samp{---} is special and indicates -that the character is unnamed; such characters can only be used by means -of the @code{\N} escape sequence in @code{gtroff}. - -@c XXX input encodings vs. output encodings - -The @var{type} field gives the character type: +@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{\[-]}. + +@code{gtroff} supports 8-bit input characters; however some utilities +have difficulties with eight-bit characters. For this reason, there is +a convention that the entity name @samp{char@var{n}} is equivalent to +the single input character whose code is@w{ }@var{n}. For example, +@samp{char163} would be equivalent to the character with code@w{ }163 +which is the pounds sterling sign in the @w{ISO Latin-1} character set. +You shouldn't use @samp{char@var{n}} entities in font description files +since they are related to input, not output. Otherwise, you get +hard-coded connections between input and output encoding which +prevents use of different (input) character sets. + +The name @samp{---} is special and indicates that the glyph is +unnamed; such glyphs can only be used by means of the @code{\N} +escape sequence in @code{gtroff}. + +The @var{type} field gives the glyph type: @table @code @item 1 -the character has an descender, for example, `p'; +the glyph has a descender, for example, @samp{p}; @item 2 -the character has an ascender, for example, `b'; +the glyph has an ascender, for example, @samp{b}; @item 3 -the character has both an ascender and a descender, for example, `('. +the glyph has both an ascender and a descender, for example, @samp{(}. @end table The @var{code} field gives the code which the postprocessor uses to -print the character. The character can also be input to @code{gtroff} -using this code by means of the @code{\N} escape sequence. The code can -be any integer. If it starts with @samp{0} it is interpreted as +print the glyph. The glyph can also be input to @code{gtroff} +using this code by means of the @code{\N} escape sequence. @var{code} +can be any integer. If it starts with @samp{0} it is interpreted as octal; if it starts with @samp{0x} or @samp{0X} it is interpreted as hexadecimal. -Anything on the line after the @var{code} field is ignored. +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 +represented as @samp{£} in @acronym{HTML} 4.0. + +Anything on the line after the @var{entity-name} field resp.@: after +@samp{--} will be ignored. The @var{metrics} field has the form: -@Example -@var{width}[,@var{height}[,@var{depth}[,@var{italic_correction} - [,@var{left_italic_correction}[,@var{subscript_correction}]]]]] -@endExample +@display +@group +@var{width}[@code{,}@var{height}[@code{,}@var{depth}[@code{,}@var{italic-correction} + [@code{,}@var{left-italic-correction}[@code{,}@var{subscript-correction}]]]]] +@end group +@end display @noindent There must not be any spaces between these subfields (it has been split @@ -14256,22 +13906,21 @@ here into two lines for better legibility only). Missing subfields are assumed to be@w{ }0. The subfields are all decimal integers. Since there is no associated binary format, these values are not required to fit into a variable of type @samp{char} as they are in @code{ditroff}. -The @var{width} subfield gives the width of the character. The -@var{height} subfield gives the height of the character (upwards is -positive); if a character does not extend above the baseline, it should -be given a zero height, rather than a negative height. The @var{depth} -subfield gives the depth of the character, that is, the distance below -the lowest point below the baseline to which the character extends -(downwards is positive); if a character does not extend below above the -baseline, it should be given a zero depth, rather than a negative depth. -The @var{italic_correction} subfield gives the amount of space that -should be added after the character when it is immediately to be -followed by a character from a roman font. The -@var{left_italic_correction} subfield gives the amount of space that -should be added before the character when it is immediately to be -preceded by a character from a roman font. The -@var{subscript_correction} gives the amount of space that should be -added after a character before adding a subscript. This should be less +The @var{width} subfield gives the width of the glyph. The @var{height} +subfield gives the height of the glyph (upwards is positive); if a +glyph does not extend above the baseline, it should be given a zero +height, rather than a negative height. The @var{depth} subfield gives +the depth of the glyph, that is, the distance from the baseline to the +lowest point below the baseline to which the glyph extends (downwards is +positive); if a glyph does not extend below the baseline, it should be +given a zero depth, rather than a negative depth. The +@var{italic-correction} subfield gives the amount of space that should +be added after the glyph when it is immediately to be followed by a +glyph from a roman font. The @var{left-italic-correction} subfield +gives the amount of space that should be added before the glyph when it +is immediately to be preceded by a glyph from a roman font. The +@var{subscript-correction} gives the amount of space that should be +added after a glyph before adding a subscript. This should be less than the italic correction. A line in the @code{charset} section can also have the format @@ -14281,7 +13930,7 @@ A line in the @code{charset} section can also have the format @endExample @noindent -This indicates that @var{name} is just another name for the character +This indicates that @var{name} is just another name for the glyph mentioned in the preceding line. @kindex kernpairs @@ -14293,17 +13942,16 @@ sequence of lines of the form: @endExample @noindent -This means that when character @var{c1} appears next to character -@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}. +This means that when glyph @var{c1} appears next to character @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}. @c ===================================================================== @c ===================================================================== -@node Installation, Request Index, File formats, Top +@node Installation, Copying This Manual, File formats, Top @chapter Installation @cindex installation @@ -14314,8 +13962,22 @@ Most entries in the kernpairs section have a negative value for@w{ @c ===================================================================== @c ===================================================================== -@node Request Index, Escape Index, Installation, Top -@chapter Request Index +@node Copying This Manual, Request Index, Installation, Top +@appendix Copying This Manual + +@menu +* GNU Free Documentation License:: License for copying this manual. +@end menu + +@include fdl.texi + + + +@c ===================================================================== +@c ===================================================================== + +@node Request Index, Escape Index, Copying This Manual, Top +@appendix Request Index Requests appear without the leading control character (normally either @samp{.} or @samp{'}). @@ -14328,7 +13990,7 @@ Requests appear without the leading control character (normally either @c ===================================================================== @node Escape Index, Operator Index, Request Index, Top -@chapter Escape Index +@appendix Escape Index Any escape sequence @code{\@var{X}} with @var{X} not in the list below emits a warning, printing character @var{X}. @@ -14341,7 +14003,7 @@ emits a warning, printing character @var{X}. @c ===================================================================== @node Operator Index, Register Index, Escape Index, Top -@chapter Operator Index +@appendix Operator Index @printindex op @@ -14351,7 +14013,7 @@ emits a warning, printing character @var{X}. @c ===================================================================== @node Register Index, Macro Index, Operator Index, Top -@chapter Register Index +@appendix Register Index The macro package or program a specific register belongs to is appended in brackets. @@ -14369,7 +14031,7 @@ of any length can be accessed as @samp{\n[xxx]}. @c ===================================================================== @node Macro Index, String Index, Register Index, Top -@chapter Macro Index +@appendix Macro Index The macro package a specific macro belongs to is appended in brackets. They appear without the leading control character (normally @samp{.}). @@ -14382,7 +14044,7 @@ They appear without the leading control character (normally @samp{.}). @c ===================================================================== @node String Index, Glyph Name Index, Macro Index, Top -@chapter String Index +@appendix String Index The macro package or program a specific string belongs to is appended in brackets. @@ -14401,7 +14063,7 @@ of any length can be accessed as @samp{\*[xxx]}. @c ===================================================================== @node Glyph Name Index, Font File Keyword Index, String Index, Top -@chapter Glyph Name Index +@appendix Glyph Name Index A glyph name @code{xx} consisting of exactly two characters can be accessed as @samp{\(xx}. Glyph names @code{xxx} of any length can be @@ -14415,7 +14077,7 @@ accessed as @samp{\[xxx]}. @c ===================================================================== @node Font File Keyword Index, Program and File Index, Glyph Name Index, Top -@chapter Font File Keyword Index +@appendix Font File Keyword Index @printindex ky @@ -14425,7 +14087,7 @@ accessed as @samp{\[xxx]}. @c ===================================================================== @node Program and File Index, Concept Index, Font File Keyword Index, Top -@chapter Program and File Index +@appendix Program and File Index @printindex pg @@ -14435,12 +14097,9 @@ accessed as @samp{\[xxx]}. @c ===================================================================== @node Concept Index, , Program and File Index, Top -@chapter Concept Index +@appendix Concept Index @printindex cp - -@summarycontents -@contents @bye diff --git a/src/devices/grodvi/Makefile.sub b/src/devices/grodvi/Makefile.sub index 0e5d32ca..a0dcdf17 100644 --- a/src/devices/grodvi/Makefile.sub +++ b/src/devices/grodvi/Makefile.sub @@ -1,4 +1,4 @@ -PROG=grodvi +PROG=grodvi$(EXEEXT) MAN1=grodvi.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/devices/grohtml/Makefile.sub b/src/devices/grohtml/Makefile.sub index 10f28ce1..be1a305a 100644 --- a/src/devices/grohtml/Makefile.sub +++ b/src/devices/grohtml/Makefile.sub @@ -1,4 +1,4 @@ -PROG=post-grohtml +PROG=post-grohtml$(EXEEXT) MAN1=grohtml.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/devices/grolbp/Makefile.sub b/src/devices/grolbp/Makefile.sub index d60008b2..d5c82aa5 100644 --- a/src/devices/grolbp/Makefile.sub +++ b/src/devices/grolbp/Makefile.sub @@ -1,4 +1,4 @@ -PROG=grolbp +PROG=grolbp$(EXEEXT) MAN1=grolbp.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/devices/grolj4/Makefile.sub b/src/devices/grolj4/Makefile.sub index bbb0cff0..08073598 100644 --- a/src/devices/grolj4/Makefile.sub +++ b/src/devices/grolj4/Makefile.sub @@ -1,4 +1,4 @@ -PROG=grolj4 +PROG=grolj4$(EXEEXT) MAN1=grolj4.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/devices/grops/Makefile.sub b/src/devices/grops/Makefile.sub index 4182527d..dff973b5 100644 --- a/src/devices/grops/Makefile.sub +++ b/src/devices/grops/Makefile.sub @@ -1,4 +1,4 @@ -PROG=grops +PROG=grops$(EXEEXT) MAN1=grops.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/devices/grotty/Makefile.sub b/src/devices/grotty/Makefile.sub index 91d3908c..e08d2334 100644 --- a/src/devices/grotty/Makefile.sub +++ b/src/devices/grotty/Makefile.sub @@ -1,4 +1,4 @@ -PROG=grotty +PROG=grotty$(EXEEXT) MAN1=grotty.n XLIBS=$(LIBDRIVER) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/include/nonposix.h b/src/include/nonposix.h index e5e688f5..8180b672 100644 --- a/src/include/nonposix.h +++ b/src/include/nonposix.h @@ -135,3 +135,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef NULL_DEV # define NULL_DEV "/dev/null" #endif +#ifndef GS_NAME +# define GS_NAME "gs" +#endif diff --git a/src/preproc/eqn/Makefile.sub b/src/preproc/eqn/Makefile.sub index 20421e1c..945a8425 100644 --- a/src/preproc/eqn/Makefile.sub +++ b/src/preproc/eqn/Makefile.sub @@ -1,4 +1,4 @@ -PROG=eqn +PROG=eqn$(EXEEXT) MAN1=eqn.n neqn.n XLIBS=$(LIBGROFF) OBJS=\ diff --git a/src/preproc/grn/Makefile.sub b/src/preproc/grn/Makefile.sub index ffa0ad20..97e34136 100644 --- a/src/preproc/grn/Makefile.sub +++ b/src/preproc/grn/Makefile.sub @@ -1,4 +1,4 @@ -PROG=grn +PROG=grn$(EXEEXT) MAN1=grn.n MLIB=$(LIBM) XLIBS=$(LIBGROFF) diff --git a/src/preproc/html/Makefile.sub b/src/preproc/html/Makefile.sub index 5b14c2aa..41f3c372 100644 --- a/src/preproc/html/Makefile.sub +++ b/src/preproc/html/Makefile.sub @@ -1,4 +1,4 @@ -PROG=pre-grohtml +PROG=pre-grohtml$(EXEEXT) # MAN1=pre-grohtml.n MAN1= XLIBS=$(LIBGROFF) diff --git a/src/preproc/html/pre-html.cc b/src/preproc/html/pre-html.cc index 8e63c41b..84697589 100644 --- a/src/preproc/html/pre-html.cc +++ b/src/preproc/html/pre-html.cc @@ -765,8 +765,9 @@ static int createAllPages (void) } s = make_message("echo showpage | " - "gs%s %s -q -dSAFER -sDEVICE=%s -r%d %s" + "%s%s %s -q -dSAFER -sDEVICE=%s -r%d %s" "-sOutputFile=%s/%%d %s -", + GS_NAME, EXE_EXT, gsPaper, image_device, diff --git a/src/preproc/pic/Makefile.sub b/src/preproc/pic/Makefile.sub index f1e29273..ec4251f9 100644 --- a/src/preproc/pic/Makefile.sub +++ b/src/preproc/pic/Makefile.sub @@ -1,4 +1,4 @@ -PROG=pic +PROG=pic$(EXEEXT) MAN1=pic.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) diff --git a/src/preproc/pic/main.cc b/src/preproc/pic/main.cc index e0a1d813..124cbd55 100644 --- a/src/preproc/pic/main.cc +++ b/src/preproc/pic/main.cc @@ -476,7 +476,7 @@ void usage(FILE *stream) #endif } -#ifdef __MSDOS__ +#if defined(__MSDOS__) || defined(__EMX__) static char *fix_program_name(char *arg, char *dflt) { if (!arg) @@ -499,13 +499,13 @@ static char *fix_program_name(char *arg, char *dflt) *p = 'a' + (*p - 'A'); return prog; } -#endif /* __MSDOS__ */ +#endif /* __MSDOS__ || __EMX__ */ int main(int argc, char **argv) { -#ifdef __MSDOS__ +#if defined(__MSDOS__) || defined(__EMX__) argv[0] = fix_program_name(argv[0], "pic"); -#endif /* __MSDOS__ */ +#endif /* __MSDOS__ || __EMX__ */ program_name = argv[0]; static char stderr_buf[BUFSIZ]; setbuf(stderr, stderr_buf); diff --git a/src/preproc/refer/Makefile.sub b/src/preproc/refer/Makefile.sub index 1631b5e3..5ed5ec53 100644 --- a/src/preproc/refer/Makefile.sub +++ b/src/preproc/refer/Makefile.sub @@ -1,4 +1,4 @@ -PROG=refer +PROG=refer$(EXEEXT) MAN1=refer.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/preproc/soelim/Makefile.sub b/src/preproc/soelim/Makefile.sub index 77007e25..cf50df18 100644 --- a/src/preproc/soelim/Makefile.sub +++ b/src/preproc/soelim/Makefile.sub @@ -1,4 +1,4 @@ -PROG=soelim +PROG=soelim$(EXEEXT) MAN1=soelim.n XLIBS=$(LIBGROFF) OBJS=soelim.o diff --git a/src/preproc/tbl/Makefile.sub b/src/preproc/tbl/Makefile.sub index 224baffc..d4c0d994 100644 --- a/src/preproc/tbl/Makefile.sub +++ b/src/preproc/tbl/Makefile.sub @@ -1,4 +1,4 @@ -PROG=tbl +PROG=tbl$(EXEEXT) MAN1=tbl.n XLIBS=$(LIBGROFF) OBJS=\ diff --git a/src/roff/groff/Makefile.sub b/src/roff/groff/Makefile.sub index 42ae221c..db2464c9 100644 --- a/src/roff/groff/Makefile.sub +++ b/src/roff/groff/Makefile.sub @@ -1,4 +1,4 @@ -PROG=groff +PROG=groff$(EXEEXT) MAN1=groff.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) diff --git a/src/roff/groff/pipeline.c b/src/roff/groff/pipeline.c index 03fda1ae..96f61db2 100644 --- a/src/roff/groff/pipeline.c +++ b/src/roff/groff/pipeline.c @@ -99,7 +99,8 @@ static char *i_to_a P((int)); via temporary files... */ #if defined(__MSDOS__) \ - || (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__)) + || (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__)) \ + || defined(__EMX__) #include #include diff --git a/src/roff/troff/Makefile.sub b/src/roff/troff/Makefile.sub index e883959d..47e1b56e 100644 --- a/src/roff/troff/Makefile.sub +++ b/src/roff/troff/Makefile.sub @@ -1,4 +1,4 @@ -PROG=troff +PROG=troff$(EXEEXT) MAN1=troff.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) diff --git a/src/utils/addftinfo/Makefile.sub b/src/utils/addftinfo/Makefile.sub index 23848d54..6892a812 100644 --- a/src/utils/addftinfo/Makefile.sub +++ b/src/utils/addftinfo/Makefile.sub @@ -1,4 +1,4 @@ -PROG=addftinfo +PROG=addftinfo$(EXEEXT) MAN1=addftinfo.n XLIBS=$(LIBGROFF) OBJS=\ diff --git a/src/utils/hpftodit/Makefile.sub b/src/utils/hpftodit/Makefile.sub index f5ff13e4..ea6d0b59 100644 --- a/src/utils/hpftodit/Makefile.sub +++ b/src/utils/hpftodit/Makefile.sub @@ -1,4 +1,4 @@ -PROG=hpftodit +PROG=hpftodit$(EXEEXT) MAN1=hpftodit.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) diff --git a/src/utils/indxbib/Makefile.sub b/src/utils/indxbib/Makefile.sub index f45a7a79..057556e1 100644 --- a/src/utils/indxbib/Makefile.sub +++ b/src/utils/indxbib/Makefile.sub @@ -1,4 +1,4 @@ -PROG=indxbib +PROG=indxbib$(EXEEXT) MAN1=indxbib.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/utils/indxbib/indxbib.cc b/src/utils/indxbib/indxbib.cc index 0cc6c7ce..9fced937 100644 --- a/src/utils/indxbib/indxbib.cc +++ b/src/utils/indxbib/indxbib.cc @@ -1,5 +1,5 @@ // -*- C++ -*- -/* Copyright (C) 1989-1992, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1989-1992, 2000, 2001, 2002 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -285,6 +285,9 @@ int main(int argc, char **argv) strcpy(index_file, basename); strcat(index_file, INDEX_SUFFIX); #ifdef HAVE_RENAME +#ifdef __EMX__ + unline(index_file); +#endif /* __EMX__ */ if (rename(temp_index_file, index_file) < 0) { #ifdef __MSDOS__ // RENAME could fail on plain MSDOS filesystems because diff --git a/src/utils/lkbib/Makefile.sub b/src/utils/lkbib/Makefile.sub index 8f31e10f..d9aadb75 100644 --- a/src/utils/lkbib/Makefile.sub +++ b/src/utils/lkbib/Makefile.sub @@ -1,4 +1,4 @@ -PROG=lkbib +PROG=lkbib$(EXEEXT) MAN1=lkbib.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/utils/lookbib/Makefile.sub b/src/utils/lookbib/Makefile.sub index 91b14045..ae2d4716 100644 --- a/src/utils/lookbib/Makefile.sub +++ b/src/utils/lookbib/Makefile.sub @@ -1,4 +1,4 @@ -PROG=lookbib +PROG=lookbib$(EXEEXT) MAN1=lookbib.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) diff --git a/src/utils/pfbtops/Makefile.sub b/src/utils/pfbtops/Makefile.sub index f731ff57..f6fa93de 100644 --- a/src/utils/pfbtops/Makefile.sub +++ b/src/utils/pfbtops/Makefile.sub @@ -1,4 +1,4 @@ -PROG=pfbtops +PROG=pfbtops$(EXEEXT) MAN1=pfbtops.n OBJS=pfbtops.o CSRCS=$(srcdir)/pfbtops.c diff --git a/src/utils/tfmtodit/Makefile.sub b/src/utils/tfmtodit/Makefile.sub index 057bb3e6..c2e09ae1 100644 --- a/src/utils/tfmtodit/Makefile.sub +++ b/src/utils/tfmtodit/Makefile.sub @@ -1,4 +1,4 @@ -PROG=tfmtodit +PROG=tfmtodit$(EXEEXT) MAN1=tfmtodit.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) -- cgit v1.2.1