[tex-k] dvipsk

Peter Breitenlohner peb at mppmu.mpg.de
Tue Jan 25 11:01:21 CET 2005


On Mon, 24 Jan 2005, Tomas G. Rokicki wrote:

> ....  Note in this release that I also *enabled* the
> changes by default; that is, dvipsk and odvipsk are the same
> binary, and dvipsk is omega-enabled.

That would imply to completely remove odvipsk. Right?

A. Attached one more (I hope final) patch "patch-06", starting with:

 	Here one more patch, to be applied to dvipsk-5.95 as
 	in tetex-src-2.99.10.20050123-beta.tar.gz.

 	Here some comments (everything not mentioned should be trivial):

 	1. Makefile.in, dvips.help: Since dvips.help is @verbatiminclude'd,
 	one should not replace '@' => '@@' (unless one wants to
 	see "Email bug reports to tex-k@@mail.tug.org.").

 	2. dvips.texi: I have added a paragraph for '-noomega', essentially
 	a copy of the text in the manpage.

 	I didn't succeeded to rebuild dvips.info, but the generated
 	dvips.dvi looks fine.

BTW: what is add-info-toc?

 	3. tfmload.c: as noted by Akira Kakuto, I had forgotten to set
 	curfnt->maxchars. I have move the instruction you (tgr?) have inserted
 	to the point where the array is realloced and gave it the right value,
 	i.e., the size of the chardesc array.

B. Would it be possible to produce an up-to-date version of
testdata/dvipstst.xps. Running "make check" produces so many differences
that it is difficult to decide which are legitimate and which are bugs.

regards
Peter Breitenlohner <peb at mppmu.mpg.de>
-------------- next part --------------
	Here one more patch, to be applied to dvipsk-5.95 as
	in tetex-src-2.99.10.20050123-beta.tar.gz.

	Here some comments (everything not mentioned should be trivial):

	1. Makefile.in, dvips.help: Since dvips.help is @verbatiminclude'd,
	one should not replace '@' => '@@' (unless one wants to
	see "Email bug reports to tex-k@@mail.tug.org.").

	2. dvips.texi: I have added a paragraph for '-noomega', essentially
	a copy of the text in the manpage.

	I didn't succeeded to rebuild dvips.info, but the generated
	dvips.dvi looks fine.

	3. tfmload.c: as noted by Akira Kakuto, I had forgotten to set
	curfnt->maxchars. I have move the instruction you (tgr?) have inserted
	to the point where the array is realloced and gave it the right value,
	i.e., the size of the chardesc array.

diff -ur dvipsk-5.95.orig/texk/dvipsk/Makefile.in dvipsk-5.95/texk/dvipsk/Makefile.in
--- dvipsk-5.95.orig/texk/dvipsk/Makefile.in	2005-01-23 07:47:14.000000000 +0100
+++ dvipsk-5.95/texk/dvipsk/Makefile.in	2005-01-24 22:40:48.000000000 +0100
@@ -165,7 +165,7 @@
 @MAINT@	add-info-toc $@
 @MAINT@$(program).info: dvips.help
 @MAINT at dvips.help: dvips.c
- at MAINT@	./dvips --help | sed s/@/@@/g >$@
+ at MAINT@	./dvips --help >$@
 @MAINT at doc: info INSTALL
 
 ac_include ../make/clean.mk
diff -ur dvipsk-5.95.orig/texk/dvipsk/dvips.c dvipsk-5.95/texk/dvipsk/dvips.c
--- dvipsk-5.95.orig/texk/dvipsk/dvips.c	2005-01-22 21:55:57.000000000 +0100
+++ dvipsk-5.95/texk/dvipsk/dvips.c	2005-01-24 21:00:32.000000000 +0100
@@ -238,16 +238,6 @@
 #endif /* not IGNORE_CWD */
 
 static char *helparr[] = {
-#ifdef Omega
-#ifndef VMCMS
-"Usage: odvips [OPTION]... FILENAME[.dvi]",
-#else
-"    VM/CMS Usage:",
-"           odvips fname [ftype [fmode]] [options]",
-"or",
-"           odvips fname[.ftype[.fmode]] [options]",
-#endif
-#else
 #ifndef VMCMS
 "Usage: dvips [OPTION]... FILENAME[.dvi]",
 #else
@@ -256,7 +246,6 @@
 "or",
 "           dvips fname[.ftype[.fmode]] [options]",
 #endif
-#endif /* Omega */
 "a*  Conserve memory, not time      A   Print only odd (TeX) pages      ",
 "b # Page copies, for posters e.g.  B   Print only even (TeX) pages     ",
 "c # Uncollated copies              C # Collated copies                 ",
@@ -274,9 +263,7 @@
 "m*  Manual feed                    M*  Don't make fonts                ",
 "mode s Metafont device name                                            ",
 "n # Maximum number of pages        N*  No structured comments          ",
-#if 0
 "noomega  Disable Omega extensions                                      ",
-#endif
 "o f Output file                    O c Set/change paper offset         ",
 #if defined(MSDOS) || defined(OS2)
 "p # First page                     P s Load $s.cfg                     ",
diff -ur dvipsk-5.95.orig/texk/dvipsk/dvips.h dvipsk-5.95/texk/dvipsk/dvips.h
--- dvipsk-5.95.orig/texk/dvipsk/dvips.h	2005-01-22 19:46:45.000000000 +0100
+++ dvipsk-5.95/texk/dvipsk/dvips.h	2005-01-24 20:59:34.000000000 +0100
@@ -11,13 +11,8 @@
 
 /*   This file is the header for dvips's global data structures. */
 
-#ifdef Omega
-#define BANNER \
-"This is (Omega) odvips(k) 5.95 Copyright 2005 Radical Eye Software"
-#else
 #define BANNER \
 "This is dvips(k) 5.95 Copyright 2005 Radical Eye Software"
-#endif
 #define BANNER2 "(www.radicaleye.com)"
 #ifdef KPATHSEA
 #include "config.h"
diff -ur dvipsk-5.95.orig/texk/dvipsk/dvips.help dvipsk-5.95/texk/dvipsk/dvips.help
--- dvipsk-5.95.orig/texk/dvipsk/dvips.help	2005-01-23 07:55:44.000000000 +0100
+++ dvipsk-5.95/texk/dvipsk/dvips.help	2005-01-24 21:37:20.000000000 +0100
@@ -14,6 +14,7 @@
 m*  Manual feed                    M*  Don't make fonts                
 mode s Metafont device name                                            
 n # Maximum number of pages        N*  No structured comments          
+noomega  Disable Omega extensions                                      
 o f Output file                    O c Set/change paper offset         
 p # First page                     P s Load config.$s                  
 pp l Print only pages listed                                           
@@ -30,4 +31,4 @@
     c = comma-separated dimension pair (e.g., 3.2in,-32.1cm)           
     l = comma-separated list of page ranges (e.g., 1-4,7-9)            
 
-Email bug reports to tex-k@@mail.tug.org.
+Email bug reports to tex-k at mail.tug.org.
diff -ur dvipsk-5.95.orig/texk/dvipsk/dvips.texi dvipsk-5.95/texk/dvipsk/dvips.texi
--- dvipsk-5.95.orig/texk/dvipsk/dvips.texi	2005-01-16 15:34:28.000000000 +0100
+++ dvipsk-5.95/texk/dvipsk/dvips.texi	2005-01-24 22:36:27.000000000 +0100
@@ -904,6 +904,20 @@
 Beware: This also disables page movement, etc., in PostScript viewers
 such as Ghostview.
 
+ at item -noomega
+ at opindex -noomega
+ at cindex Omega extensions
+This will disable the use of Omega extensions when interpreting DVI files.
+By default, the additional opcodes @samp{129} and @samp{134} are recognized
+by Dvips as Omega extensions and interpreted as requests to set 2-byte
+characters. The only drawback is that the virtual font array will (at least
+temporarily) require 65536 positions instead of the default 256 positions,
+i.e., the memory requirements of Dvips will be slightly larger. If you find
+this unacceptable or encounter another problem with the Omega extensions,
+you can switch this extension off by using @samp{-noomega} (but please do
+send a bug report if you find such problems, @pxref{Bugs,,, kpathsea,
+Kpathsea}).
+
 @item -o @var{name}
 @opindex -o @var{name}
 @cindex output, redirecting
diff -ur dvipsk-5.95.orig/texk/dvipsk/tfmload.c dvipsk-5.95/texk/dvipsk/tfmload.c
--- dvipsk-5.95.orig/texk/dvipsk/tfmload.c	2005-01-22 21:57:32.000000000 +0100
+++ dvipsk-5.95/texk/dvipsk/tfmload.c	2005-01-24 21:20:17.000000000 +0100
@@ -147,7 +147,6 @@
          npc = tfm32() ;
          for (i=0; i<12; i++) li=tfm32();
       }
-      curfnt->maxchars = 65536 ;
    }
    li = tfm32() ;
    check_checksum (li, curfnt->checksum, curfnt->name);
@@ -159,9 +158,11 @@
    }
    pretend_no_chars=ec+1 ;
    if (pretend_no_chars<256) pretend_no_chars=256 ;
-   else
+   else {
       curfnt->chardesc = (chardesctype *)
          xrealloc(curfnt->chardesc, sizeof(chardesctype)*pretend_no_chars) ;
+      curfnt->maxchars = pretend_no_chars ;
+   }
    for (i=2; i<((font_level==1)?nco-29:hd); i++)
       li = tfm32() ;
    chardat = (integer *) xmalloc(pretend_no_chars*sizeof(integer)) ;


More information about the tex-k mailing list