[7106] in Athena Bugs

home help back first fref pref prev next nref lref last post

patch 11 for xdvi (part 1 of 2)

daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Wed Feb 13 18:01:56 1991

From: jik@ATHENA.MIT.EDU
Date: Wed, 13 Feb 91 18:01:20 -0500
To: bugs@ATHENA.MIT.EDU

In article <7929@exodus.Eng.Sun.COM>, vojta@math.berkeley.edu (Paul Vojta) writes:
|> Submitted-by: vojta@math.berkeley.edu (Paul Vojta)
|> Posting-number: Volume 11, Issue 59
|> Archive-name: xdvi/patch11.01
|> Patch-To: xdvi: Volume 3, Issues 37-39
|> Patch-To: xdvi: Volume 4, Issue 44 (xdvi, Patch4)
|> Patch-To: xdvi: Volume 4, Issue 96 (xdvi, dvi previewer, Patch5)
|> Patch-To: xdvi: Volume 5, Issue 35 (xdvi, dvi previewer, patch 6, part 1/2)
|> Patch-To: xdvi: Volume 5, Issue 36 (xdvi, dvi previewer, patch 6, part 2/2)
|> Patch-To: xdvi: Volume 6, Issue  5 (xdvi, Patch7)
|> Patch-To: xdvi: Volume 6, Issue 49 (xdvi, dvi previewer, patch 8)
|> Patch-To: xdvi: Volume 7, Issue 52 (xdvi, dvi previewer, patch 9, part 1/2)
|> Patch-To: xdvi: Volume 7, Issue 53 (xdvi, dvi previewer, patch 9, part 2/2)
|> Patch-To: xdvi: Volume 10, Issue 9 (xdvi, patch10, part01/02)
|> Patch-To: xdvi: Volume 10, Issue 10 (xdvi, patch10, part02/02)
|> 
|> Enclosed is patch 11 for xdvi.  It includes more graceful handling of missing
|> characters in fonts, ability to automatically search font directories
|> recursively, a -keep option to match the `k' keystroke, and a modified
|> mksedscript routine so that the man page comes out cleaner.
|> 
|> Thanks to the following, among others, for suggestions and improvements:
|> 	karl%aten.cs.umb.edu@RELAY.CS.NET
|> 	allendorf@iowasp.physics.uiowa.edu
|> 	beebe@math.utah.edu
|> 	hideki@is.s.u-tokyo.ac.jp
|> 	maman@uranie.inria.fr
|> 
|> --Paul Vojta, vojta@math.berkeley.edu
|> 
|> -- cut here --
|> diff -cr old/Imakefile new/Imakefile
|> *** old/Imakefile	Sun Oct 21 14:46:20 1990
|> --- new/Imakefile	Fri Feb  1 19:05:02 1991
|> ***************
|> *** 12,22 ****
|>   SRCS=xdvi.c dvi_init.c dvi_draw.c $(FONTFORMATS_C) pxl_open.c tpic.c
|>   OBJS=xdvi.o dvi_init.o dvi_draw.o $(FONTFORMATS_O) pxl_open.o tpic.o
|>   DEFINES=$(DEFS) -DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
|> !   -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\"
|>   
|>   ComplexProgramTarget(xdvi)
|>   
|> ! xdvi.man: xdvi_man.sed
|>   	chmod u+x mksedscript
|>   	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) $(DEFS) \
|>   		> sedscript
|> --- 12,23 ----
|>   SRCS=xdvi.c dvi_init.c dvi_draw.c $(FONTFORMATS_C) pxl_open.c tpic.c
|>   OBJS=xdvi.o dvi_init.o dvi_draw.o $(FONTFORMATS_O) pxl_open.o tpic.o
|>   DEFINES=$(DEFS) -DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
|> !   -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\" \
|> !   -DDEFAULT_SUBDIR_PATH=\"$(DEFAULT_SUBDIR_PATH)\"
|>   
|>   ComplexProgramTarget(xdvi)
|>   
|> ! xdvi.man: xdvi_man.sed mksedscript
|>   	chmod u+x mksedscript
|>   	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) $(DEFS) \
|>   		> sedscript
|> diff -cr old/Makefile new/Makefile
|> *** old/Makefile	Sun Oct 21 14:46:24 1990
|> --- new/Makefile	Fri Feb  1 19:04:22 1991
|> ***************
|> *** 8,31 ****
|>   DEFAULT_FONT_SIZES=300:328.6:360:432:518.4:622:746.4
|>   DEFS=-DMSBITFIRST -DBMSHORT -DBUTTONS
|>   FONTDEFINES=-DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
|> !   -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\"
|>   FONTFORMATS_C=gf.c pk.c pxl.c
|>   FONTFORMATS_O=gf.o pk.o pxl.o
|> ! LIBDIR=/usr/custom/x11/lib
|> ! #LIBDIR=/tuna_a/x11r4/lib
|> ! INCDIR=
|> ! #INCDIR=/tuna_a/x11r4/include
|>   XMULIB=-lXmu
|>   EXTENSIONLIB=-lXext
|> ! DESTDIR=/usr/local/x11
|>   BINDIR=$(DESTDIR)/bin
|>   MANDIR=$(DESTDIR)/man
|>   INCLUDES=-I$(INCDIR)
|>   CFLAGS=-O $(INCLUDES) $(DEFS)
|>   LIBS=-L$(LIBDIR) -lXaw $(XMULIB) -lXt $(EXTENSIONLIB) -lX11 -lm
|>   SRCS=xdvi.c dvi_init.c dvi_draw.c $(FONTFORMATS_C) pxl_open.c tpic.c
|>   OBJS=xdvi.o dvi_init.o dvi_draw.o $(FONTFORMATS_O) pxl_open.o tpic.o
|> ! CC=/tuna_a/gnu/bin/gcc
|>   RM=rm -f
|>   
|>   .c.o:
|> --- 8,32 ----
|>   DEFAULT_FONT_SIZES=300:328.6:360:432:518.4:622:746.4
|>   DEFS=-DMSBITFIRST -DBMSHORT -DBUTTONS
|>   FONTDEFINES=-DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
|> !   -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\" \
|> !   -DDEFAULT_SUBDIR_PATH=\"$(DEFAULT_SUBDIR_PATH)\"
|>   FONTFORMATS_C=gf.c pk.c pxl.c
|>   FONTFORMATS_O=gf.o pk.o pxl.o
|> ! TOP=/usr/X11
|> ! INCDIR=$(TOP)/include
|> ! LIBDIR=$(TOP)/lib
|>   XMULIB=-lXmu
|>   EXTENSIONLIB=-lXext
|> ! DESTDIR=$(TOP)
|>   BINDIR=$(DESTDIR)/bin
|>   MANDIR=$(DESTDIR)/man
|>   INCLUDES=-I$(INCDIR)
|>   CFLAGS=-O $(INCLUDES) $(DEFS)
|>   LIBS=-L$(LIBDIR) -lXaw $(XMULIB) -lXt $(EXTENSIONLIB) -lX11 -lm
|> + #LIBS=-L$(LIBDIR) -lX11 -lm
|>   SRCS=xdvi.c dvi_init.c dvi_draw.c $(FONTFORMATS_C) pxl_open.c tpic.c
|>   OBJS=xdvi.o dvi_init.o dvi_draw.o $(FONTFORMATS_O) pxl_open.o tpic.o
|> ! CC=gcc
|>   RM=rm -f
|>   
|>   .c.o:
|> ***************
|> *** 44,53 ****
|>   pk.o:	xdvi.h
|>   pxl.o:	xdvi.h
|>   
|> ! pxl_open.o:	xdvi.h
|>   	$(CC) -c $(CFLAGS) $(FONTDEFINES) pxl_open.c
|>   
|> ! xdvi.man: xdvi_man.sed
|>   	chmod u+x mksedscript
|>   	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) $(DEFS) \
|>   		> sedscript
|> --- 45,54 ----
|>   pk.o:	xdvi.h
|>   pxl.o:	xdvi.h
|>   
|> ! pxl_open.o:	pxl_open.c xdvi.h
|>   	$(CC) -c $(CFLAGS) $(FONTDEFINES) pxl_open.c
|>   
|> ! xdvi.man: xdvi_man.sed mksedscript
|>   	chmod u+x mksedscript
|>   	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) $(DEFS) \
|>   		> sedscript
|> diff -cr old/Makefile_10 new/Makefile_10
|> *** old/Makefile_10	Sun Oct 21 14:46:26 1990
|> --- new/Makefile_10	Fri Feb  1 19:04:12 1991
|> ***************
|> *** 8,25 ****
|>   DEFAULT_FONT_SIZES=300:328.6:360:432:518.4:622:746.4
|>   DEFS=-DX10
|>   FONTDEFINES=-DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
|> !   -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\"
|>   FONTFORMATS_C=gf.c pk.c pxl.c
|>   FONTFORMATS_O=gf.o pk.o pxl.o
|> ! DESTDIR=/usr/local/x10
|>   BINDIR=$(DESTDIR)/bin
|>   MANDIR=$(DESTDIR)/man
|> ! #INCLUDES=-I/usr/include/X
|>   CFLAGS=-O $(INCLUDES) $(DEFS)
|> ! LIBS=-L/products/ccs/X10/lib -lX -lm
|>   SRCS=xdvi.c dvi_init.c dvi_draw.c $(FONTFORMATS_C) pxl_open.c tpic.c
|>   OBJS=xdvi.o dvi_init.o dvi_draw.o $(FONTFORMATS_O) pxl_open.o tpic.o
|> ! CC=/tuna_a/gnu/bin/gcc
|>   RM=rm -f
|>   
|>   .c.o:
|> --- 8,29 ----
|>   DEFAULT_FONT_SIZES=300:328.6:360:432:518.4:622:746.4
|>   DEFS=-DX10
|>   FONTDEFINES=-DDEFAULT_FONT_PATH=\"$(DEFAULT_FONT_PATH)\" \
|> !   -DDEFAULT_FONT_SIZES=\"$(DEFAULT_FONT_SIZES)\" \
|> !   -DDEFAULT_SUBDIR_PATH=\"$(DEFAULT_SUBDIR_PATH)\"
|>   FONTFORMATS_C=gf.c pk.c pxl.c
|>   FONTFORMATS_O=gf.o pk.o pxl.o
|> ! TOP=/usr
|> ! INCDIR=$(TOP)/include
|> ! LIBDIR=$(TOP)/lib
|> ! DESTDIR=$(TOP)
|>   BINDIR=$(DESTDIR)/bin
|>   MANDIR=$(DESTDIR)/man
|> ! INCLUDES=-I$(INCDIR)
|>   CFLAGS=-O $(INCLUDES) $(DEFS)
|> ! LIBS=-L$(LIBDIR) -lX -lm
|>   SRCS=xdvi.c dvi_init.c dvi_draw.c $(FONTFORMATS_C) pxl_open.c tpic.c
|>   OBJS=xdvi.o dvi_init.o dvi_draw.o $(FONTFORMATS_O) pxl_open.o tpic.o
|> ! CC=gcc
|>   RM=rm -f
|>   
|>   .c.o:
|> ***************
|> *** 38,47 ****
|>   pk.o:	xdvi.h
|>   pxl.o:	xdvi.h
|>   
|> ! pxl_open.o:	xdvi.h
|>   	$(CC) -c $(CFLAGS) $(FONTDEFINES) pxl_open.c
|>   
|> ! xdvi.man: xdvi_man.sed
|>   	chmod u+x mksedscript
|>   	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) $(DEFS) \
|>   		> sedscript
|> --- 42,51 ----
|>   pk.o:	xdvi.h
|>   pxl.o:	xdvi.h
|>   
|> ! pxl_open.o:	pxl_open.c xdvi.h
|>   	$(CC) -c $(CFLAGS) $(FONTDEFINES) pxl_open.c
|>   
|> ! xdvi.man: xdvi_man.sed mksedscript
|>   	chmod u+x mksedscript
|>   	./mksedscript $(DEFAULT_FONT_PATH) $(DEFAULT_FONT_SIZES) $(DEFS) \
|>   		> sedscript
|> diff -cr old/README new/README
|> *** old/README	Sun Oct 21 14:46:30 1990
|> --- new/README	Sat Feb  2 17:04:23 1991
|> ***************
|> *** 51,56 ****
|> --- 51,60 ----
|>   	ALTFONT		(xdvi.c)  Default font to use if the font named in the
|>   			dvi file cannot be found.  Can be set to NULL.  By
|>   			default, it is "cmr10".
|> + 	SEARCH_SUBDIRECTORIES (pxl_open.c)  Enable recursive searching of
|> + 			subdirectories for font files (* and ** specifiers).
|> + 			This also enables the TEXFONTS_SUBDIR environment
|> + 			variable and the DEFAULT_SUBDIR_PATH makefile variable.
|>   	NOTOOL		(X11 only; xdvi.c)  Compile using raw X calls.
|>   	BUTTONS		(xdvi.c)  Put radio buttons on the right side of the
|>   			window for commonly used commands.
|> ***************
|> *** 60,65 ****
|> --- 64,80 ----
|>   
|>   ================================================================
|>   
|> + Note for IBM RS6000 users:  some of the libraries are in non-obvious places:
|> + 
|> + 	libXmu	/usr/lpp/X11/Xamples/lib/Xmu/libXmu.a
|> + 	libXaw	/usr/lpp/X11/Xamples/lib/Xaw/libXaw.a
|> + 
|> + These should be moved to /usr/lib or some more reasonable place (or use
|> + symlinks), and ditto for the include files, which are initially placed
|> + in /usr/lpp/X11/Xamples/include.
|> + 
|> + ================================================================
|> + 
|>   Notes of historical nature follow.  Most recent changes are listed at the end
|>   of the file.
|>   
|> ***************
|> *** 175,179 ****
|> --- 190,199 ----
|>   --  Patchlevel 10: --
|>      24.	Implemented arrow keys, expert mode, searching for the font's actual
|>   	size first, the -[xy]offset and -sw options, and numerous bug fixes.
|> + --  Patchlevel 11: --
|> +    25.	Implemented recursive searching for font files in subdirectories.
|> +    26.	Changed +sw to -hushspecials and implemented -hush.
|> +    27.	Modified mksedscript so that the man page comes out neater.
|> +    28.  Added a -keep option and resource to match the `k' keystroke.
|>   
|>   Paul Vojta, vojta@math.berkeley.edu
|> diff -cr old/README.VMS new/README.VMS
|> *** old/README.VMS	Sun Oct 21 14:46:38 1990
|> --- new/README.VMS	Mon Feb  4 13:08:20 1991
|> ***************
|> *** 6,18 ****
|>   SYNOPSIS
|>   --------
|>   
|> !    XDVI [+[page]] [-s shrink] [-density density] [-p pixels] [-l] [-rv] [-sw]
|>           [-bw width] [-fg color] [-bg color] [-hl color] [-bd color] [-cr color]
|>           [-margins dimen] [-sidemargin dimen] [-topmargin dimen]
|> !         [-offsets dimen] [-xoffset dimen] [-yoffset dimen]
|> !         [-paper papertype] [-mgs[n] size] [-altfont font] [-thorough] [-copy]
|> !         [-geometry geometry] [-icongeometry geometry] [-iconic]
|> !         [-display display] dvi_file
|>   
|>   DESCRIPTION
|>   -----------
|> --- 6,18 ----
|>   SYNOPSIS
|>   --------
|>   
|> !    XDVI [+[page]] [-s shrink] [-density density] [-p pixels] [-l] [-rv]
|>           [-bw width] [-fg color] [-bg color] [-hl color] [-bd color] [-cr color]
|>           [-margins dimen] [-sidemargin dimen] [-topmargin dimen]
|> !         [-offsets dimen] [-xoffset dimen] [-yoffset dimen] [-keep]
|> !         [-hushspecials] [-hushchars] [-hush] [-paper papertype] [-mgs[n] size]
|> !         [-altfont font] [-thorough] [-copy] [-geometry geometry]
|> !         [-icongeometry geometry] [-iconic] [-display display] dvi_file
|>   
|>   DESCRIPTION
|>   -----------
|> ***************
|> *** 61,70 ****
|>                            white characters on a black background, instead of vice
|>                            versa.
|>   
|> -    -sw                   (.specialWarn)  Causes XDVI to warn the user when it
|> -                          encounters a \special string which it cannot process.
|> -                          This option is on by default; to turn it off, use +sw.
|> - 
|>      -bw <width>           (.borderWidth)  Specifies the width of the border of
|>                            the window.
|>   
|> --- 61,66 ----
|> ***************
|> *** 127,132 ****
|> --- 123,142 ----
|>      -yoffset <dimen>      (.yOffset)  Specifies the size of the vertical offset
|>                            of the output on the page (see above).
|>   
|> +    -keep                 (.keepPosition)  Sets a flag to indicate that XDVI
|> +                          should not move to the home position when moving to a
|> +                          new page.  See also the `k' keystroke.
|> + 
|> +    -hushspecials         (.hushSpecials)  Causes XDVI to suppress warnings about
|> +                          \special strings which it cannot process.
|> + 
|> +    -hushchars            (.hushLostChars)  Causes XDVI to suppress warnings
|> +                          about references to characters which are not defined in
|> +                          the font.
|> + 
|> +    -hush                 (.Hush)  Causes XDVI to suppress all suppressable
|> +                          warnings.
|> + 
|>      -paper <papertype>    (.paper)  Specifies the size of the printed page.  This
|>                            may be of the form WxH (or WxHcm), where W is the width
|>                            in inches (or cm) and H is the height in inches (or
|> ***************
|> *** 188,194 ****
|>      interpretation will depend on the particular keystroke.  Note that the
|>      keystrokes are case sensitive.
|>   
|> !    q    Quits the program.  Control-C and control-D will do this, too.
|>   
|>      n    Moves to the next page (or to the nth next page if a number is given).
|>           Synonyms are `f', Space, Return, Line Feed, and <Next Screen>.
|> --- 198,205 ----
|>      interpretation will depend on the particular keystroke.  Note that the
|>      keystrokes are case sensitive.
|>   
|> !    q    Quits the program.  Control-C, control-D, and control-Z will do this,
|> !         too.
|>   
|>      n    Moves to the next page (or to the nth next page if a number is given).
|>           Synonyms are `f', Space, Return, Line Feed, and <Next Screen>.
|> ***************
|> *** 242,251 ****
|>      R    Forces the DVI file to be reread.  This allows you to preview many
|>           versions of the same file while running XDVI only once.
|>   
|> !    k    Normally when XDVI switches pages it moves to the home position as well.
|> !         The `k' keystroke toggles a `keep-position' flag which, when set, will
|> !         keep the same position when moving between pages.  Also `0k' and `1k'
|> !         clear and set this flag, respectively.
|>   
|>   MOUSE ACTIONS
|>   -------------
|> --- 253,262 ----
|>      R    Forces the DVI file to be reread.  This allows you to preview many
|>           versions of the same file while running XDVI only once.
|>   
|> !    k    Normally when XDVI switches pages, it moves to the home position as
|> !         well.  The `k' keystroke toggles a `keep-position' flag which, when set,
|> !         will keep the same position when moving between pages.  Also `0k' and
|> !         `1k' clear and set this flag, respectively.  See also the -keep option.
|>   
|>   MOUSE ACTIONS
|>   -------------
|> ***************
|> *** 288,293 ****
|> --- 299,308 ----
|>      (within a certain range), and if this fails, then it will use the font
|>      specified as the alternate font (cf. -altfont).
|>   
|> +    For compatibilty with some versions of TeX, you may also use the logical name
|> +    "TEXFONTS" in place of "XDVIFONTS", although in that case the string should
|> +    not include any "%" specifiers.
|> + 
|>      The logical name "XDVISIZES" must be set to indicate which sizes of fonts are
|>      available.  It should consists of a list of numbers separated by slashes.  If
|>      the list begins with a slash, the system default sizes are used, as well.
|> ***************
|> *** 400,404 ****
|>      Eric Cooper, CMU, did a version for direct output to a QVSS.
|>      Modified for X by Bob Scheifler, MIT Laboratory for Computer Science.
|>      Modified for X11 by Mark Eichin, MIT SIPB.
|> !    Modified for DECWindows by Scott Allendorf, University of Iowa.
|>      Additional enhancements by many others.
|> --- 415,419 ----
|>      Eric Cooper, CMU, did a version for direct output to a QVSS.
|>      Modified for X by Bob Scheifler, MIT Laboratory for Computer Science.
|>      Modified for X11 by Mark Eichin, MIT SIPB.
|> !    Modified for VMS and DECWindows by Scott Allendorf, University of Iowa.
|>      Additional enhancements by many others.
|> diff -cr old/XDVI.RNH new/XDVI.RNH
|> *** old/XDVI.RNH	Sun Oct 21 14:46:47 1990
|> --- new/XDVI.RNH	Mon Feb  4 13:09:35 1991
|> ***************
|> *** 8,13 ****
|> --- 8,14 ----
|>   .!
|>   .! Merged with patchlevel 8.001 help file for VMS by Scott Allendorf.
|>   .! Added new switches for patchlevel 10.  Scott Allendorf.
|> + .! Added new switches for patchlevel 11.  Scott Allendorf.
|>   .!
|>   .NO PAGING
|>   .NO FLAGS ALL
|> ***************
|> *** 175,180 ****
|> --- 176,200 ----
|>   .SKIP
|>   The resource name is ".highlight".
|>   .INDENT -1
|> + 3 -hush
|> + .BREAK
|> + Causes XDVI to suppress all suppressable warnings.
|> + .SKIP
|> + The resource name is ".Hush".
|> + .INDENT -1
|> + 3 -hushchars
|> + .BREAK
|> + Causes XDVI to suppress warnings about references to characters which
|> + are not defined in the font.
|> + .SKIP
|> + The resource name is ".hushLostChars".
|> + .INDENT -1
|> + 3 -hushspecials
|> + .BREAK
|> + Causes XDVI to suppress warnings about \special strings which it cannot process.
|> + .SKIP
|> + The resource name is ".hushSpecials".
|> + .INDENT -1
|>   3 -icongeometry
|>   .BREAK
|>   -icongeometry <geometry>
|> ***************
|> *** 192,197 ****
|> --- 212,226 ----
|>   .SKIP
|>   The resource name is ".iconic".
|>   .INDENT -1
|> + 3 -keep
|> + .BREAK
|> + -keep
|> + .SKIP
|> + Sets a flag to indicate that XDVI should not move to the home position when
|> + moving to a new page.  See also `k' under the Keystrokes help entry.
|> + .SKIP
|> + The resource name is ".keepPosition".
|> + .INDENT -1
|>   3 -l
|>   .BREAK
|>   Causes the names of the fonts used to be listed.
|> ***************
|> *** 198,212 ****
|>   .SKIP
|>   The resource name is ".listFonts".
|>   .INDENT -1
|> - 3 -p
|> - .BREAK
|> - -p <pixels>
|> - .SKIP
|> - Defines the size of the fonts to use, in pixels per inch.  The
|> - default value is 300.
|> - .SKIP
|> - The resource name is ".pixelsPerInch".
|> - .INDENT -1
|>   3 -offsets
|>   .BREAK
|>   -offsets <dimen>
|> --- 227,232 ----
|> ***************
|> *** 221,226 ****
|> --- 241,255 ----
|>   .SKIP
|>   The resource name is ".Offset".
|>   .INDENT -1
|> + 3 -p
|> + .BREAK
|> + -p <pixels>
|> + .SKIP
|> + Defines the size of the fonts to use, in pixels per inch.  The
|> + default value is 300.
|> + .SKIP
|> + The resource name is ".pixelsPerInch".
|> + .INDENT -1
|>   3 -paper
|>   .BREAK
|>   -paper <papertype>
|> ***************
|> *** 292,304 ****
|>   .SKIP
|>   The resource name is ".sideMargin".
|>   .INDENT -1
|> - 3 -sw
|> - .BREAK
|> - Causes XDVI to warn the user when it encounters a \special string which it
|> - cannot process.  This option is on by default; to turn it off, use  +sw.
|> - .SKIP
|> - The resource name is ".specialWarn".
|> - .INDENT -1
|>   3 -thorough
|>   .BREAK
|>   XDVI will usually try to ensure that overstrike characters (e.g.,
|> --- 321,326 ----
|> ***************
|> *** 348,354 ****
|>   .INDENT -1
|>   3 q
|>   .BREAK
|> ! Quits the program.  Control-C and control-D will do this, too.
|>   .INDENT -1
|>   3 n
|>   .BREAK
|> --- 370,376 ----
|>   .INDENT -1
|>   3 q
|>   .BREAK
|> ! Quits the program.  Control-C, control-D, and control-Z will do this, too.
|>   .INDENT -1
|>   3 n
|>   .BREAK
|> ***************
|> *** 431,440 ****
|>   .INDENT -1
|>   3 k
|>   .BREAK
|> ! Normally when XDVI switches pages it moves to the home position as
|>   well.  The `k' keystroke toggles a `keep-position' flag which, when
|>   set, will keep the same position when moving between pages.  Also `0k'
|> ! and `1k' clear and set this flag, respectively.
|>   
|>   .INDENT -1
|>   2 Mouse_Actions
|> --- 453,462 ----
|>   .INDENT -1
|>   3 k
|>   .BREAK
|> ! Normally when XDVI switches pages, it moves to the home position as
|>   well.  The `k' keystroke toggles a `keep-position' flag which, when
|>   set, will keep the same position when moving between pages.  Also `0k'
|> ! and `1k' clear and set this flag, respectively.  See also the -keep option.
|>   
|>   .INDENT -1
|>   2 Mouse_Actions
|> ***************
|> *** 489,494 ****
|> --- 511,521 ----
|>   font cannot be found at all, then XDVI will try to vary the point size
|>   of the font (within a certain range), and if this fails, then it will
|>   use the font specified as the alternate font (cf. -altfont).
|> + .SKIP
|> + For compatibilty with some versions of TeX, you may also use the logical name
|> + "TEXFONTS" in place of "XDVIFONTS", although in that case the string should
|> + not include any "%" specifiers.
|> + 
|>   .INDENT -1
|>   3 XDVISIZES
|>   .BREAK
|> diff -cr old/dvi_draw.c new/dvi_draw.c
|> *** old/dvi_draw.c	Sun Oct 21 14:46:57 1990
|> --- new/dvi_draw.c	Tue Jan 15 15:22:16 1991
|> ***************
|> *** 74,80 ****
|>   };
|>   #endif	/* BMLONG */
|>   
|> ! char	*malloc();
|>   void	exit();
|>   Boolean	check_dvi_file();
|>   void	applicationDoSpecial();
|> --- 74,80 ----
|>   };
|>   #endif	/* BMLONG */
|>   
|> ! char	*xmalloc();
|>   void	exit();
|>   Boolean	check_dvi_file();
|>   void	applicationDoSpecial();
|> ***************
|> *** 136,142 ****
|>   {
|>   	char *s;
|>   
|> ! 	Printf("%4d %4d ", PXL_H, PXL_V);
|>   	if (ch <= SETCHAR0 + 127) {
|>   		Printf("SETCHAR%-3d", ch - SETCHAR0);
|>   		if (isprint(ch))
|> --- 136,144 ----
|>   {
|>   	char *s;
|>   
|> ! 	if (stackp != NULL) Printf("%4d %4d ", PXL_H, PXL_V);
|> ! 	else Fputs("          ", stdout);
|> ! 
|>   	if (ch <= SETCHAR0 + 127) {
|>   		Printf("SETCHAR%-3d", ch - SETCHAR0);
|>   		if (isprint(ch))
|> ***************
|> *** 159,168 ****
|>    **/
|>   
|>   void
|> ! alloc_bitmap(bitmap, fontname, ch)
|>       register struct bitmap *bitmap;
|> -     char *fontname;
|> -     ubyte ch;
|>   {
|>   	register unsigned int	size;
|>   
|> --- 161,168 ----
|>    **/
|>   
|>   void
|> ! alloc_bitmap(bitmap)
|>       register struct bitmap *bitmap;
|>   {
|>   	register unsigned int	size;
|>   
|> ***************
|> *** 170,179 ****
|>   	bitmap->bytes_wide = ROUNDUP(bitmap->w, BITS_PER_BMUNIT) *
|>   	    BYTES_PER_BMUNIT;
|>   	size = bitmap->bytes_wide * bitmap->h;
|> ! 	bitmap->bits = malloc(size != 0 ? size : 1);
|> ! 	if (bitmap->bits == NULL)
|> ! 	    oops("Can't allocate bitmap for character %d of font %s (%d by %d)",
|> ! 		ch, fontname, bitmap->w, bitmap->h);
|>   }
|>   
|>   char	sample_count[]	= {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4};
|> --- 170,176 ----
|>   	bitmap->bytes_wide = ROUNDUP(bitmap->w, BITS_PER_BMUNIT) *
|>   	    BYTES_PER_BMUNIT;
|>   	size = bitmap->bytes_wide * bitmap->h;
|> ! 	bitmap->bits = xmalloc(size != 0 ? size : 1, "character bitmap");
|>   }
|>   
|>   char	sample_count[]	= {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4};
|> ***************
|> *** 256,262 ****
|>   	g->bitmap2.h = shrunk_height = g->y2 +
|>   	    ROUNDUP(g->bitmap.h - cols, shrink_factor) + 1;
|>   	if (g->bitmap2.bits) free(g->bitmap2.bits);
|> ! 	alloc_bitmap(&g->bitmap2, "(shrunken)", 0);
|>   	old_ptr = (BMUNIT *) g->bitmap.bits;
|>   	new_ptr = (BMUNIT *) g->bitmap2.bits;
|>   	shrunk_bytes_wide = g->bitmap2.bytes_wide;
|> --- 253,259 ----
|>   	g->bitmap2.h = shrunk_height = g->y2 +
|>   	    ROUNDUP(g->bitmap.h - cols, shrink_factor) + 1;
|>   	if (g->bitmap2.bits) free(g->bitmap2.bits);
|> ! 	alloc_bitmap(&g->bitmap2);
|>   	old_ptr = (BMUNIT *) g->bitmap.bits;
|>   	new_ptr = (BMUNIT *) g->bitmap2.bits;
|>   	shrunk_bytes_wide = g->bitmap2.bytes_wide;
|> ***************
|> *** 311,323 ****
|>   
|>   	if (ch > maxchar ||
|>   		(g = &current_font->glyph[ch])->bitmap.bits == NULL) {
|> ! 	    if (ch > maxchar || g->addr == 0)
|> ! 		oops("Character %d not defined in font %s", ch,
|> ! 		    current_font->fontname);
|>   	    open_pxl_file(current_font);
|>   	    Fseek(current_font->file, g->addr, 0);
|>   	    (*current_font->read_char)(current_font, ch);
|> - 	    g->dvi_adv = g->dvi_adv * current_font->factor;
|>   	    if (debug & DBG_BITMAP) print_char(ch, g);
|>   	}
|>   
|> --- 308,322 ----
|>   
|>   	if (ch > maxchar ||
|>   		(g = &current_font->glyph[ch])->bitmap.bits == NULL) {
|> ! 	    if (ch > maxchar || g->addr == 0) {
|> ! 		if (!hush_chars)
|> ! 		    Fprintf(stderr, "Character %d not defined in font %s", ch,
|> ! 			current_font->fontname);
|> ! 		return;
|> ! 	    }
|>   	    open_pxl_file(current_font);
|>   	    Fseek(current_font->file, g->addr, 0);
|>   	    (*current_font->read_char)(current_font, ch);
|>   	    if (debug & DBG_BITMAP) print_char(ch, g);
|>   	}
|>   
|> ***************
|> *** 406,414 ****
|>   
|>   	if (cmdlen < nbytes) {
|>   	    if (cmd) free(cmd);
|> ! 	    cmd = malloc((unsigned) nbytes+1);
|> ! 	    if (cmd == NULL)
|> ! 		oops("Can't allocate memory for special (%d bytes)", nbytes);
|>   	    cmdlen = nbytes;
|>   	}
|>   	Fread(cmd, sizeof(char), (int) nbytes, dvi_file);
|> --- 405,411 ----
|>   
|>   	if (cmdlen < nbytes) {
|>   	    if (cmd) free(cmd);
|> ! 	    cmd = xmalloc((unsigned) nbytes + 1, "special");
|>   	    cmdlen = nbytes;
|>   	}
|>   	Fread(cmd, sizeof(char), (int) nbytes, dvi_file);
|> ***************
|> *** 450,459 ****
|>   				break;
|>   
|>   			    case SETRULE:
|> ! 				a = spellfour(dvi_file);
|>   				b = spellfour(dvi_file);
|> ! 				if (a > 0  &&  b > 0)
|> ! 				    set_rule(pixel_round(a), pixel_round(b));
|>   				DVI_H += b;
|>   				break;
|>   
|> --- 447,460 ----
|>   				break;
|>   
|>   			    case SETRULE:
|> ! 				/* Be careful, dvicopy outputs rules with
|> ! 				   height = 0x80000000.  We don't want any
|> ! 				   SIGFPE here. */
|> ! 				a = sfour(dvi_file);
|>   				b = spellfour(dvi_file);
|> ! 				if (a > 0 && b > 0)
|> ! 				    set_rule(pixel_round((long) a * fraction),
|> ! 					pixel_round(b));
|>   				DVI_H += b;
|>   				break;
|>   
|> diff -cr old/dvi_init.c new/dvi_init.c
|> *** old/dvi_init.c	Sun Oct 21 14:47:06 1990
|> --- new/dvi_init.c	Sat Feb  2 16:52:32 1991
|> ***************
|> *** 65,71 ****
|>    * DVI preamble and postamble information.
|>    */
|>   int	current_page;
|> ! Boolean	spec_warn_now;
|>   int	total_pages;
|>   double	fraction;
|>   int	maxstack;
|> --- 65,71 ----
|>    * DVI preamble and postamble information.
|>    */
|>   int	current_page;
|> ! Boolean	hush_spec_now;
|>   int	total_pages;
|>   double	fraction;
|>   int	maxstack;
|> ***************
|> *** 91,96 ****
|> --- 91,113 ----
|>   FILE	*pxl_open();
|>   
|>   /*
|> +  *	General (program-wide) utility routines.
|> +  */
|> + 
|> + char *
|> + xmalloc(size, why)
|> + 	unsigned size;
|> + 	char	*why;
|> + {
|> + 	char *mem = malloc(size);
|> + 
|> + 	if (mem == NULL)
|> + 	    oops("! Cannot allocate %u bytes for %s.\n", size, why);
|> + 	return mem;
|> + }
|> + 
|> + 
|> + /*
|>    *      define_font reads the rest of the fntdef command and then reads in
|>    *      the specified pixel file, adding it to the global linked-list holding
|>    *      all of the fonts used in the job.
|> ***************
|> *** 107,121 ****
|>   	int design;
|>   	int size;
|>   
|> ! 	fontp = (struct font *) malloc((unsigned) sizeof(struct font));
|> ! 	if (fontp == NULL)
|> ! 		oops("Can't allocate memory for font");
|>   	fontp->TeXnumber = num(dvi_file, (ubyte) cmnd - FNTDEF1 + 1);
|>   	(void) four(dvi_file);	/* checksum */
|>   	fontp->scale = four(dvi_file);
|>   	design = four(dvi_file);
|>   	len = one(dvi_file) + one(dvi_file);
|> ! 	fontp->fontname = malloc((unsigned) len + 1);
|>   	Fread(fontp->fontname, sizeof(char), len, dvi_file);
|>   	fontp->fontname[len] = '\0';
|>   	if(debug & DBG_PK)
|> --- 124,137 ----
|>   	int design;
|>   	int size;
|>   
|> ! 	fontp = (struct font *) xmalloc((unsigned) sizeof(struct font),
|> ! 	    "font structure");
|>   	fontp->TeXnumber = num(dvi_file, (ubyte) cmnd - FNTDEF1 + 1);
|>   	(void) four(dvi_file);	/* checksum */
|>   	fontp->scale = four(dvi_file);
|>   	design = four(dvi_file);
|>   	len = one(dvi_file) + one(dvi_file);
|> ! 	fontp->fontname = xmalloc((unsigned) len + 1, "font name");
|>   	Fread(fontp->fontname, sizeof(char), len, dvi_file);
|>   	fontp->fontname[len] = '\0';
|>   	if(debug & DBG_PK)
|> ***************
|> *** 130,136 ****
|>   	 */
|>   	for (;;) {
|>   	    fontp1 = *fontpp;
|> ! 	    if (fontp1 == NULL) {
|>   		read_font_index_proc read_font_index;
|>   		char	*font_found;
|>   		int	size_found;
|> --- 146,152 ----
|>   	 */
|>   	for (;;) {
|>   	    fontp1 = *fontpp;
|> ! 	    if (fontp1 == NULL) {		/* if font not already loaded */
|>   		read_font_index_proc read_font_index;
|>   		char	*font_found;
|>   		int	size_found;
|> ***************
|> *** 140,146 ****
|>   		if (n_fonts_left == 0)
|>   		    close_a_file();
|>   		fontp->file = pxl_open(fontp->fontname, &font_found,
|> ! 		    fsize, &size_found, &fontp->factor, &fontp->filename);
|>   		if (fontp->file == NULL) {
|>   		    Fprintf(stderr, "Can't find font %s.\n", fontp->fontname);
|>   		    font_not_found = True;
|> --- 156,162 ----
|>   		if (n_fonts_left == 0)
|>   		    close_a_file();
|>   		fontp->file = pxl_open(fontp->fontname, &font_found,
|> ! 		    fsize, &size_found, &fontp->filename);
|>   		if (fontp->file == NULL) {
|>   		    Fprintf(stderr, "Can't find font %s.\n", fontp->fontname);
|>   		    font_not_found = True;
|> ***************
|> *** 159,165 ****
|>   		    Fprintf(stderr,
|>   			"Can't find font %s at %d dpi; using %d dpi instead.\n",
|>   			fontp->fontname, dpi, (size_found + 2) / 5);
|> - 		fontp->factor = fontp->factor * fsize / size_found;
|>   		maxchar = 255;
|>   		magic = two(fontp->file);
|>   		if (magic == GF_MAGIC) read_font_index = read_GF_index;
|> --- 175,180 ----
|> ***************
|> *** 182,187 ****
|> --- 197,203 ----
|>   	    if (strcmp(fontp->fontname, fontp1->fontname) == 0
|>   		    && size == fontp1->size) {
|>   		*fontpp = fontp1->next;
|> + 		fontp1->TeXnumber = fontp->TeXnumber;
|>   		free(fontp->fontname);
|>   		free((char *) fontp);
|>   		fontp = fontp1;
|> ***************
|> *** 339,351 ****
|>   	int i;
|>   
|>           stack = (struct frame *)
|> ! 		malloc((unsigned) sizeof(struct frame) * (maxstack+1));
|> !         if (stack == NULL)
|> ! 		oops("Can't allocate stack space (%d frames)", maxstack);
|> ! 	page_offset = (long *) malloc((unsigned) total_pages * sizeof(long));
|> !         if (page_offset == NULL)
|> ! 		oops("Can't allocate page directory (%d pages)",
|> ! 			total_pages);
|>   	i = total_pages;
|>   	page_offset[--i] = last_page_offset;
|>   	Fseek(dvi_file, last_page_offset, 0);
|> --- 355,364 ----
|>   	int i;
|>   
|>           stack = (struct frame *)
|> ! 	    xmalloc((unsigned) sizeof(struct frame) * (maxstack+1),
|> ! 	    "stack frame");
|> ! 	page_offset = (long *) xmalloc((unsigned) total_pages * sizeof(long),
|> ! 	    "page directory");
|>   	i = total_pages;
|>   	page_offset[--i] = last_page_offset;
|>   	Fseek(dvi_file, last_page_offset, 0);
|> ***************
|> *** 380,386 ****
|>   	prepare_pages();
|>   	init_page();
|>   	if (current_page >= total_pages) current_page = total_pages - 1;
|> ! 	spec_warn_now = spec_warn;
|>   }
|>   
|>   /**
|> --- 393,399 ----
|>   	prepare_pages();
|>   	init_page();
|>   	if (current_page >= total_pages) current_page = total_pages - 1;
|> ! 	hush_spec_now = hush_spec;
|>   }
|>   
|>   /**
|> ***************
|> *** 400,406 ****
|>   			perror(dvi_name);
|>   			exit(1);
|>   		}
|> ! 		dvi_name = malloc((unsigned) n + sizeof(".dvi"));
|>   		Sprintf(dvi_name, "%s.dvi", file);
|>   		if ((dvi_file = fopen(dvi_name, OPEN_MODE)) == NULL) {
|>   			perror(dvi_name);
|> --- 413,420 ----
|>   			perror(dvi_name);
|>   			exit(1);
|>   		}
|> ! 		dvi_name = xmalloc((unsigned) n + sizeof(".dvi"),
|> ! 		    "dvi file name");
|>   		Sprintf(dvi_name, "%s.dvi", file);
|>   		if ((dvi_file = fopen(dvi_name, OPEN_MODE)) == NULL) {
|>   			perror(dvi_name);
|> diff -cr old/gf.c new/gf.c
|> *** old/gf.c	Sun Oct 21 14:47:12 1990
|> --- new/gf.c	Tue Nov 13 13:31:41 1990
|> ***************
|> *** 99,106 ****
|>   	(void) four(GF_file);		/* skip checksum */
|>   	hppp = sfour(GF_file);
|>   	vppp = sfour(GF_file);
|> ! 	if (debug && hppp != vppp)
|> ! 	    oops("Warning: aspect ratio not 1:1 for font %s", fontp->fontname);
|>   	(void) four(GF_file);		/* skip min_m */
|>   	(void) four(GF_file);		/* skip max_m */
|>   	(void) four(GF_file);		/* skip min_n */
|> --- 99,106 ----
|>   	(void) four(GF_file);		/* skip checksum */
|>   	hppp = sfour(GF_file);
|>   	vppp = sfour(GF_file);
|> ! 	if (hppp != vppp && (debug & DBG_PK))
|> ! 	    Printf("Font has non-square aspect ratio %d:%d\n", vppp, hppp);
|>   	(void) four(GF_file);		/* skip min_m */
|>   	(void) four(GF_file);		/* skip max_m */
|>   	(void) four(GF_file);		/* skip min_n */
|> ***************
|> *** 124,140 ****
|>   	    g = &fontp->glyph[ch];
|>   	    switch (cmnd) {
|>   		case CHAR_LOC:
|> ! 		    g->dvi_adv = sfour(GF_file);
|>   		    (void) four(GF_file);	/* skip dy */
|>   		    break;
|>   		case CHAR_LOC0:
|> ! 		    g->dvi_adv = one(GF_file) << 16;
|>   		    break;
|>   		default:
|>   		    oops("Non-char_loc command found in GF preamble:  %d",
|>   			cmnd);
|>   	    }
|> ! 	    (void) four(GF_file);		/* skip width */
|>   	    addr = four(GF_file);
|>   	    if (addr != -1) g->addr = addr;
|>   	    if (debug & DBG_PK)
|> --- 124,142 ----
|>   	    g = &fontp->glyph[ch];
|>   	    switch (cmnd) {
|>   		case CHAR_LOC:
|> ! 		    /* g->pxl_adv = sfour(GF_file); */
|> ! 		    (void) four(GF_file);
|>   		    (void) four(GF_file);	/* skip dy */
|>   		    break;
|>   		case CHAR_LOC0:
|> ! 		    /* g->pxl_adv = one(GF_file) << 16; */
|> ! 		    (void) one(GF_file);
|>   		    break;
|>   		default:
|>   		    oops("Non-char_loc command found in GF preamble:  %d",
|>   			cmnd);
|>   	    }
|> ! 	    g->dvi_adv = ((double) fontp->scale * sfour(GF_file)) / (1 << 20);
|>   	    addr = four(GF_file);
|>   	    if (addr != -1) g->addr = addr;
|>   	    if (debug & DBG_PK)
|> ***************
|> *** 208,214 ****
|>   	    Printf(", size=%dx%d, dvi_adv=%d\n", g->bitmap.w, g->bitmap.h,
|>   		g->dvi_adv);
|>   
|> ! 	alloc_bitmap(&g->bitmap, fontp->fontname, ch);
|>   	cp = basep = (BMUNIT *) g->bitmap.bits;
|>   /*
|>    *	Read character data into *basep
|> --- 210,216 ----
|>   	    Printf(", size=%dx%d, dvi_adv=%d\n", g->bitmap.w, g->bitmap.h,
|>   		g->dvi_adv);
|>   
|> ! 	alloc_bitmap(&g->bitmap);
|>   	cp = basep = (BMUNIT *) g->bitmap.bits;
|>   /*
|>    *	Read character data into *basep
|> diff -cr old/mksedscript new/mksedscript
|> *** old/mksedscript	Sun Oct 21 14:47:14 1990
|> --- new/mksedscript	Sat Feb  2 15:42:44 1991
|> ***************
|> *** 5,10 ****
|> --- 5,11 ----
|>   	if ($x == -DX10)	set x10
|>   	if ($x == -DBUTTONS)	set buttons
|>   	if ($x == -DA4)		set a4
|> + 	if ($x == -DSEARCH_SUBDIRECTORIES) set subdir
|>   end
|>   if ($?x10) then
|>   	echo	/^\#ifx11/,/^\#/d
|> ***************
|> *** 14,19 ****
|> --- 15,21 ----
|>   	echo	s/%%dot%%/./
|>   endif
|>   if (! $?buttons)	echo /^\#ifbuttons/,/^\#/d
|> + if (! $?subdir)		echo /^\#ifsubdir/,/^\#/d
|>   echo	/^\#/d
|>   if ($?a4) then
|>   	echo	's/%%defaultpagesize%%/21 x 29.7 cm (A4 size)/'
|> ***************
|> *** 20,24 ****
|>   else
|>   	echo	s/%%defaultpagesize%%/8.5 x 11 inches/
|>   endif
|> ! echo	s\;%%DEFAULT_FONT_PATH%%\;$1\;
|> ! echo	s/%%DEFAULT_FONT_SIZES%%/$2/
|> --- 22,30 ----
|>   else
|>   	echo	s/%%defaultpagesize%%/8.5 x 11 inches/
|>   endif
|> ! echo	"s@%%DEFAULT_FONT_PATH%%@.TP\\
|> ! $1@" | sed -e "s@:@\\\\
|> ! .TP\\\\
|> ! @g"
|> ! echo	s/%%DEFAULT_FONT_SIZES%%/$2/ | sed -e "s/:/ :\\\\
|> ! /g"
|> diff -cr old/patchlevel.h new/patchlevel.h
|> *** old/patchlevel.h	Sun Oct 21 14:47:16 1990
|> --- new/patchlevel.h	Wed Dec 12 16:30:04 1990
|> ***************
|> *** 1 ****
|> ! #define PATCHLEVEL 10
|> --- 1 ----
|> ! #define PATCHLEVEL 11
|> diff -cr old/pk.c new/pk.c
|> *** old/pk.c	Sun Oct 21 14:47:21 1990
|> --- new/pk.c	Sat Nov 10 17:28:28 1990
|> ***************
|> *** 134,142 ****
|>     (void) four(fontp->file);		/* skip checksum */
|>     hppp = sfour(fontp->file);
|>     vppp = sfour(fontp->file);
|> !   if( debug && hppp != vppp )
|> !     Fprintf(stderr, "Warning: aspect ratio not 1:1 for font %s\n",
|> !       fontp->fontname);
|>     /*fontp->f_scale = (int)((((float) hppp * 72.27) / (float) 65536) + 0.5);*/
|>   
|>     /*if (fontp->f_scale == 0) fontp->f_scale = 1000;*/
|> --- 134,141 ----
|>     (void) four(fontp->file);		/* skip checksum */
|>     hppp = sfour(fontp->file);
|>     vppp = sfour(fontp->file);
|> !   if (hppp != vppp && (debug & DBG_PK))
|> !     Printf("Font has non-square aspect ratio %d:%d\n", vppp, hppp);
|>     /*fontp->f_scale = (int)((((float) hppp * 72.27) / (float) 65536) + 0.5);*/
|>   
|>     /*if (fontp->f_scale == 0) fontp->f_scale = 1000;*/
|> ***************
|> *** 233,239 ****
|>   	Putchar('\n');
|>       }
|>   
|> !     alloc_bitmap(&g->bitmap, fontp->fontname, ch);
|>       cp = (BMUNIT *) g->bitmap.bits;
|>   /*
|>    * read character data into *cp
|> --- 232,238 ----
|>   	Putchar('\n');
|>       }
|>   
|> !     alloc_bitmap(&g->bitmap);
|>       cp = (BMUNIT *) g->bitmap.bits;
|>   /*
|>    * read character data into *cp
|> diff -cr old/pxl.c new/pxl.c
|> *** old/pxl.c	Sun Oct 21 14:47:28 1990
|> --- new/pxl.c	Sat Nov 10 17:28:34 1990
|> ***************
|> *** 131,137 ****
|>   
|>   	bitmap = &fontp->glyph[ch].bitmap;
|>   		/* in file, bitmap rows are multiples of 32 bits wide */
|> ! 	alloc_bitmap(bitmap, fontp->fontname, ch);
|>   	ptr = (BMUNIT *) bitmap->bits;
|>   #ifndef	BMLONG
|>   	padding_length = 3 - (bitmap->bytes_wide + 3) % 4;
|> --- 131,137 ----
|>   
|>   	bitmap = &fontp->glyph[ch].bitmap;
|>   		/* in file, bitmap rows are multiples of 32 bits wide */
|> ! 	alloc_bitmap(bitmap);
|>   	ptr = (BMUNIT *) bitmap->bits;
|>   #ifndef	BMLONG
|>   	padding_length = 3 - (bitmap->bytes_wide + 3) % 4;
|> --
|> Dan Heller
|> ------------------------------------------------
|> O'Reilly && Associates 		      Zyrcom Inc
|> Senior Writer			       President
|> argv@ora.com			argv@zipcode.com

-- 
Jonathan Kamens			              USnail:
MIT Project Athena				11 Ashford Terrace
jik@Athena.MIT.EDU				Allston, MA  02134
Office: 617-253-8085			      Home: 617-782-0710

home help back first fref pref prev next nref lref last post