🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.ghostscript.bug
Article #312

GS 2.5 vs. HP DeskJet 500

#312
From: John T Kohl
Date: Fri, 21 Aug 1992 17:26
76 lines
3263 bytes
I picked up GhostScript 2.5 yesterday, and the DeskJet 500 driver seems
to have introduced a couple problems.

(1) Vertical lines may disappear.  [I see the problem easily with text
set in 11pt Computer Modern (set with dvips from LaTeX output); notice
that the descenders of "p" and "q" seem to be missing, except for the
serifs!].

This problem can be cured by reverting to the old way (gs241) of switching
between mode 2 and mode 3 compression  (the comments by the code that
uses these switch strings implies that PCL requires a graphics mode
end/start to switch compression modes; my HP DeskJet 500 works properly
*without* that switch, and fails *with* it):

*** /tmp/T0003796	Fri Aug 21 07:46:52 1992
--- gs25/gdevdjet.c	Thu Aug 20 23:47:03 1992
***************
*** 239,249 ****
--- 239,257 ----
  	int y_dots_per_pixel = Y_DPI_MAX / pdev->y_pixels_per_inch;
  	int out_count;
  	int compression = -1;
+ #if 0
  	static const char from2to3[] = "\033*rB\033*r1A\033*b3m";
  	int penalty_from2to3 = strlen(from2to3);
  	static const char from3to2[] = "\033*rB\033*r1A\033*b2m";
  	int penalty_from3to2 = strlen(from3to2);
  	int paper_size = gdev_pcl_paper_size((gx_device *)pdev);
+ #else
+ 	static const char from2to3[] = "\033*b3M";
+ 	int penalty_from2to3 = strlen(from2to3);
+ 	static const char from3to2[] = "\033*b2M";
+ 	int penalty_from3to2 = strlen(from3to2);
+ 	int paper_size = gdev_pcl_paper_size((gx_device *)pdev);
+ #endif
  
  	if ( storage == 0 )	/* can't allocate working area */
  		return_error(gs_error_VMerror);


[[ I also wonder whether the change strings should end with \033*b2M
(capital M) rather than lowercase; testing that change failed to make
the descenders reappear ]]

(2)  The margins are screwed up for the DeskJet 500.  For letter-sized
paper, the top margin on the DeskJet 500 with perforation skip turned
off is 0 (according to my manual), not 0.40!

Again, reverting to the margins used in gs241 makes this problem go
away.  [Although I wonder whether the original DeskJet really does have
such a large top margin?]:

*** /tmp/T0003796	Fri Aug 21 07:46:52 1992
--- gdevdjet.c	Thu Aug 20 23:47:03 1992
***************
*** 58,64 ****
   */
  
  /* Margins are left, bottom, right, top. */
! #define DESKJET_MARGINS_LETTER	0.25, 0.40, 0.25, 0.40
  #define DESKJET_MARGINS_A4	0.15, 0.40, 0.15, 0.05
  
  #ifndef A4
--- 58,64 ----
   */
  
  /* Margins are left, bottom, right, top. */
! #define DESKJET_MARGINS_LETTER	0.25, 0.50, 0.25, 0.0625
  #define DESKJET_MARGINS_A4	0.15, 0.40, 0.15, 0.05
  
  #ifndef A4
--
John Kohl <jtkohl@cs.berkeley.edu>
UC Berkeley CS grad student
Member of the League for Programming Freedom--details: league@prep.ai.mit.edu
(The above opinions are MINE.  Don't put my words in somebody else's mouth!)
Technical Details
Message-ID: <1738vgINNjph@agate.berkeley.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!cs.berkeley.edu!jtkohl

Show Full Headers
Complete Article Headers
Newsgroups: gnu.ghostscript.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!cs.berkeley.edu!jtkohl
From: jtkohl@cs.berkeley.edu (John T Kohl)
Subject: GS 2.5 vs. HP DeskJet 500
Message-ID: <1738vgINNjph@agate.berkeley.edu>
Sender: gnulists@ai.mit.edu
Organization: University of California, Berkeley
Distribution: gnu
Date: Fri, 21 Aug 1992 17:26:08 GMT
Approved: bug-ghostscript@prep.ai.mit.edu
Lines: 77