lout-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in /LoutStartEPSF?


From: Mauro Baso
Subject: Bug in /LoutStartEPSF?
Date: Thu, 29 Mar 2007 16:30:45 +0200

I've just upgraded from lout 3.30 to 3.34 and found that my @IncludeGraphicRepeated doesn't work any more (viewing result ps with GSVIEW32.ex 4.8 on AFPL GhostScript 8.53). So, looking for differences I've found the problem in /LoutStartEPSF and /LoutEPSFCleanUp (in z49.c).

I've reverted to 3.30 code so:

  p0("/PreEPSF_state 0 def");
  p0("/dict_stack 0 def");
  p0("/ops_count 0 def");

  p0("/LoutStartEPSF { % prepare for EPSF inclusion");
  p0("  /PreEPSF_state save def");
  p0("  /dict_stack countdictstack def");
  p0("  /ops_count count 1 sub def");
  p0("  20 dict begin");
  p0("  /showpage {} def");
  p0("  0 setgray 0 setlinecap");
  p0("  1 setlinewidth 0 setlinejoin");
  p0("  10 setmiterlimit [] 0 setdash newpath");
  p0("  /languagelevel where");
  p0("  { pop languagelevel");
  p0("    1 ne");
  p0("    { false setstrokeadjust false setoverprint");
  p0("    } if");
  p0("  } if");
  p0("} bind def");
  pnl;
  p0("/LoutEPSFCleanUp { % clean up after EPSF inclusion");
  p0("  count ops_count sub { pop } repeat");
  p0("  countdictstack dict_stack sub { end } repeat");
  p0("  PreEPSF_state restore");
  p0("} bind def");
  pnl;

become:

  p0("/LoutStartEPSF { % prepare for EPSF inclusion");
  p0("  userdict begin"); 
  p0("    /PreEPSF_state save def");
  p0("    /dict_stack countdictstack def");
  p0("    /ops_count count 1 sub def");
  p0("    /showpage {} def");
  p0("    0 setgray 0 setlinecap");
  p0("    1 setlinewidth 0 setlinejoin");
  p0("    10 setmiterlimit [] 0 setdash newpath");
  p0("    /languagelevel where");
  p0("    { pop languagelevel");
  p0("      1 ne");
  p0("      { false setstrokeadjust false setoverprint");
  p0("      } if");
  p0("    } if");
  p0("  } bind def");
  pnl;
  p0("/LoutEPSFCleanUp { % clean up after EPSF inclusion");
  p0("    count ops_count sub { pop } repeat");
  p0("    countdictstack dict_stack sub { end } repeat");
  p0("    PreEPSF_state restore");
  p0("  end % userdict ");
  p0("} bind def");
  pnl;

All works correctly...

Maybe some mistake trying to safe EPS inclusion?

Thanks a lot, Mauro.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]