[tex-live] dvips for windows behaviour
Akira Kakuto
kakuto at fsci.fuk.kindai.ac.jp
Wed Nov 28 13:24:54 CET 2007
Hi Siep Kroonenberg,
> > > > dvips sample2e
> > > > dvips -l2 sample2e
> > > > dvips -p2 -l3 sample2e
> > > >
> > > > The first two commands work as expected. The third one gives
> > > >
> > > > dvips: ! DVI file contains unexpected Omega command (121)
> > >
> > > I can reproduce this under Windows 2000.
> >
> > The default of dvips (w32) is "-noomega" and
> > dvips (w32) has a switch -noomega0, namely,
> >
> > dvips (Unix) == dvips -noomega0 (w32)
> > dvips -noomega (Unix) == dvips (w32)
> >
> > Please try
> > dvips -noomega0 -p2 -l3 sample2e
> > or
> > odvips -p2 -l3 sample2e
>
> Both work.
>
> > PS: I don't understand why "dvips -p2 -l3 sample2e"
> > requires omega extension.
>
> Me neither.
If I use the following changes,
dvips -p2 -l3 sample2e
naturally works. Do the changes break something?
Thanks,
Akira
--- skippage.c.orig Wed Jan 18 06:41:52 2006
+++ skippage.c Wed Nov 28 21:09:52 2007
@@ -26,7 +26,7 @@
void
skippage P1H(void)
{
- register shalfword cmd ;
+ register shalfword cmd, cmdsave ;
register integer i ;
#ifdef DEBUG
@@ -39,7 +39,7 @@
#endif /* DEBUG */
/* skipover(40) ; skip rest of bop command? how did this get in here? */
bopcolor(0) ;
- while ((cmd=dvibyte())!=140) {
+ while ((cmd=cmdsave=dvibyte())!=140) {
switch (cmd) {
/* illegal options */
case 130: case 131: case 135: case 136: case 139:
@@ -62,11 +62,13 @@
cmd = dvibyte() ;
/* two byte commands */
case 129: case 134:
+ if (cmdsave == 129 || cmdsave == 134) {
if (noomega) {
(void)sprintf(errbuf,
"! DVI file contains unexpected Omega command (%d)",cmd) ;
error(errbuf) ;
}
+ }
case 144: case 149: case 154: case 158: case 163: case 168: case 236:
cmd = dvibyte() ;
/* one byte commands */
More information about the tex-live
mailing list