diff options
Diffstat (limited to 'contrib/groff/src/utils')
18 files changed, 124 insertions, 76 deletions
diff --git a/contrib/groff/src/utils/addftinfo/Makefile.sub b/contrib/groff/src/utils/addftinfo/Makefile.sub index 23848d5..af5bf70 100644 --- a/contrib/groff/src/utils/addftinfo/Makefile.sub +++ b/contrib/groff/src/utils/addftinfo/Makefile.sub @@ -1,9 +1,9 @@ -PROG=addftinfo +PROG=addftinfo$(EXEEXT) MAN1=addftinfo.n XLIBS=$(LIBGROFF) OBJS=\ - addftinfo.o \ - guess.o + addftinfo.$(OBJEXT) \ + guess.$(OBJEXT) CCSRCS=\ $(srcdir)/addftinfo.cc \ $(srcdir)/guess.cc diff --git a/contrib/groff/src/utils/addftinfo/addftinfo.cc b/contrib/groff/src/utils/addftinfo/addftinfo.cc index eb222d9..931d836 100644 --- a/contrib/groff/src/utils/addftinfo/addftinfo.cc +++ b/contrib/groff/src/utils/addftinfo/addftinfo.cc @@ -18,13 +18,12 @@ You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <stdio.h> +#include "lib.h" + #include <ctype.h> -#include <string.h> #include <assert.h> #include <stdlib.h> #include <errno.h> -#include "lib.h" #include "errarg.h" #include "error.h" #include "stringclass.h" diff --git a/contrib/groff/src/utils/afmtodit/afmtodit.man b/contrib/groff/src/utils/afmtodit/afmtodit.man index 585c229..2d4c866 100644 --- a/contrib/groff/src/utils/afmtodit/afmtodit.man +++ b/contrib/groff/src/utils/afmtodit/afmtodit.man @@ -1,5 +1,5 @@ .ig -Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc. +Copyright (C) 1989-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 @@ -16,15 +16,23 @@ versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. +. +. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. +. +. .TH AFMTODIT @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" +. +. .SH NAME afmtodit \- create font files for use with groff \-Tps +. +. .SH SYNOPSIS .nr a \n(.j .ad l @@ -36,6 +44,7 @@ afmtodit \- create font files for use with groff \-Tps .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. +. .OP \-nsv .OP \-d desc_file .OP \-e enc_file @@ -46,16 +55,21 @@ afmtodit \- create font files for use with groff \-Tps .I font .br .ad \na +. +. .SH DESCRIPTION .B afmtodit creates a font file for use with groff and .BR grops . +. .B afmtodit is written in perl; -you must have perl version 3 installed in order to run +you must have perl version 3 or newer installed in order to run .BR afmtodit . +. .I afm_file is the AFM (Adobe Font Metric) file for the font. +. .I map_file is a file that says which groff character names map onto each PostScript character name; @@ -69,15 +83,22 @@ where is the PostScript name of the character and .I groff_char -is the groff name of the character (as used in the groff font file.) +is the groff name of the character (as used in the groff font file). +. The same .I ps_char can occur multiple times in the file; each .I groff_char must occur at most once. +. +Lines starting with +.B # +and blank lines are ignored. +. .I font is the groff name of the font. +. If a PostScript character is in the encoding to be used for the font but is not mentioned in .I map_file @@ -88,14 +109,17 @@ which can be accessed by the .B \eN escape sequence in .BR troff . +. The groff font file will be output to a file called .IR font . +. .LP If there is a downloadable font file for the font, it may be listed in the file .BR @FONTDIR@/devps/download ; see .BR grops (@MAN1EXT@). +. .LP If the .B \-i @@ -123,53 +147,67 @@ is the PostScript name of the character, and .I n is the desired value of the corresponding parameter in thousandths of an em. +. These parameters are normally needed only for italic (or oblique) fonts. +. +. .SH OPTIONS .TP .B \-v Print version. +. .TP .B \-n Don't output a .B ligatures command for this font. +. Use this with constant-width fonts. +. .TP .B \-s The font is special. +. The effect of this option is to add the .B special command to the font file. +. .TP .BI \-d desc_file The device description file is .I desc_file rather than the default .BR DESC . +. .TP .BI \-e enc_file The PostScript font should be reencoded to use the encoding described in enc_file. +. The format of .I enc_file is described in .BR grops (@MAN1EXT@). +. .TP .BI \-a n Use .I n as the slant parameter in the font file; this is used by groff in the positioning of accents. +. By default .B afmtodit uses the negative of the ItalicAngle specified in the afm file; with true italic fonts it is sometimes desirable to use a slant that is less than this. +. If you find that characters from an italic font have accents placed too far to the right over them, then use the .B \-a option to give the font a smaller slant. +. .TP .BI \-i n Generate an italic correction for each character so that @@ -179,15 +217,19 @@ is equal to thousandths of an em plus the amount by which the right edge of the character's bounding is to the right of the character's origin. +. If this would result in a negative italic correction, use a zero italic correction instead. +. .IP Also generate a subscript correction equal to the product of the tangent of the slant of the font and four fifths of the x-height of the font. +. If this would result in a subscript correction greater than the italic correction, use a subscript correction equal to the italic correction instead. +. .IP Also generate a left italic correction for each character equal to @@ -195,29 +237,40 @@ equal to thousandths of an em plus the amount by which the left edge of the character's bounding box is to the left of the character's origin. +. The left italic correction may be negative. +. .IP This option is normally needed only with italic (or oblique) fonts. +. The font files distributed with groff were created using an option of .B \-i50 for italic fonts. +. +. .SH FILES .Tp \w'\fB@FONTDIR@/devps/download'u+2n .B @FONTDIR@/devps/DESC Device description file. +. .TP .BI @FONTDIR@/devps/ F Font description file for font .IR F . +. .TP .B @FONTDIR@/devps/download List of downloadable fonts. +. .TP .B @FONTDIR@/devps/text.enc Encoding used for text fonts. +. .TP .B @FONTDIR@/devps/generate/textmap Standard mapping. +. +. .SH "SEE ALSO" .BR groff (@MAN1EXT@), .BR grops (@MAN1EXT@), diff --git a/contrib/groff/src/utils/afmtodit/afmtodit.pl b/contrib/groff/src/utils/afmtodit/afmtodit.pl index bfc058a..67c0f682 100644 --- a/contrib/groff/src/utils/afmtodit/afmtodit.pl +++ b/contrib/groff/src/utils/afmtodit/afmtodit.pl @@ -1,6 +1,6 @@ -#! /usr/bin/perl -P- +#! /usr/bin/perl # -*- Perl -*- -# Copyright (C) 1989-2000 Free Software Foundation, Inc. +# Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc. # Written by James Clark (jjc@jclark.com) # # This file is part of groff. @@ -145,6 +145,7 @@ if ($opt_e) { open(ENCODING, $opt_e) || die "$prog: can't open \`$opt_e': $!\n"; while (<ENCODING>) { + next if /^#/; chop; @field = split(' '); if ($#field == 1) { diff --git a/contrib/groff/src/utils/hpftodit/Makefile.sub b/contrib/groff/src/utils/hpftodit/Makefile.sub index f5ff13e..7a16531 100644 --- a/contrib/groff/src/utils/hpftodit/Makefile.sub +++ b/contrib/groff/src/utils/hpftodit/Makefile.sub @@ -1,6 +1,6 @@ -PROG=hpftodit +PROG=hpftodit$(EXEEXT) MAN1=hpftodit.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) -OBJS=hpftodit.o +OBJS=hpftodit.$(OBJEXT) CCSRCS=$(srcdir)/hpftodit.cc diff --git a/contrib/groff/src/utils/hpftodit/hpftodit.cc b/contrib/groff/src/utils/hpftodit/hpftodit.cc index 15f6f7f..ecbc8a8 100644 --- a/contrib/groff/src/utils/hpftodit/hpftodit.cc +++ b/contrib/groff/src/utils/hpftodit/hpftodit.cc @@ -28,13 +28,12 @@ make it work with TrueType fonts put filename in error messages (or fix lib) */ -#include <stdio.h> +#include "lib.h" + #include <stdlib.h> #include <math.h> -#include <string.h> #include <errno.h> #include "assert.h" -#include "lib.h" #include "posix.h" #include "errarg.h" #include "error.h" @@ -309,24 +308,6 @@ File::File(const char *s) fatal("read unexpected number of bytes"); ptr_ = buf_; end_ = buf_ + sb.st_size; - // These are actually text files, so we must get rid of the `\r' - // characters. This is also enabled for Posix systems, in case the - // input came from Windows... - unsigned char *p = buf_, *q = buf_; - while (q < end_) - { - if (*q == '\r') - { - if (*++q != '\n') - *p++ = '\r'; - } -#if defined(__MSDOS__) || defined(_MSC_VER) - if (*q == '\032') // ^Z means ``software EOF'' - break; -#endif - *p++ = *q++; - } - end_ = p; } void File::skip(int n) diff --git a/contrib/groff/src/utils/indxbib/Makefile.sub b/contrib/groff/src/utils/indxbib/Makefile.sub index f45a7a7..01e43b2 100644 --- a/contrib/groff/src/utils/indxbib/Makefile.sub +++ b/contrib/groff/src/utils/indxbib/Makefile.sub @@ -1,10 +1,10 @@ -PROG=indxbib +PROG=indxbib$(EXEEXT) MAN1=indxbib.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) OBJS=\ - indxbib.o \ - signal.o + indxbib.$(OBJEXT) \ + signal.$(OBJEXT) CCSRCS=\ $(srcdir)/indxbib.cc CSRCS=\ diff --git a/contrib/groff/src/utils/indxbib/indxbib.cc b/contrib/groff/src/utils/indxbib/indxbib.cc index 4b2477f..9fced93 100644 --- a/contrib/groff/src/utils/indxbib/indxbib.cc +++ b/contrib/groff/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. @@ -18,14 +18,13 @@ You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <stdio.h> +#include "lib.h" + #include <stdlib.h> -#include <string.h> #include <assert.h> #include <errno.h> #include "posix.h" -#include "lib.h" #include "errarg.h" #include "error.h" #include "stringclass.h" @@ -39,12 +38,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ extern "C" const char *Version_string; -#ifndef HAVE_MKSTEMP_PROTO -extern "C" { - extern int mkstemp(char *); -} -#endif - #define DEFAULT_HASH_TABLE_SIZE 997 #define TEMP_INDEX_TEMPLATE "indxbibXXXXXX" @@ -229,7 +222,7 @@ int main(int argc, char **argv) name_max = file_name_max("."); const char *filename = p ? p + 1 : basename; if (name_max >= 0 && - long(strlen(filename) + sizeof(INDEX_SUFFIX) - 1) > name_max) + (strlen(filename) + sizeof(INDEX_SUFFIX) - 1) > name_max) fatal("`%1.%2' is too long for a filename", filename, INDEX_SUFFIX); if (p) { p++; @@ -240,16 +233,8 @@ int main(int argc, char **argv) else { temp_index_file = strsave(TEMP_INDEX_TEMPLATE); } -#ifndef HAVE_MKSTEMP - if (!mktemp(temp_index_file) || !temp_index_file[0]) - fatal("cannot create file name for temporary file"); -#endif catch_fatal_signals(); -#ifdef HAVE_MKSTEMP int fd = mkstemp(temp_index_file); -#else - int fd = creat(temp_index_file, S_IRUSR|S_IRGRP|S_IROTH); -#endif if (fd < 0) fatal("can't create temporary index file: %1", strerror(errno)); indxfp = fdopen(fd, FOPEN_WB); @@ -300,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/contrib/groff/src/utils/indxbib/signal.c b/contrib/groff/src/utils/indxbib/signal.c index 8078472..fccd289 100644 --- a/contrib/groff/src/utils/indxbib/signal.c +++ b/contrib/groff/src/utils/indxbib/signal.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992 Free Software Foundation, Inc. +/* Copyright (C) 1992, 2001 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) This file is part of groff. @@ -20,6 +20,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Unfortunately vendors seem to have problems writing a <signal.h> that is correct for C++, so we implement all signal handling in C. */ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + #include <sys/types.h> #include <signal.h> #ifdef HAVE_UNISTD_H diff --git a/contrib/groff/src/utils/lkbib/Makefile.sub b/contrib/groff/src/utils/lkbib/Makefile.sub index 8f31e10..899236a 100644 --- a/contrib/groff/src/utils/lkbib/Makefile.sub +++ b/contrib/groff/src/utils/lkbib/Makefile.sub @@ -1,6 +1,6 @@ -PROG=lkbib +PROG=lkbib$(EXEEXT) MAN1=lkbib.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) -OBJS=lkbib.o +OBJS=lkbib.$(OBJEXT) CCSRCS=$(srcdir)/lkbib.cc diff --git a/contrib/groff/src/utils/lkbib/lkbib.cc b/contrib/groff/src/utils/lkbib/lkbib.cc index 50e4e9b..42156ea 100644 --- a/contrib/groff/src/utils/lkbib/lkbib.cc +++ b/contrib/groff/src/utils/lkbib/lkbib.cc @@ -18,13 +18,12 @@ You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <stdio.h> +#include "lib.h" + #include <stdlib.h> #include <errno.h> -#include <string.h> #include <assert.h> -#include "lib.h" #include "errarg.h" #include "error.h" diff --git a/contrib/groff/src/utils/lookbib/Makefile.sub b/contrib/groff/src/utils/lookbib/Makefile.sub index 91b1404..7a08f0a 100644 --- a/contrib/groff/src/utils/lookbib/Makefile.sub +++ b/contrib/groff/src/utils/lookbib/Makefile.sub @@ -1,7 +1,7 @@ -PROG=lookbib +PROG=lookbib$(EXEEXT) MAN1=lookbib.n XLIBS=$(LIBBIB) $(LIBGROFF) MLIB=$(LIBM) -OBJS=lookbib.o +OBJS=lookbib.$(OBJEXT) CCSRCS=$(srcdir)/lookbib.cc NAMEPREFIX=$(g) diff --git a/contrib/groff/src/utils/lookbib/lookbib.cc b/contrib/groff/src/utils/lookbib/lookbib.cc index b742a4b..65e89bc 100644 --- a/contrib/groff/src/utils/lookbib/lookbib.cc +++ b/contrib/groff/src/utils/lookbib/lookbib.cc @@ -18,22 +18,23 @@ You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <stdio.h> +#include "lib.h" + #include <stdlib.h> -#include <string.h> #include <assert.h> #include <errno.h> #include "errarg.h" #include "error.h" -#include "lib.h" #include "cset.h" #include "refid.h" #include "search.h" +/* for isatty() */ +#include "posix.h" + extern "C" { - int isatty(int); const char *Version_string; } diff --git a/contrib/groff/src/utils/pfbtops/Makefile.sub b/contrib/groff/src/utils/pfbtops/Makefile.sub index f731ff5..a8ed92a 100644 --- a/contrib/groff/src/utils/pfbtops/Makefile.sub +++ b/contrib/groff/src/utils/pfbtops/Makefile.sub @@ -1,6 +1,6 @@ -PROG=pfbtops +PROG=pfbtops$(EXEEXT) MAN1=pfbtops.n -OBJS=pfbtops.o +OBJS=pfbtops.$(OBJEXT) CSRCS=$(srcdir)/pfbtops.c XLIBS=$(LIBGROFF) MLIB=$(LIBM) diff --git a/contrib/groff/src/utils/pfbtops/pfbtops.c b/contrib/groff/src/utils/pfbtops/pfbtops.c index 0964ede..3417dcb 100644 --- a/contrib/groff/src/utils/pfbtops/pfbtops.c +++ b/contrib/groff/src/utils/pfbtops/pfbtops.c @@ -19,7 +19,12 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This translates ps fonts in .pfb format to ASCII ps files. */ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + #include <stdio.h> +#include <stdlib.h> #include <getopt.h> #include <limits.h> diff --git a/contrib/groff/src/utils/tfmtodit/Makefile.sub b/contrib/groff/src/utils/tfmtodit/Makefile.sub index 057bb3e..ee56ce6 100644 --- a/contrib/groff/src/utils/tfmtodit/Makefile.sub +++ b/contrib/groff/src/utils/tfmtodit/Makefile.sub @@ -1,6 +1,6 @@ -PROG=tfmtodit +PROG=tfmtodit$(EXEEXT) MAN1=tfmtodit.n XLIBS=$(LIBGROFF) MLIB=$(LIBM) -OBJS=tfmtodit.o +OBJS=tfmtodit.$(OBJEXT) CCSRCS=$(srcdir)/tfmtodit.cc diff --git a/contrib/groff/src/utils/tfmtodit/tfmtodit.cc b/contrib/groff/src/utils/tfmtodit/tfmtodit.cc index 06b5d18..9fbbe25 100644 --- a/contrib/groff/src/utils/tfmtodit/tfmtodit.cc +++ b/contrib/groff/src/utils/tfmtodit/tfmtodit.cc @@ -47,12 +47,11 @@ This need only be done for a font for which math_fitting is false; When it's true, the left_correction and subscript_correction should both be zero. */ -#include <stdio.h> +#include "lib.h" + #include <stdlib.h> #include <math.h> -#include <string.h> #include <errno.h> -#include "lib.h" #include "errarg.h" #include "error.h" #include "assert.h" diff --git a/contrib/groff/src/utils/tfmtodit/tfmtodit.man b/contrib/groff/src/utils/tfmtodit/tfmtodit.man index b141c77..51f806d 100644 --- a/contrib/groff/src/utils/tfmtodit/tfmtodit.man +++ b/contrib/groff/src/utils/tfmtodit/tfmtodit.man @@ -1,5 +1,5 @@ .ig -Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc. +Copyright (C) 1989-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 @@ -121,8 +121,26 @@ def ignore_math_fit(expr left_adjustment,right_adjustment) = .fi .ft R .LP +For the EC font family, load the following definition after +.B exbase +(it is probably easiest to patch +.B exbase.mf +locally): +.IP +.nf +.ft B +def ignore_math_fit(expr left_adjustment,right_adjustment) = + ori_special "adjustment"; + ori_numspecial left_adjustment*16/designsize; + ori_numspecial right_adjustment*16/designsize; + enddef; +.fi +.ft R +.LP The gf file created using this modified .B cm.base +or +.B exbase should be specified with the .B \-g option. |