public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Re: printing from within Cygwin
@ 2002-08-30 19:23 Fred_Smith
  2002-08-31  0:19 ` Jim George
  0 siblings, 1 reply; 26+ messages in thread
From: Fred_Smith @ 2002-08-30 19:23 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2334 bytes --]

Igor:

Thanks for all the info! I'll review it all next week after the holiday.

I see you work at Watson labs,... do you by any chance know my brother
(David N. Smith) ???

Thanks again!

Fred




Igor Pechtchanski <pechtcha@cs.nyu.edu> on 08/30/2002 05:59:39 PM

Please respond to cygwin@cygwin.com

To:   Fred Smith/Computrition
cc:   cygwin@cygwin.com
Subject:  Re: printing from within Cygwin




On Fri, 30 Aug 2002 Fred_Smith@computrition.com wrote:
> Trying to figure out how to print from a Cywin (console) app.
>
> Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to
a
> shellscript which in turn cats its input to lpr (it may do other things,
> and may transform the data, but that's the ultimate goal).
>
> trying to figure out how to do something akin to that under cygwin.
>
> Invoking "lpr <filename>" at the command prompt comes back with an error
> message:
>
>      can't open 'prn' for writing.
>
> Advice would be appreciated. (I hope you're not going to tell me I need
to
> learn all about the innards of windoze printing!)
>
> Thanks!
> Fred
No, learning the innards of "windoze" printing is not necessary.  Learning
ghostscript options, however, wouldn't hurt. ;-)
I have been using the attached script for a while.  It works on my current
system (Win2k with gs7.03 installed).  Note the disabled support for
gsprint -- I couldn't get it to work properly.  If anyone can get the
gsprint part to work, please let me know.
I also had to tweak the standard gslp.ps that comes with ghostscript to
allow printing standard input properly (modified script attached).  My
copy of gslp.ps is in /usr/local/bin, and the script expects to find it
there.
The -P option and the $PRINTER variable will recognize windows printer
names (spaces and all).  'ware of the backslashes...  Use the -Q option to
select the printer using the windows printer selection dialog.
     Igor
--
                    http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_      pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_       igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'      Igor Pechtchanski
    '---''(_/--'  `-'\_) fL   a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
It took the computational power of three Commodore 64s to fly to the moon.
It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file


[-- Attachment #2: gslp.ps --]
[-- Type: text/plain, Size: 21228 bytes --]

%    Copyright (C) 1991, 1995, 1996, 1997, 1998, 1999 Aladdin Enterprises.  All rights reserved.
% 
% This file is part of AFPL Ghostscript.
% 
% AFPL Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author or
% distributor accepts any responsibility for the consequences of using it, or
% for whether it serves any particular purpose or works at all, unless he or
% she says so in writing.  Refer to the Aladdin Free Public License (the
% "License") for full details.
% 
% Every copy of AFPL Ghostscript must include a copy of the License, normally
% in a plain ASCII text file named PUBLIC.  The License grants you the right
% to copy, modify and redistribute AFPL Ghostscript, but only under certain
% conditions described in the License.  Among other things, the License
% requires that the copyright notice and this notice be preserved on all
% copies.

% $Id: gslp.ps,v 1.2 2000/09/19 18:29:11 lpd Exp $
% gslp.ps - format and print text

% This utility provides functionality approximately equivalent to the Unix
% `enscript' program.  It prints plain text files using a single font.
% It currently handles tabs and formfeeds, but not backspaces.
% It will line-wrap when using fixed-pitch fonts.
% It will also do kerning and width adjustment.
% Standard switches implemented:
%	-12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile>
% Sun switches implemented:
%	-T<n>	set tab width
% Switches ignored:
%	-GghKkmow -# -C -d -J -n -P -S -s -t -v
% Switches added:
%	--add-to-space <units>
%		add the given number of 1/72" units to the width of each
%		space (may be negative)
%	--add-to-width <units>
%		add the given number of 1/72" units to the width of each
%		character (may be negative)
%	--columns <n>
%		print in <n> columns
%	--detect
%		treat the file as PostScript if it starts with %!
%	--first-page <n>
%		start printing at page <n>
%	--kern <file.afm>
%		kern using information from the given .AFM file
%	--last-page <n>
%		stop printing after page <n>
%	--(heading|footing)-(left|center|right) <string>
%		set the heading/footing fields; use -B first to clear
%	--margin-(top|bottom|left|right) <inches>
%		set a margin
%	--no-eject-(file|formfeed)
%		end-of-file/FF only starts a new column, not a new sheet
%	--spacing <n>
%		use double (n=2), triple (n=3), etc. spacing
% Also, the string %# in a heading or footing is replaced with the page #.
/PageNumberString (%#) def

/lpdict 150 dict def
lpdict begin

% build iso-latin-1 version of a font
/font-to-iso-latin-1 {	% <font> font-to-iso-latin-1 <font>
    %% reencode for iso latin1; from the 2nd edition red book, sec 5.6.1
    dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall
    /Encoding ISOLatin1Encoding def currentdict end
    dup /FontName get 80 string cvs (-ISOLatin1) concatstrings cvn 
    exch definefont
} def

/find-latin-font {	% <name> find-latin-font <font>
  findfont font-to-iso-latin-1
} def

% Define the initial values of the printing parameters.

/AddToSpace 0 def
/AddToWidth 0 def
/BodyFont null def		% use default
  /defaultBodyFontPortrait
    /Courier find-latin-font 10 scalefont def
  /defaultBodyFontLandscape
    /Courier find-latin-font 7 scalefont def
  /defaultBodyFont
    { Landscape { defaultBodyFontLandscape } { defaultBodyFontPortrait } ifelse } def
/Columns 1 def
/DetectFileType false def
/EjectEOF true def
/EjectFF true def
/Footers false def
/FootingLeft () def
/FootingCenter () def
/FootingRight () def
/Headers true def
/HeadingLeft () def
/HeadingCenter () def
/HeadingRight (page ) PageNumberString concatstrings def
/HeadingFont null def		% use default
  /defaultHeadingFont
    /Courier-Bold find-latin-font 10 scalefont def
/Kern 0 dict def		% no kerning
/Landscape false def
/MarginBottom 36 def		% 1/2"
/MarginLeft 36 def		% 1/2"
/MarginRight 36 def		% 1/2"
/MarginTop 36 def		% 1/2"
/MaxLines 9999 def		% max lines per page
/Noisy true def			% i.e., not quiet
/OutFile null def		% null = write directly to device
/PageFirst 1 def
/PageLast 99999 def
/Spacing 1 def
/Tab 8 def
/Truncate false def		% wrap long lines, don't truncate

% When writing to a file, we want to write out PostScript;
% when writing to the printer, we want to execute it;
% some commands should be executed regardless.
% lpexec provides for all this.

/lpdef {	% <name> <value> lpdef -
  /def 2 true lpexec
} def

/lpexec {	% <arg1> ... <argn> </op> <n> <do_always> lpexec -
  OutFile null eq {
    pop 1 add true
  } {
    /t exch def 1 add /n exch def cvx
    n -1 roll dup wo
    n 1 sub { n -1 roll dup wosp } repeat
    (\n) ws n t
  } ifelse
    { pop load exec }
    { { pop } repeat }
  ifelse
} def

/lpmoveto {	% <x> <y> lpmoveto -
	% Round the coordinates for smaller output.
  2 {
    exch 100 mul round 100 div
    dup dup cvi eq { cvi } if
  } repeat
  1 index X eq { neg exch pop /V 1 } { neg /M 2 } ifelse true lpexec
} def
/lpshow {	% <string> lpshow -
  dup length 0 ne {
    addspace 0 ne {
      addspace 0 32 
      addwidth 0 ne {
	addwidth 0 6 -1 roll /awidthshow 6 true lpexec
      } {
	4 -1 roll /widthshow 4 true lpexec
      } ifelse
    } {
      addwidth 0 ne {
	addwidth 0 3 -1 roll /ashow 3 true lpexec
      } {
	OutFile null ne {
	  dup dup length =string length gt {
	    /show 1 false lpexec
	  } {
	    (S ) ws ws (\n) ws
	  } ifelse
	} if show 
      } ifelse
    } ifelse
  } {
    pop
  } ifelse
} def
/lpsetmyfont {
  dup load setfont
   OutFile null ne { cvx /setfont 1 false lpexec } { pop } ifelse
} def

% Define some utility procedures.

/banner		% ypos left center right
 { /HFont lpsetmyfont
   /addspace 0 def /addwidth 0 def
   /pairkern 0 dict def
   3 -1 roll bannerstring pop 0 4 index pwidth showline2 pop
   exch bannerstring pwidth exch sub 2 div 3 index pwidth showline2 pop
   bannerstring
		% Prevent the last character of the heading from grazing
		% the right margin.
		% ****** WHY DOES IT REQUIRE SO MUCH PADDING? ******
   ( ) stringwidth pop 2 mul add
   pwidth exch sub
   3 -1 roll pwidth showline2 pop
 } def

/bannerstring	% string -> string width
  { PageNumberString search
     { exch pop pindex 4 string cvs concatstrings exch concatstrings
     }
    if dup stringwidth pop
  } def

/beginpage
 { /lindex 0 def
   /skipping pindex PageFirst ge pindex PageLast le and not def
   pagex pagey Landscape {/BL} {/B} ifelse 2 true lpexec
   /pagesave exch def
   skipping { nulldevice   /OutFile null def } if
   Headers
    { lheight hdescent add
      HeadingLeft HeadingCenter HeadingRight banner
    } if
   /BFont lpsetmyfont
   /pairkern Kern def
   /addspace AddToSpace def /addwidth AddToWidth def
   pairkern length 0 ne {
     /addspace AddToSpace lpdef /addwidth AddToWidth lpdef
   } if
 } def

/endpage {
  lindex 0 ne {
    Footers {
      topskip plength sub hdescent add
      FootingLeft FootingCenter FootingRight banner
    } if
    /E
  } {
    /restore
  } ifelse
  pagesave exch 0 true lpexec
  /pindex pindex 1 add def
} def

/endcolumn
 { lindex colines 1 sub add colines idiv colines mul
   dup llength ge { pop endpage beginpage } { /lindex exch def } ifelse
 } def

/fontheight	% <font> fontheight <ascent> <height>
 { gsave setfont
   newpath 0 0 moveto
   (|^_j) false charpath
   pathbbox exch pop dup 2 index sub 4 -2 roll pop pop
   grestore exch 1.25 mul exch 1.25 mul
 } def

/wdict {
  dup length wosp ( dict\n) ws
  { (dup) ws exch wosp wosp ( put\n) ws } forall
} def
/wosp { ( ) ws wo } def
/wo {
  dup type /dicttype eq { wdict } { OutFile exch write==only } ifelse
} def
/ws {
  OutFile exch writestring
} def

/outfont {		% <name> <font> outfont -
  OutFile null ne {
    exch wo
    dup /FontName get 
    dup wosp (-ISOLatin1) ws wosp ( RE) ws
    /FontMatrix get 0 get 1000 mul round cvi wosp
    ( scalefont def\n) ws
  } {
    pop pop
  }ifelse
} def

/StringFF (\f) def
/CharFF StringFF 0 get def
/StringTAB (\t) def
/CharTAB StringTAB 0 get def

/showline		% line -> leftover_line (handles \f)
 {  { showline1 dup length 0 eq { exit } if
      dup 0 get CharFF ne { exit } if
      EjectFF { endpage beginpage } { endcolumn } ifelse
      skip1
    }
   loop
 } def

/showline1		% line -> leftover_line (handles page break)
 { lindex llength eq { endpage beginpage } if
   lindex colines idiv cowidth mul		% x
   lindex colines mod 1 add lheight mul neg fascent sub	% y
   1 index cowidth add
   showline2
   /lindex lindex 1 add def
 } def

/setxy {
  /ty exch def /tx exch def
} def

/showline2 {	% string x y xlimit -> leftover_string (handles tabs)
  2 index exch 5 2 roll setxy {
		% Stack: xinit xlimit string
    showline3 dup length 0 eq { exit } if
    dup 0 get CharTAB ne { exit } if
    tx 3 index sub tabwx div
      0.05 add ceiling tabwx mul 3 index add ty setxy
    skip1
    tx 2 index ge { exit } if
  } loop exch pop exch pop
} def

/showline3 {	% xlimit string -> xlimit leftover_string
		% (finds line break / tab / formfeed)
  1 index tx sub
    cwx div 0.1 add cvi 0 max 1 index length min
  1 index 0 3 -1 roll getinterval
	% look for \f or \t
  StringFF search { exch pop exch pop } if
  StringTAB search { exch pop exch pop } if
  dup length 0 ne {
    tx ty lpmoveto
    dup pairkern length 0 eq {
      lpshow
    } {
      { kproc } exch /kshow 2 true lpexec
    } ifelse
    currentpoint setxy
  } if
  length dup 2 index length exch sub getinterval
} def

/kproc {	% <char1> <char2> kproc -
  pairkern currentfont /Encoding get 3 index get
  2 copy known {
    get currentfont /Encoding get 2 index get
    2 copy known {
      get currentfont /FontMatrix get 0 get mul
    } {
      pop pop 0
    } ifelse
  } {
    pop pop 0
  } ifelse
  addwidth add 2 index 32 eq { addspace add } if
  dup 0 eq { pop } { 0 rmoveto } ifelse
  pop pop
} def

/skip1
 { dup length 1 sub 1 exch getinterval
 } def

/e== {		% <object> e== - -- print an object to stderr
  (%stderr) (w) file dup 3 -1 roll write==only flushfile
} def

/eprint {	% <string> eprint - -- print a string to stderr
  (%stderr) (w) file dup 3 -1 roll writestring flushfile
} def

% Read kerning information from a .AFM file.

/readkern {	% <afmfile> readkern <pairkerndict>
  /mfilename 1 index def
  (r) file /mfile exch def
  mfile =string readline pop
  (StartFontMetrics ) anchorsearch {
    pop pop
    /kdict 256 dict def
    { mfile =string readline pop
      (EndFontMetrics) anchorsearch { pop pop exit } if
      (KPX ) anchorsearch {
	pop token pop cvlit /char1 exch def
	token pop cvlit /char2 exch def
	token pop /kern exch def pop
	kdict char1 .knownget not {
	  5 dict kdict char1 2 index .growput
	} if
	char2 kern .growput
      } {
	pop
      } ifelse
    } loop kdict
  } {
    pop
    mfilename eprint ( does not begin with StartFontMetrics.\n) eprint
    0 dict
  } ifelse
  mfile closefile
} def

% The main printing procedure

/doFirst true def
/prevBFont null def
/prevHFont null def

/lpfirst {	% - lpfirst -
% Define some abbreviating procedures.
  /B {save 3 1 roll translate /X 0 def} lpdef
  /BL {save 3 1 roll 90 rotate translate /X 0 def} lpdef
  /E {showpage restore} lpdef
  /V {neg X exch moveto} lpdef
  /M {/X 2 index def neg moveto} lpdef
  /S {currentfile =string readline pop show} lpdef
  /RE {		% <isoname> <fontname> RE <font>
    findfont
	%% reencode for iso latin1; from the 2nd edition red book, sec 5.6.1
    dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall
    /Encoding ISOLatin1Encoding def currentdict end
    definefont
  } lpdef
} def

/lp {		% file initial_chars ->
  /lpline exch def
  /lpfile exch def

  doFirst { lpfirst /doFirst false def } if

% Initialize the device and fonts.
  /BFont
    BodyFont null eq { defaultBodyFont } { BodyFont } ifelse def
  BFont prevBFont ne {
    /BFont BFont outfont
    /prevBFont BFont def
  } if
  Headers Footers or {
    /HFont
      HeadingFont null eq { defaultHeadingFont } { HeadingFont } ifelse def
    HFont prevHFont ne {
      /HFont HFont outfont
      /prevHFont HFont def
    } if
  } if
  save

% Get the layout parameters.
   clippath
   gsave	% for possible rotation
   Landscape { 90 rotate } if
   BFont setfont ( ) stringwidth pop /cwx exch def
     cwx Tab mul /tabwx exch def
   BFont fontheight /fheight exch def /fascent exch def
   Headers Footers or { HFont fontheight } { 0 0 } ifelse
     /hheight exch def /hascent exch def
     /hdescent hheight hascent sub def
   fheight Spacing mul /lheight exch def
   Headers { hheight lheight add } { 0 } ifelse
     /topskip exch def
   Footers { hheight lheight add } { 0 } ifelse
     /botskip exch def
   /pskip topskip botskip add def
	% Translate the page so that (0,0) corresponds to
	% the top of the topmost body line.
   pathbbox
     2 index sub MarginBottom MarginTop add sub /plength exch def
     2 index sub MarginLeft MarginRight add sub /pwidth exch def
     pwidth Columns div /cowidth exch def
     exch MarginLeft add
     exch MarginBottom add plength add topskip sub
     /pagey exch def /pagex exch def
   plength pskip sub lheight div cvi MaxLines min
     dup /colines exch def
     Columns mul /llength exch def
   grestore
   OutFile null ne { nulldevice } if

% Print layout
   Noisy
    { (Page height = ) eprint llength e==
      (.\n) eprint flush
    } if

% Write the kerning table, if relevant.
   OutFile null ne Kern length 0 ne and {
     (/kproc) ws /kproc load wosp ( def\n) ws
     (/pairkern) ws Kern wosp ( def\n) ws
   } if

% Disable stack recording so we can use stopped with readline.
   $error /recordstacks false put

% Initialize for the first page.
   /lbuf 1000 string def
   /pindex 1 def
   beginpage

% Iterate through the file.
   lpline
    { dup length /pos exch def
      lbuf exch 0 exch putinterval
       { lpfile lbuf pos lbuf length pos sub getinterval readline } stopped
       {	% Filled the line before a CR or EOF.
         exch pop showline
       }
       {	% Reached CR and/or EOF first.
         exch length pos add lbuf exch 0 exch getinterval
	 1 index { showline } if		% omit final empty line
	  { dup length 0 eq Truncate or { pop () exit } if
	    showline
	  }
	 loop
	 exch not { exit } if
       }
      ifelse
    } loop
   pop

% Wrap up.
%**************** WHY IS THIS COMMENTED OUT? ****************
%   EjectEOF { endpage } { endcolumn } ifelse
   endpage
   restore

} def

end

% Usage: <file> lp
%   prints <file> using the current parameter settings.
% Usage: [ <arg1> ... <argn> ] lpcommand
%   interprets args like a command line.

/lp { save   lpdict begin () lp end   restore } def

lpdict begin

/splitfn		% (FontNNN) -> <font>
 { dup /arg exch def length
    { dup 0 le { exit } if
      dup 1 sub arg exch get dup 48 ge exch 59 le and not { exit } if
      1 sub
    } loop
   arg exch 0 exch getinterval dup cvn find-latin-font
   exch arg exch anchorsearch pop pop cvr scalefont
 } def

% Parse the command line switches.

/doswitch	% argn ... arg1 (-?) restofswitch ->
 { exch dup cvn lpdict exch known
    { cvn load exec }
    { exch pop (Unknown switch: ) eprint eprint (\n) eprint }
   ifelse
 } def

/more		% argn ... arg1 restofswitch ->
 { dup length 0 ne
    { (- ) dup 1 3 index 0 get put
      exch dup length 1 sub 1 exch getinterval
      doswitch
    }
    { pop
    }
   ifelse
 } def

/-- { (--) exch concatstrings
      dup cvn lpdict exch known
       { cvn load exec }
       { (Unknown switch: ) eprint eprint (\n) eprint }
      ifelse
    } def
/--add-to-space { cvr /AddToSpace exch def } def
/--add-to-width { cvr /AddToWidth exch def } def
/--columns { cvi 1 max /Columns exch def } def
/--detect { /DetectFileType true def } def
/--first-page { cvi /PageFirst exch def } def
/--footing-center { /FootingCenter exch def   /Footers true def } def
/--footing-left { /FootingLeft exch def   /Footers true def } def
/--footing-right { /FootingRight exch def   /Footers true def} def
/--heading-center { /HeadingCenter exch def   /Headers true def } def
/--heading-left { /HeadingLeft exch def   /Headers true def } def
/--heading-right { /HeadingRight exch def   /Headers true def } def
/--kern { readkern /Kern exch def } def
/--last-page { cvi /PageLast exch def } def
/--margin-bottom { cvr 72.0 mul /MarginBottom exch def } def
/--margin-left { cvr 72.0 mul /MarginLeft exch def } def
/--margin-right { cvr 72.0 mul /MarginRight exch def } def
/--margin-top { cvr 72.0 mul /MarginTop exch def } def
/--no-eject-file { /EjectEOF false def } def
/--no-eject-formfeed { /EjectFF false def } def
/--spacing { cvr /Spacing exch def } def

/-# { pop } def		% ignore
/-+ { -- } def
(-1)cvn { /Columns 1 def   more } def
(-2)cvn { /Columns 2 def   more } def
/-b { /HeadingLeft exch def   /HeadingCenter () def   /HeadingRight PageNumberString def
      /Headers true def
      /break true def
    } def
/-B { /HeadingLeft () def   /HeadingCenter () def   /HeadingRight () def
      /Headers false def
      /FootingLeft () def   /FootingCenter () def   /FootingRight () def
      /Footers false def
      /break true def
      more
    } def
/-C { pop } def		% ignore
/-c { /Truncate true def   more } def
/-d { pop } def		% ignore
/-f { splitfn /BodyFont exch def } def
/-F { splitfn /HeadingFont exch def } def
/-G { more } def	% ignore
/-g { more } def	% ignore
/-h { more } def	% ignore
/-J { pop } def		% ignore
/-K { more } def	% ignore
/-k { more } def	% ignore
/-l { 66 -L -B } def
/-L { cvi /MaxLines exch def } def
/-m { more } def	% ignore
/-n { pop } def		% ignore
/-o { more } def	% ignore
/-p { (w) file /OutFile exch def   OutFile (%!\n) writestring } def
/-P { pop } def		% ignore
/-q { /Noisy false def   more } def
/-r { /Landscape true def   more } def
/-R { /Landscape false def   more } def
/-S { pop } def		% ignore
/-s { pop } def		% ignore
/-T { cvi /Tab exch def } def
/-v { pop } def		% ignore
/-w { more } def	% ignore

/lp1		% filename ->
 { break not { dup /HeadingLeft exch def } if
   Noisy
    { (Printing ) eprint dup eprint (\n) eprint 
    } if
   (r) file
		% If requested, check for a PostScript file.
   DetectFileType
    { dup 2 string readstring pop dup (%!) eq
       {	% Yes, it's a PostScript file.
         pop dup 80 string readline pop pop cvx exec
       }
       { lp
       }
      ifelse
    }
    { () lp
    }
   ifelse
 } bind def

/lpcstring 100 string def

end

/lpcommand		% <[arg1 ... argn]> lpcommand <any_printed>
 {	% Push the commands on the stack in reverse order
   mark exch
   dup length 1 sub -1 0 { 1 index exch get exch } for pop
   lpdict begin
   /any false def
   /break false def
    { dup mark eq { pop exit } if
      dup length 2 ge { dup 0 get (-) 0 get eq } { false } ifelse
       { dup 0 2 getinterval
         exch dup length 2 sub 2 exch getinterval
	 doswitch
       }
       { dup (%stdin) eq
	  { /any true def   lp1 }
	  { dup  /matched false def
            { /matched true def   /any true def   lp1 } lpcstring filenameforall
	    matched { pop } { lp1 } ifelse		% let the error happen
	  }
	 ifelse
       }
      ifelse
    } loop
   OutFile null ne
    { OutFile (%stdout) (w) file ne { OutFile closefile } if
      /OutFile null def
    } if
   any
   end
 } def

[ shellarguments
 { ] dup length 0 ne { lpcommand } { false } ifelse not
    { (%stderr) (w) file
      [ (Usage: )
	/PROGNAME where { pop PROGNAME } { (gslp) } ifelse
	( [-12BclqRr] [-b<header>] [-f<font>] [-F<hfont>]\n)
	(        [-L<lines>] [-p<outfile>] [-T<tabwidth>]\n)
	(        [--add-to-(space|width) <units>] [--columns <n>]\n)
	(        [--detect] [--first-page <page#>] [--last-page <page#>]\n)
	(        [--(heading|footing)-(left|right|center) <string>]\n)
	(        [--kern <afmfile>] [--margin-(top|bottom|left|right) <inches>]\n)
	(        [--no-eject-(file|formfeed)] [--spacing <n>] file1 ... filen\n)
      ] { 2 copy writestring pop } forall dup flushfile closefile
    }
   if
 }
 { pop }
ifelse

[-- Attachment #3: lpr-mine --]
[-- Type: text/x-shellscript, Size: 3754 bytes --]

#! /bin/sh
# Author: Pierre A. Humblet pierre.humblet@ieee.org  
#   Created: May 2000
#   Modified: March 2001 Add support for gsprint
# Modify and redistribute freely. Use at your own risk.
# This is distributed as part of the Xfig-Cygwin package.
#
# Modified: Igor Pechtchanski pechtcha@cs.nyu.edu
#   Modified: February 2002 Add support for -P and $PRINTER
#   Modified: February 2002 Add support for stdin
#   Modified: March 2002 Disable gsprint support
#   Modified: May 2002 Tweak gs options
#   Modified: August 2002 Add -Q and -h; make presentable
#
# Script to print postscript from stdin or the file given as 
#   single argument.
# Relies on the existence of gsprint 
#   ( http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm )
#   or of gs (ghostscript) with device mswinpr2
#

#GSLP=gslp.ps
GSLP=`cygpath -w /usr/local/bin/gslp.ps`
USAGE="\
Usage: $0 [--help] [--query|-Q]
       [--printer <printer>|-P <printer>|-P<printer>] [file_1 .. file_n]"

while [ $# -gt 0 ]; do
 case "$1" in
  -h | --help)    shift; echo "$USAGE"; exit 0 ;;
  -Q | --query)   shift; QUERY=true ;;
  -P | --printer) shift; PRINTER="$1"; shift
                  if [ -z "$PRINTER" ]; then
                   echo Please specify a printer with -P 1>&2
                   exit 2
                  fi ;;
  -P*)            PRINTER="${1#-P}"; shift ;;
  --)             shift; break ;;
  -*)             echo "$0: $1: invalid option" 1>&2
  		  echo "$USAGE" 1>&2
  		  exit 2 ;;
  *)              break ;;
 esac
done

if [ "${1:-}" = "" ]
then
# file=-_
 file='%stdin'
else
 file="$1"
 if [ ! -r "$file" ]
 then
  file="${file}.ps"
  if [ ! -r "$file" ]
  then
   echo Cannot read "$file" 1>&2
   exit
  fi
 fi
 file=`cygpath -w "$file"`
fi

#echo "Printing '${file}' to $PRINTER"

# Look for Ghostgum Gsview in the registry
GSPRINT=""
VERSIONS=`regtool -q list '\HKLM\SOFTWARE\Ghostgum\Gsview'`
# Scan all versions, keep the last good one
for VER in ${VERSIONS}
do
 WHERE_W=`regtool -q get '\HKLM\SOFTWARE\Ghostgum\Gsview\'"${VER}"`
 if [ -n "$WHERE_W" ]
 then
  WHERE_U=`cygpath -u "$WHERE_W"`
  GSPRINT_CAND="${WHERE_U}/gsview/gsprint.exe"
  if [ -x "$GSPRINT_CAND" ]
  then
#   GSPRINT="${GSPRINT_CAND}"
  fi
 fi
done   

# Escape backslashes in $PRINTER
PRINTER=`echo $PRINTER | sed 's/\\\\/\\\\\\\\/g'`

if [ -n "$GSPRINT" ]
then
# Use gsprint
 PRINTSTR=""
 if [ -n "$PRINTER" ]
 then
  PRINTSTR="-printer $PRINTER"
 fi
 echo "${GSPRINT}" -q -query $PRINTSTR "${file}"
 "${GSPRINT}" -q -query $PRINTSTR "${file}"
else
# Try gs
 if [ -n "$PRINTER" ]
 then
  PRINTSTR='/OutputFile (\\\\spool\\'"$PRINTER"')'
 elif [ -n "$QUERY" ]
 then
  PRINTSTR='/QueryUser 1'
 else
  PRINTSTR='/QueryUser 3'
 fi
# echo "Printing '${file}' to $PRINTER using gs -dNOPAUSE -dBATCH -q -c mark /NoCancel true $PRINTSTR /UserSettings '<<' /MaxResolution 1200 '>>' '(mswinpr2)' finddevice putdeviceprops setdevice -f -sPROGNAME=lpr -- $GSLP --detect -B ${file}"
 gs -dNOPAUSE -dBATCH -q -c mark /NoCancel true "$PRINTSTR" /UserSettings '<<' /MaxResolution 1200 '>>' '(mswinpr2)' finddevice putdeviceprops setdevice -f -sPROGNAME=lpr -- $GSLP --detect -B "${file}"
fi

# This worked: "gs -dNOPAUSE -dBATCH -q -sDEVICE=mswinpr2 -r600 '-sOutputFile=\\spool\$PRINTER' -dNoCancel -sPROGNAME=gslp -- gslp.ps ${file}"
# So did this: "gs -dNOPAUSE -dBATCH -q -c mark /NoCancel true /QueryUser 3 /OutputFile '(\\spool\lp.scs.cs.nyu.edu)' /UserSettings '<<' /MaxResolution 1200 '>>' '(mswinpr2)' finddevice putdeviceprops setdevice -f -sPROGNAME=gslp -- gslp.ps ${file}"

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 19:23 printing from within Cygwin Fred_Smith
@ 2002-08-31  0:19 ` Jim George
  2002-08-31 12:42   ` Igor Pechtchanski
  0 siblings, 1 reply; 26+ messages in thread
From: Jim George @ 2002-08-31  0:19 UTC (permalink / raw)
  To: cygwin

Igor,

    sorry to reply to Fred's email but I lost your original post.

    There must be something wrong with my installation as I get the
following on stdout when executing lpr-mine <filename> (BTW PRINTER is
defined)

Error: /undefined in --get--
Operand stack:
   --nostringval--   NoCancel   true   OutputFile
(\\\\spool\\\\\\gateway\\epson)
UserSettings   --dict:1/1(L)--   --dict:86/86(G)--   (mswinpr2)
Execution stack:
   %interp_exit
.runexec2   --nostringval--   --nostringval--   --nostringval--   2
%stopped_push   --nostringval--   --nostringval--   --nostringval--   false
1   %stopped_push
.runexec2   --nostringval--   --nostringval--   --nostringval--   2
%stopped_push   --nostringval--   --nostringval--   --nostringval--   --nost
ringval--
Dictionary stack:
   --dict:1081/1123(ro)(G)--   --dict:0/20(G)--   --dict:69/200(L)--
Current allocation mode is local
Last OS error: 2
GNU Ghostscript 7.05: Unrecoverable error, exit code 1

    Can you offer any help?

Thanks,

Jim
----- Original Message -----
From: <Fred_Smith@computrition.com>
To: <cygwin@cygwin.com>
Sent: Saturday, August 31, 2002 3:24 AM
Subject: Re: printing from within Cygwin


> Igor:
>
> Thanks for all the info! I'll review it all next week after the holiday.
>
> I see you work at Watson labs,... do you by any chance know my brother
> (David N. Smith) ???
>
> Thanks again!
>
> Fred
>
>
>
>
> Igor Pechtchanski <pechtcha@cs.nyu.edu> on 08/30/2002 05:59:39 PM
>
> Please respond to cygwin@cygwin.com
>
> To:   Fred Smith/Computrition
> cc:   cygwin@cygwin.com
> Subject:  Re: printing from within Cygwin
>
>
>
>
> On Fri, 30 Aug 2002 Fred_Smith@computrition.com wrote:
> > Trying to figure out how to print from a Cywin (console) app.
> >
> > Porting a Linux app to cygwin. On Linux it uses popen() to pipe output
to
> a
> > shellscript which in turn cats its input to lpr (it may do other things,
> > and may transform the data, but that's the ultimate goal).
> >
> > trying to figure out how to do something akin to that under cygwin.
> >
> > Invoking "lpr <filename>" at the command prompt comes back with an error
> > message:
> >
> >      can't open 'prn' for writing.
> >
> > Advice would be appreciated. (I hope you're not going to tell me I need
> to
> > learn all about the innards of windoze printing!)
> >
> > Thanks!
> > Fred
> No, learning the innards of "windoze" printing is not necessary.  Learning
> ghostscript options, however, wouldn't hurt. ;-)
> I have been using the attached script for a while.  It works on my current
> system (Win2k with gs7.03 installed).  Note the disabled support for
> gsprint -- I couldn't get it to work properly.  If anyone can get the
> gsprint part to work, please let me know.
> I also had to tweak the standard gslp.ps that comes with ghostscript to
> allow printing standard input properly (modified script attached).  My
> copy of gslp.ps is in /usr/local/bin, and the script expects to find it
> there.
> The -P option and the $PRINTER variable will recognize windows printer
> names (spaces and all).  'ware of the backslashes...  Use the -Q option to
> select the printer using the windows printer selection dialog.
>      Igor
> --
>                     http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_      pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`'    -.  ;-;;,_       igor@watson.ibm.com
>      |,4-  ) )-,_. ,\ (  `'-'      Igor Pechtchanski
>     '---''(_/--'  `-'\_) fL   a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> It took the computational power of three Commodore 64s to fly to the moon.
> It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file
>
>


----------------------------------------------------------------------------
----


> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-31  0:19 ` Jim George
@ 2002-08-31 12:42   ` Igor Pechtchanski
  2002-09-03 23:57     ` Jim George
  2002-09-04 10:26     ` Shankar Unni
  0 siblings, 2 replies; 26+ messages in thread
From: Igor Pechtchanski @ 2002-08-31 12:42 UTC (permalink / raw)
  To: Jim George; +Cc: cygwin

Jim,

Looks like you don't have the mswinpr2 device in your ghostscript
installation...  I'm not sure how to check or remedy that.  I've installed
ghostscript 7.03 for windows, and it worked for me.  Check your
ghostscript version...

One more thing I forgot to mention in the original message is that I use
the windows version of ghostscript, and have a symbolic link from
/cygdrive/c/gs/gs7.03/bin/gswin32c.exe to /usr/local/bin/gs.  I haven't
tested the script with the Cygwin version of ghostscript, sorry. :-(
	Igor

On Sat, 31 Aug 2002, Jim George wrote:

> Igor,
>
>     sorry to reply to Fred's email but I lost your original post.
>
>     There must be something wrong with my installation as I get the
> following on stdout when executing lpr-mine <filename> (BTW PRINTER is
> defined)
>
> Error: /undefined in --get--
> Operand stack:
>    --nostringval--   NoCancel   true   OutputFile
> (\\\\spool\\\\\\gateway\\epson)
> UserSettings   --dict:1/1(L)--   --dict:86/86(G)--   (mswinpr2)
> Execution stack:
>    %interp_exit
> .runexec2   --nostringval--   --nostringval--   --nostringval--   2
> %stopped_push   --nostringval--   --nostringval--   --nostringval--   false
> 1   %stopped_push
> .runexec2   --nostringval--   --nostringval--   --nostringval--   2
> %stopped_push   --nostringval--   --nostringval--   --nostringval--   --nost
> ringval--
> Dictionary stack:
>    --dict:1081/1123(ro)(G)--   --dict:0/20(G)--   --dict:69/200(L)--
> Current allocation mode is local
> Last OS error: 2
> GNU Ghostscript 7.05: Unrecoverable error, exit code 1
>
>     Can you offer any help?
>
> Thanks,
>
> Jim
> ----- Original Message -----
> From: <Fred_Smith@computrition.com>
> To: <cygwin@cygwin.com>
> Sent: Saturday, August 31, 2002 3:24 AM
> Subject: Re: printing from within Cygwin
>
>
> > Igor:
> >
> > Thanks for all the info! I'll review it all next week after the holiday.
> >
> > I see you work at Watson labs,... do you by any chance know my brother
> > (David N. Smith) ???
> >
> > Thanks again!
> >
> > Fred
> >
> >
> >
> >
> > Igor Pechtchanski <pechtcha@cs.nyu.edu> on 08/30/2002 05:59:39 PM
> >
> > Please respond to cygwin@cygwin.com
> >
> > To:   Fred Smith/Computrition
> > cc:   cygwin@cygwin.com
> > Subject:  Re: printing from within Cygwin
> >
> >
> >
> >
> > On Fri, 30 Aug 2002 Fred_Smith@computrition.com wrote:
> > > Trying to figure out how to print from a Cywin (console) app.
> > >
> > > Porting a Linux app to cygwin. On Linux it uses popen() to pipe output
> to
> > a
> > > shellscript which in turn cats its input to lpr (it may do other things,
> > > and may transform the data, but that's the ultimate goal).
> > >
> > > trying to figure out how to do something akin to that under cygwin.
> > >
> > > Invoking "lpr <filename>" at the command prompt comes back with an error
> > > message:
> > >
> > >      can't open 'prn' for writing.
> > >
> > > Advice would be appreciated. (I hope you're not going to tell me I need
> > to
> > > learn all about the innards of windoze printing!)
> > >
> > > Thanks!
> > > Fred
> > No, learning the innards of "windoze" printing is not necessary.  Learning
> > ghostscript options, however, wouldn't hurt. ;-)
> > I have been using the attached script for a while.  It works on my current
> > system (Win2k with gs7.03 installed).  Note the disabled support for
> > gsprint -- I couldn't get it to work properly.  If anyone can get the
> > gsprint part to work, please let me know.
> > I also had to tweak the standard gslp.ps that comes with ghostscript to
> > allow printing standard input properly (modified script attached).  My
> > copy of gslp.ps is in /usr/local/bin, and the script expects to find it
> > there.
> > The -P option and the $PRINTER variable will recognize windows printer
> > names (spaces and all).  'ware of the backslashes...  Use the -Q option to
> > select the printer using the windows printer selection dialog.
> >      Igor
> > --
> >                     http://cs.nyu.edu/~pechtcha/
> >       |\      _,,,---,,_      pechtcha@cs.nyu.edu
> > ZZZzz /,`.-'`'    -.  ;-;;,_       igor@watson.ibm.com
> >      |,4-  ) )-,_. ,\ (  `'-'      Igor Pechtchanski
> >     '---''(_/--'  `-'\_) fL   a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> > It took the computational power of three Commodore 64s to fly to the moon.
> > It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file
> >
> >
>
>
> ----------------------------------------------------------------------------
> ----
>
>
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>
>

-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

It took the computational power of three Commodore 64s to fly to the moon.
It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-31 12:42   ` Igor Pechtchanski
@ 2002-09-03 23:57     ` Jim George
  2002-09-04 10:26     ` Shankar Unni
  1 sibling, 0 replies; 26+ messages in thread
From: Jim George @ 2002-09-03 23:57 UTC (permalink / raw)
  To: cygwin

Thanks Igor, everything is working well now.

Jim
----- Original Message -----
From: "Igor Pechtchanski" <pechtcha@cs.nyu.edu>
To: "Jim George" <jim.george@blueyonder.co.uk>
Cc: <cygwin@cygwin.com>
Sent: Saturday, August 31, 2002 8:42 PM
Subject: Re: printing from within Cygwin


> Jim,
>
> Looks like you don't have the mswinpr2 device in your ghostscript
> installation...  I'm not sure how to check or remedy that.  I've installed
> ghostscript 7.03 for windows, and it worked for me.  Check your
> ghostscript version...
>
> One more thing I forgot to mention in the original message is that I use
> the windows version of ghostscript, and have a symbolic link from
> /cygdrive/c/gs/gs7.03/bin/gswin32c.exe to /usr/local/bin/gs.  I haven't
> tested the script with the Cygwin version of ghostscript, sorry. :-(
> Igor
>
> On Sat, 31 Aug 2002, Jim George wrote:
>
> > Igor,
> >
> >     sorry to reply to Fred's email but I lost your original post.
> >
> >     There must be something wrong with my installation as I get the
> > following on stdout when executing lpr-mine <filename> (BTW PRINTER is
> > defined)
> >
> > Error: /undefined in --get--
> > Operand stack:
> >    --nostringval--   NoCancel   true   OutputFile
> > (\\\\spool\\\\\\gateway\\epson)
> > UserSettings   --dict:1/1(L)--   --dict:86/86(G)--   (mswinpr2)
> > Execution stack:
> >    %interp_exit
> > .runexec2   --nostringval--   --nostringval--   --nostringval--   2
> > %stopped_push   --nostringval--   --nostringval--   --nostringval--
false
> > 1   %stopped_push
> > .runexec2   --nostringval--   --nostringval--   --nostringval--   2
> >
topped_push   --nostringval--   --nostringval--   --nostringval--   --nost
> > ringval--
> > Dictionary stack:
> >    --dict:1081/1123(ro)(G)--   --dict:0/20(G)--   --dict:69/200(L)--
> > Current allocation mode is local
> > Last OS error: 2
> > GNU Ghostscript 7.05: Unrecoverable error, exit code 1
> >
> >     Can you offer any help?
> >
> > Thanks,
> >
> > Jim
> > ----- Original Message -----
> > From: <Fred_Smith@computrition.com>
> > To: <cygwin@cygwin.com>
> > Sent: Saturday, August 31, 2002 3:24 AM
> > Subject: Re: printing from within Cygwin
> >
> >
> > > Igor:
> > >
> > > Thanks for all the info! I'll review it all next week after the
holiday.
> > >
> > > I see you work at Watson labs,... do you by any chance know my brother
> > > (David N. Smith) ???
> > >
> > > Thanks again!
> > >
> > > Fred
> > >
> > >
> > >
> > >
> > > Igor Pechtchanski <pechtcha@cs.nyu.edu> on 08/30/2002 05:59:39 PM
> > >
> > > Please respond to cygwin@cygwin.com
> > >
> > > To:   Fred Smith/Computrition
> > > cc:   cygwin@cygwin.com
> > > Subject:  Re: printing from within Cygwin
> > >
> > >
> > >
> > >
> > > On Fri, 30 Aug 2002 Fred_Smith@computrition.com wrote:
> > > > Trying to figure out how to print from a Cywin (console) app.
> > > >
> > > > Porting a Linux app to cygwin. On Linux it uses popen() to pipe
output
> > to
> > > a
> > > > shellscript which in turn cats its input to lpr (it may do other
things,
> > > > and may transform the data, but that's the ultimate goal).
> > > >
> > > > trying to figure out how to do something akin to that under cygwin.
> > > >
> > > > Invoking "lpr <filename>" at the command prompt comes back with an
error
> > > > message:
> > > >
> > > >      can't open 'prn' for writing.
> > > >
> > > > Advice would be appreciated. (I hope you're not going to tell me I
need
> > > to
> > > > learn all about the innards of windoze printing!)
> > > >
> > > > Thanks!
> > > > Fred
> > > No, learning the innards of "windoze" printing is not necessary.
Learning
> > > ghostscript options, however, wouldn't hurt. ;-)
> > > I have been using the attached script for a while.  It works on my
current
> > > system (Win2k with gs7.03 installed).  Note the disabled support for
> > > gsprint -- I couldn't get it to work properly.  If anyone can get the
> > > gsprint part to work, please let me know.
> > > I also had to tweak the standard gslp.ps that comes with ghostscript
to
> > > allow printing standard input properly (modified script attached).  My
> > > copy of gslp.ps is in /usr/local/bin, and the script expects to find
it
> > > there.
> > > The -P option and the $PRINTER variable will recognize windows printer
> > > names (spaces and all).  'ware of the backslashes...  Use the -Q
option to
> > > select the printer using the windows printer selection dialog.
> > >      Igor
> > > --
> > >                     http://cs.nyu.edu/~pechtcha/
> > >       |\      _,,,---,,_      pechtcha@cs.nyu.edu
> > > ZZZzz /,`.-'`'    -.  ;-;;,_       igor@watson.ibm.com
> > >      |,4-  ) )-,_. ,\ (  `'-'      Igor Pechtchanski
> > >     '---''(_/--'  `-'\_) fL   a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> > > It took the computational power of three Commodore 64s to fly to the
moon.
> > > It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig
file
> > >
> > >
> >
> >
>
> --------------------------------------------------------------------------
--
> > ----
> >
> >
> > > --
> > > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > > Bug reporting:         http://cygwin.com/bugs.html
> > > Documentation:         http://cygwin.com/docs.html
> > > FAQ:                   http://cygwin.com/faq/
> >
> >
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
> >
>
> --
> http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_ pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`'    -.  ;-;;,_ igor@watson.ibm.com
>      |,4-  ) )-,_. ,\ (  `'-' Igor Pechtchanski
>     '---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
>
> It took the computational power of three Commodore 64s to fly to the moon.
> It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file
>


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-31 12:42   ` Igor Pechtchanski
  2002-09-03 23:57     ` Jim George
@ 2002-09-04 10:26     ` Shankar Unni
  2002-09-04 11:27       ` Igor Pechtchanski
  2002-09-05  5:44       ` Dario Alcocer
  1 sibling, 2 replies; 26+ messages in thread
From: Shankar Unni @ 2002-09-04 10:26 UTC (permalink / raw)
  To: cygwin

Igor Pechtchanski wrote:

> Looks like you don't have the mswinpr2 device in your ghostscript
> installation...  

The GhostScript that comes with Cygwin is built without any of the 
Windows extensions (the mswin* devices, the Windows console (that pops 
up if you type "gswin32" in the native Windows distribution), ...).

I wonder if it's possible to build the Cygwin gs with these extensions? 
Or at least the Windows devices?  There are the "mswindll", "mswinprn" 
and "mswinpr2" devices, and the "display" device for the Windows native 
display (the one that "gswin32" pops up).

--
Shankar.




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-04 10:26     ` Shankar Unni
@ 2002-09-04 11:27       ` Igor Pechtchanski
  2002-09-05  5:44       ` Dario Alcocer
  1 sibling, 0 replies; 26+ messages in thread
From: Igor Pechtchanski @ 2002-09-04 11:27 UTC (permalink / raw)
  To: Shankar Unni; +Cc: cygwin

On Wed, 4 Sep 2002, Shankar Unni wrote:

> Igor Pechtchanski wrote:
>
> > Looks like you don't have the mswinpr2 device in your ghostscript
> > installation...
>
> The GhostScript that comes with Cygwin is built without any of the
> Windows extensions (the mswin* devices, the Windows console (that pops
> up if you type "gswin32" in the native Windows distribution), ...).
>
> I wonder if it's possible to build the Cygwin gs with these extensions?
> Or at least the Windows devices?  There are the "mswindll", "mswinprn"
> and "mswinpr2" devices, and the "display" device for the Windows native
> display (the one that "gswin32" pops up).

How about a nice lpadmin interface, while we're at it? ;-)
Or, more seriously but also more useful, a general lpd daemon that talks
to windows printers and honors the standard lpd interface?
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

It took the computational power of three Commodore 64s to fly to the moon.
It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-04 10:26     ` Shankar Unni
  2002-09-04 11:27       ` Igor Pechtchanski
@ 2002-09-05  5:44       ` Dario Alcocer
  2002-09-06 10:41         ` Nicholas Wourms
  2002-09-06 11:13         ` Igor Pechtchanski
  1 sibling, 2 replies; 26+ messages in thread
From: Dario Alcocer @ 2002-09-05  5:44 UTC (permalink / raw)
  To: cygwin

On Wed, Sep 04, 2002 at 10:26:36AM -0700, Shankar Unni wrote:
> Igor Pechtchanski wrote:
> 
> > Looks like you don't have the mswinpr2 device in your ghostscript
> > installation...  
> 
> The GhostScript that comes with Cygwin is built without any of the 
> Windows extensions (the mswin* devices, the Windows console (that pops 
> up if you type "gswin32" in the native Windows distribution), ...).
> 
> I wonder if it's possible to build the Cygwin gs with these extensions? 
> Or at least the Windows devices?  There are the "mswindll", "mswinprn" 
> and "mswinpr2" devices, and the "display" device for the Windows native 
> display (the one that "gswin32" pops up).

Yes, it's definitely doable; it's on my long list of "to-do" items.
As soon as I have more "free time" I'll do it.

-- 
Dario Alcocer -- Sr. Software Developer, Helix Digital Inc.
alcocer@helixdigital.com -- http://www.helixdigital.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-05  5:44       ` Dario Alcocer
@ 2002-09-06 10:41         ` Nicholas Wourms
  2002-09-06 16:51           ` Shankar Unni
  2002-09-06 23:37           ` Dario Alcocer
  2002-09-06 11:13         ` Igor Pechtchanski
  1 sibling, 2 replies; 26+ messages in thread
From: Nicholas Wourms @ 2002-09-06 10:41 UTC (permalink / raw)
  To: cygwin


--- Dario Alcocer <alcocer@helixdigital.com> wrote:
> On Wed, Sep 04, 2002 at 10:26:36AM -0700, Shankar Unni wrote:
> > Igor Pechtchanski wrote:
> > 
> > > Looks like you don't have the mswinpr2 device in your
> ghostscript
> > > installation...  
> > 
> > The GhostScript that comes with Cygwin is built without any of
> the 
> > Windows extensions (the mswin* devices, the Windows console (that
> pops 
> > up if you type "gswin32" in the native Windows distribution),
> ...).
> > 
> > I wonder if it's possible to build the Cygwin gs with these
> extensions? 
> > Or at least the Windows devices?  There are the "mswindll",
> "mswinprn" 
> > and "mswinpr2" devices, and the "display" device for the Windows
> native 
> > display (the one that "gswin32" pops up).
> 
> Yes, it's definitely doable; it's on my long list of "to-do" items.
> As soon as I have more "free time" I'll do it.

Please don't do this, I'd rather have gs act like gs does in unix.
Having it act like the win32 version defeats the whole purpose.  If
he wants a win32 version, why doesn't he just use the win32 version. 
What happens if we get a full lpd which accesses the parallel port
via a dev point?  I'm sure there are other examples, but again if you
want a win32 version go get the win32 version and add it to your
PATH.

Cheers,
Nicholas

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-05  5:44       ` Dario Alcocer
  2002-09-06 10:41         ` Nicholas Wourms
@ 2002-09-06 11:13         ` Igor Pechtchanski
  1 sibling, 0 replies; 26+ messages in thread
From: Igor Pechtchanski @ 2002-09-06 11:13 UTC (permalink / raw)
  To: Dario Alcocer; +Cc: cygwin

On Wed, Sep 04, 2002 at 10:26:36AM -0700, Shankar Unni wrote:
>
> I wonder if it's possible to build the Cygwin gs with these extensions?
> Or at least the Windows devices?  There are the "mswindll", "mswinprn"
> and "mswinpr2" devices, and the "display" device for the Windows native
> display (the one that "gswin32" pops up).

Isn't there an X display device in gs already?
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

It took the computational power of three Commodore 64s to fly to the moon.
It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-06 10:41         ` Nicholas Wourms
@ 2002-09-06 16:51           ` Shankar Unni
  2002-09-06 23:37           ` Dario Alcocer
  1 sibling, 0 replies; 26+ messages in thread
From: Shankar Unni @ 2002-09-06 16:51 UTC (permalink / raw)
  To: cygwin

Nicholas Wourms wrote:

> Please don't do this, I'd rather have gs act like gs does in unix.

OK, forget I mentioned the Windows "display" stuff.

The "mswindll" and "mswinprn" drivers are important on Windows, to 
support printers not in the GS device list, but which have supported 
Windows GDI drivers.  I don't see any incompatibility or collision 
between those and a "Unixy" ghostscript.
--
Shankar.




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-06 10:41         ` Nicholas Wourms
  2002-09-06 16:51           ` Shankar Unni
@ 2002-09-06 23:37           ` Dario Alcocer
  1 sibling, 0 replies; 26+ messages in thread
From: Dario Alcocer @ 2002-09-06 23:37 UTC (permalink / raw)
  To: cygwin

On Fri, Sep 06, 2002 at 10:28:20AM -0700, Nicholas Wourms wrote:
> 
> --- Dario Alcocer <alcocer@helixdigital.com> wrote:
> > On Wed, Sep 04, 2002 at 10:26:36AM -0700, Shankar Unni wrote:
> > > Igor Pechtchanski wrote:
> > > 
> > > > Looks like you don't have the mswinpr2 device in your
> > ghostscript
> > > > installation...  
> > > 
> > > The GhostScript that comes with Cygwin is built without any of
> > the 
> > > Windows extensions (the mswin* devices, the Windows console (that
> > pops 
> > > up if you type "gswin32" in the native Windows distribution),
> > ...).
> > > 
> > > I wonder if it's possible to build the Cygwin gs with these
> > extensions? 
> > > Or at least the Windows devices?  There are the "mswindll",
> > "mswinprn" 
> > > and "mswinpr2" devices, and the "display" device for the Windows
> > native 
> > > display (the one that "gswin32" pops up).
> > 
> > Yes, it's definitely doable; it's on my long list of "to-do" items.
> > As soon as I have more "free time" I'll do it.
> 
> Please don't do this, I'd rather have gs act like gs does in unix.
> Having it act like the win32 version defeats the whole purpose.  If
> he wants a win32 version, why doesn't he just use the win32 version. 
> What happens if we get a full lpd which accesses the parallel port
> via a dev point?  I'm sure there are other examples, but again if you
> want a win32 version go get the win32 version and add it to your
> PATH.

There are two version of gs: one is a "native" Cygwin app (which
ultimately is a Win32 console app) and the other is an X11
Cygwin-XFree86 version.  The X11 version includes support for an
X11 preview window.  This version would not be supplanted or replaced
in any way.

What I was referring to was adding support for Win32 GUI preview
window that could be used with the Cygwin native app.  This would
involve adding the mswindll, mswinprn, mswinprn2 and display drivers
to the non-X11 version.  This would allow non-X11 users to preview
Postscript files.

Again, when I get some spare cycles, I'll do it.

-- 
Dario Alcocer -- Sr. Software Developer, Helix Digital Inc.
alcocer@helixdigital.com -- http://www.helixdigital.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-17 12:06         ` Igor Pechtchanski
@ 2002-09-18  7:23           ` Jason Tishler
  0 siblings, 0 replies; 26+ messages in thread
From: Jason Tishler @ 2002-09-18  7:23 UTC (permalink / raw)
  To: cygwin

Igor,

On Tue, Sep 17, 2002 at 02:25:32PM -0400, Igor Pechtchanski wrote:
> On Tue, 17 Sep 2002, Jason Tishler wrote:
> > Would you like to contribute a2ps?  Note that it builds OOTB under
> > Cygwin.
> 
> Yes, I know -- I just built it... :-)
> Hmm, does contributing some package automatically make you the
> maintainer?

Yes.

> Frankly, I'd rather not be tied up with any package just now...  Maybe
> in a few months...

Hmm...

Jason

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-17  6:24       ` Jason Tishler
@ 2002-09-17 12:06         ` Igor Pechtchanski
  2002-09-18  7:23           ` Jason Tishler
  0 siblings, 1 reply; 26+ messages in thread
From: Igor Pechtchanski @ 2002-09-17 12:06 UTC (permalink / raw)
  To: Jason Tishler, cygwin

On Tue, 17 Sep 2002, Jason Tishler wrote:

> Igor,
>
> On Mon, Sep 16, 2002 at 03:16:23PM -0400, Igor Pechtchanski wrote:
> > I know GSPrint can work with Windows printers.  It works fine if you
> > only want to use the windows default printer.  I couldn't, however,
> > get it to work correctly with the -printer and -query options (well,
> > the -printer part is mostly shell quoting issues, but the -query just
> > doesn't seem to work, somehow).  Any insight will be appreciated.  I'm
> > attaching the script that I currently have.
>
> Sorry, but I never had the need to handle more than one printer.  Have
> you discussed this issue with Pierre since he is the original author of
> the script?

Oh, I got gs to work with my multiple printers, so I'm not hurtin'...
However, if people want to use GSPrint, they may need this.  Pierre's
original script didn't have support for the -printer option, though, IIRC.

> > A question about your script: you're using the '-_' option, which
> > doesn't seem to be documented on the GSPrint page (
> > http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm ).  What exactly does
> > it do?
>
> IIRC, "-_" is just like "-" (i.e., stdin) but buffered.  Or, maybe it's
> the other way around. :,)

I see.

> > I also found this thread extremely interesting and relevant:
> > http://sources.redhat.com/ml/cygwin/2000-11/msg01570.html
>
> The above seems to imply that the gsprint "-printer" option should work.

Yes, it should, and it sort of does.  The problem is quoting the
backslashes and, especially, the spaces in the printer name.  This is more
of an issue for shared printers, where the name cannot be easily changed
under Windows.  And this is a shell issue, not a GSPrint one.

> > a2ps seems like the perfect solution for lp/lpr.
>
> IMO, a2ps is not a replacement for lp/lpr but instead a very nice tool
> to drive lp/lpr.

True.  What I like most about it is actually the a2ps-site.cfg, where you
can set up custom printers, etc.  This is the closest to /etc/printcap or
/etc/printers.conf that I've seen.  It would be nice to have something
similar for lp/lpr...

> > Is it ever going to become a cygwin package (
> > http://www.cygwin.com/ml/cygwin/2001-08/msg01240.html )?
>
> Would you like to contribute a2ps?  Note that it builds OOTB under
> Cygwin.
>
> Jason

Yes, I know -- I just built it... :-)
Hmm, does contributing some package automatically make you the maintainer?
Frankly, I'd rather not be tied up with any package just now...  Maybe in
a few months...
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-16 13:35     ` Igor Pechtchanski
@ 2002-09-17  6:24       ` Jason Tishler
  2002-09-17 12:06         ` Igor Pechtchanski
  0 siblings, 1 reply; 26+ messages in thread
From: Jason Tishler @ 2002-09-17  6:24 UTC (permalink / raw)
  To: cygwin

Igor,

On Mon, Sep 16, 2002 at 03:16:23PM -0400, Igor Pechtchanski wrote:
> I know GSPrint can work with Windows printers.  It works fine if you
> only want to use the windows default printer.  I couldn't, however,
> get it to work correctly with the -printer and -query options (well,
> the -printer part is mostly shell quoting issues, but the -query just
> doesn't seem to work, somehow).  Any insight will be appreciated.  I'm
> attaching the script that I currently have.

Sorry, but I never had the need to handle more than one printer.  Have
you discussed this issue with Pierre since he is the original author of
the script?

> A question about your script: you're using the '-_' option, which
> doesn't seem to be documented on the GSPrint page (
> http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm ).  What exactly does
> it do?

IIRC, "-_" is just like "-" (i.e., stdin) but buffered.  Or, maybe it's
the other way around. :,)

> I also found this thread extremely interesting and relevant:
> http://sources.redhat.com/ml/cygwin/2000-11/msg01570.html

The above seems to imply that the gsprint "-printer" option should work.

> a2ps seems like the perfect solution for lp/lpr.

IMO, a2ps is not a replacement for lp/lpr but instead a very nice tool
to drive lp/lpr.

> Is it ever going to become a cygwin package (
> http://www.cygwin.com/ml/cygwin/2001-08/msg01240.html )?

Would you like to contribute a2ps?  Note that it builds OOTB under
Cygwin.

Jason

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-09-16 11:37   ` Jason Tishler
@ 2002-09-16 13:35     ` Igor Pechtchanski
  2002-09-17  6:24       ` Jason Tishler
  0 siblings, 1 reply; 26+ messages in thread
From: Igor Pechtchanski @ 2002-09-16 13:35 UTC (permalink / raw)
  To: Jason Tishler; +Cc: cygwin

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1681 bytes --]

On Mon, 16 Sep 2002, Jason Tishler wrote:

> Igor,
>
> On Fri, Aug 30, 2002 at 05:59:39PM -0400, Igor Pechtchanski wrote:
> > Note the disabled support for gsprint -- I couldn't get it to work
> > properly.  If anyone can get the gsprint part to work, please let me
> > know.
>
> I use the attached shell script as "lpr" on my home computer with a
> direct or network (i.e., lpd) attached PCL printer.  Note that I'm using
> the Win32 GSView (and GhostScript).
>
> Jason

Jason,
I know GSPrint can work with Windows printers.  It works fine if you only
want to use the windows default printer.  I couldn't, however, get it to
work correctly with the -printer and -query options (well, the -printer
part is mostly shell quoting issues, but the -query just doesn't seem to
work, somehow).  Any insight will be appreciated.  I'm attaching the
script that I currently have.

A question about your script: you're using the '-_' option, which doesn't
seem to be documented on the GSPrint page (
http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm ).  What exactly does it
do?

I also found this thread extremely interesting and relevant:
http://sources.redhat.com/ml/cygwin/2000-11/msg01570.html
a2ps seems like the perfect solution for lp/lpr.  Is it ever going to
become a cygwin package (
http://www.cygwin.com/ml/cygwin/2001-08/msg01240.html )?

Thanks,
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51

[-- Attachment #2: Type: TEXT/PLAIN, Size: 4069 bytes --]

#! /bin/sh
# Author: Pierre A. Humblet pierre.humblet@ieee.org  
#   Created: May 2000
#   Modified: March 2001 Add support for gsprint
# Modify and redistribute freely. Use at your own risk.
# This is distributed as part of the Xfig-Cygwin package.
#
# Modified: Igor Pechtchanski pechtcha@cs.nyu.edu
#   Modified: February 2002 Add support for -P and $PRINTER
#   Modified: February 2002 Add support for stdin
#   Modified: March 2002 Disable gsprint support
#   Modified: May 2002 Tweak gs options
#   Modified: August 2002 Add -Q and -h; make presentable
#   Modified: September 2002 Enable gsprint support
#
# Script to print postscript from stdin or the file given as 
#   single argument.
# Relies on the existence of gsprint 
#   ( http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm )
#   or of gs (ghostscript) with device mswinpr2
#

#GSLP=gslp.ps
GSLP=`cygpath -w /usr/local/bin/gslp.ps`
USAGE="\
Usage: $0 [--help] [--query|-Q]
       [--printer <printer>|-P <printer>|-P<printer>] [file_1 .. file_n]"

while [ $# -gt 0 ]; do
 case "$1" in
  -h | --help)    shift; echo "$USAGE"; exit 0 ;;
  -Q | --query)   shift; QUERY=true ;;
  -P | --printer) shift; PRINTER="$1"; shift
                  if [ -z "$PRINTER" ]; then
                   echo Please specify a printer with -P 1>&2
                   exit 2
                  fi ;;
  -P*)            PRINTER="${1#-P}"; shift ;;
  --)             shift; break ;;
  -*)             echo "$0: $1: invalid option" 1>&2
  		  echo "$USAGE" 1>&2
  		  exit 2 ;;
  *)              break ;;
 esac
done

if [ "${1:-}" = "" ]
then
# file=-_
 file='%stdin'
else
 file="$1"
 if [ ! -r "$file" ]
 then
  file="${file}.ps"
  if [ ! -r "$file" ]
  then
   echo Cannot read "$file" 1>&2
   exit
  fi
 fi
 file=`cygpath -w "$file"`
fi

#echo "Printing '${file}' to $PRINTER"

# Look for Ghostgum Gsview in the registry
GSPRINT=""
VERSIONS=`regtool -q list '\HKLM\SOFTWARE\Ghostgum\Gsview'`
# Scan all versions, keep the last good one
for VER in ${VERSIONS}
do
 WHERE_W=`regtool -q get '\HKLM\SOFTWARE\Ghostgum\Gsview\'"${VER}"`
 if [ -n "$WHERE_W" ]
 then
  WHERE_U=`cygpath -u "$WHERE_W"`
  GSPRINT_CAND="${WHERE_U}/gsview/gsprint.exe"
  if [ -x "$GSPRINT_CAND" ]
  then
   GSPRINT="${GSPRINT_CAND}"
  fi
 fi
done   

# Escape backslashes in $PRINTER
PRINTER=`echo $PRINTER | sed 's/\\\\/\\\\\\\\/g'`

if [ -n "$GSPRINT" ]
then
# Use gsprint
 PRINTSTR=""
 if [ -n "$PRINTER" ]
 then
  PRINTSTR="-printer $PRINTER -noquery"
 elif [ -n "$QUERY" ]
 then
  PRINTSTR='-query'
 else
  PRINTSTR='-noquery -noprinter'
 fi
 echo "${GSPRINT}" -q $PRINTSTR -c mark /NoCancel true /UserSettings '<<' /MaxResolution 1200 '>>' -f -sPROGNAME=lpr "${file}"
 "${GSPRINT}" -q $PRINTSTR -c mark /NoCancel true /UserSettings '<<' /MaxResolution 1200 '>>' -f -sPROGNAME=lpr "${file}"
else
# Try gs
 if [ -n "$PRINTER" ]
 then
  PRINTSTR='/OutputFile (\\\\spool\\'"$PRINTER"')'
 elif [ -n "$QUERY" ]
 then
  PRINTSTR='/QueryUser 1'
 else
  PRINTSTR='/QueryUser 3'
 fi
# echo "Printing '${file}' to $PRINTER using gs -dNOPAUSE -dBATCH -q -c mark /NoCancel true $PRINTSTR /UserSettings '<<' /MaxResolution 1200 '>>' '(mswinpr2)' finddevice putdeviceprops setdevice -f -sPROGNAME=lpr -- $GSLP --detect -B ${file}"
 gs -dNOPAUSE -dBATCH -q -c mark /NoCancel true "$PRINTSTR" /UserSettings '<<' /MaxResolution 1200 '>>' '(mswinpr2)' finddevice putdeviceprops setdevice -f -sPROGNAME=lpr -- $GSLP --detect -B "${file}"
fi

# This worked: "gs -dNOPAUSE -dBATCH -q -sDEVICE=mswinpr2 -r600 '-sOutputFile=\\spool\$PRINTER' -dNoCancel -sPROGNAME=gslp -- gslp.ps ${file}"
# So did this: "gs -dNOPAUSE -dBATCH -q -c mark /NoCancel true /QueryUser 3 /OutputFile '(\\spool\lp.scs.cs.nyu.edu)' /UserSettings '<<' /MaxResolution 1200 '>>' '(mswinpr2)' finddevice putdeviceprops setdevice -f -sPROGNAME=gslp -- gslp.ps ${file}"

[-- Attachment #3: Type: text/plain, Size: 214 bytes --]

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 14:59 ` Igor Pechtchanski
@ 2002-09-16 11:37   ` Jason Tishler
  2002-09-16 13:35     ` Igor Pechtchanski
  0 siblings, 1 reply; 26+ messages in thread
From: Jason Tishler @ 2002-09-16 11:37 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 407 bytes --]

Igor,

On Fri, Aug 30, 2002 at 05:59:39PM -0400, Igor Pechtchanski wrote:
> Note the disabled support for gsprint -- I couldn't get it to work
> properly.  If anyone can get the gsprint part to work, please let me
> know.

I use the attached shell script as "lpr" on my home computer with a
direct or network (i.e., lpd) attached PCL printer.  Note that I'm using
the Win32 GSView (and GhostScript).

Jason

[-- Attachment #2: lpr --]
[-- Type: text/plain, Size: 120 bytes --]

#! /bin/bash

GSPRINT=/mnt/c/Program\ Files/Ghostgum/gsview/gsprint
LOGFILE=/tmp/lpr.log

"$GSPRINT" -_ >$LOGFILE 2>&1


[-- Attachment #3: Type: text/plain, Size: 214 bytes --]

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* RE: printing from within Cygwin
@ 2002-09-06 11:02 Robinow, David
  0 siblings, 0 replies; 26+ messages in thread
From: Robinow, David @ 2002-09-06 11:02 UTC (permalink / raw)
  To: cygwin

> From: Nicholas Wourms [mailto:nwourms@yahoo.com]
> --- Dario Alcocer <alcocer@helixdigital.com> wrote:
> > On Wed, Sep 04, 2002 at 10:26:36AM -0700, Shankar Unni wrote:
> > > Igor Pechtchanski wrote:
> > > I wonder if it's possible to build the Cygwin gs with these
extensions? 
> > > Or at least the Windows devices?  There are the "mswindll", "mswinprn"

> > > and "mswinpr2" devices, and the "display" device for the Windows
native 
> > > display (the one that "gswin32" pops up).
> > 
> > Yes, it's definitely doable; it's on my long list of "to-do" items.
> > As soon as I have more "free time" I'll do it.
> 
> Please don't do this, I'd rather have gs act like gs does in unix.
> Having it act like the win32 version defeats the whole purpose.  If
> he wants a win32 version, why doesn't he just use the win32 version. 
> What happens if we get a full lpd which accesses the parallel port
> via a dev point?  I'm sure there are other examples, but again if you
> want a win32 version go get the win32 version and add it to your
> PATH.
  I count 86 available devices in Cygwin gs.  I don't think a few more will
hurt. 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 12:41 Fred_Smith
  2002-08-30 13:22 ` Tim Beuman
@ 2002-08-30 20:26 ` Rick Rankin
  1 sibling, 0 replies; 26+ messages in thread
From: Rick Rankin @ 2002-08-30 20:26 UTC (permalink / raw)
  To: Fred_Smith; +Cc: cygwin

Fred,

I asked about your version of lpr because there are versions out there other
than the one that comes in the cygutils package. The version that comes with
cygutils supports the -P option to define the printer device (-d is an alias
for -P). It also supports the PRINTER environment variable. So, for example,
you can add the line

export PRINTER=\\\\computer_name\\printer_share_name

in your .bash_profile (or /etc/profile or your native NT environment or ...) to
set your default printer. You can also set up your own name for a local or
remote printer when you set it up via the normal NT mechanisms, then use that
name as the value of your printer environment variable. That's what I do --
that way I don't have to fool with the backslashes.

BTW, I have an updated version of lpr that supports forward slashes in the
printer name as well as some support for lpt1 type device names. I'm just
waiting for Chuck to get back to get it into the next release of cygutils.

--Rick
--- Fred_Smith@computrition.com wrote:
> Rick, thanks for the reply.
> 
> At the moment I'm using NT4.x. In the future it could be nearly anything,
> but I'm going to try to constrain it to nothing less than NT 4.x.
> 
> I'm using whatever the lpr command is that I got when I installed cygwin, I
> don't see any options anywhere to change that. In fact I don't even see lpr
> listed in any of the cygwin info on the web page, so I'm not at all sure
> what it is.
> 
> 'which lpr' shows /usr/bin/lpr
> and "ls -l /usr/bin/lpr" shows lpr.exe to be 7680 bytes.
> 
> As to which printer, I'd like to (at a minimum) be able to print to the
> NT-defined default printer, but better would be to figure out how lpr maps
> into windows printers so I can tell it which printer to actually use.
> 
> As you may be able to tell I'm not real familiar with either Cygwin, or
> NT., so the NT printing susbystem is largely a black hole to me.
> 
> 
> 
> 
> 
> Rick Rankin <rick_rankin@yahoo.com> on 08/30/2002 03:21:51 PM
> 
> To:   Fred Smith/Computrition, cygwin@cygwin.com
> cc:
> Subject:  Re: printing from within Cygwin
> 
> 
> 
> 
> Which lpr are you using, which OS (9x or NT/2K/XP), and are you trying to
> print
> to a locally attached or a network printer?
> --Rick
> --- Fred_Smith@computrition.com wrote:
> > Trying to figure out how to print from a Cywin (console) app.
> >
> > Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to
> a
> > shellscript which in turn cats its input to lpr (it may do other things,
> > and may transform the data, but that's the ultimate goal).
> >
> > trying to figure out how to do something akin to that under cygwin.
> >
> > Invoking "lpr <filename>" at the command prompt comes back with an error
> > message:
> >
> >      can't open 'prn' for writing.
> >
> >
> > Advice would be appreciated. (I hope you're not going to tell me I need
> to
> > learn all about the innards of windoze printing!)
> >
> > Thanks!
> >
> > Fred
> >
> >
> >
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Finance - Get real-time stock quotes
> http://finance.yahoo.com
> 
> 
> 
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* RE: printing from within Cygwin
  2002-08-30 15:03   ` Jim George
@ 2002-08-30 15:22     ` Tim Beuman
  0 siblings, 0 replies; 26+ messages in thread
From: Tim Beuman @ 2002-08-30 15:22 UTC (permalink / raw)
  To: Cygwin@Cygwin. Com; +Cc: Jim George

To be honest, I don't know. I tried a simple text file (no postscript)
myself without problems. Our network printer understands postscript and
plain text files and makes the distinction itself (I can sent both plain
text and postsript files and both types are printed properly). I don't know
whether your printer accepts plain text files or only accepts postscript
files. I'm not sure if I can be of any help in this aspect.

If the printer only accepts postscript, 'enscript' might be useful.

Tim

-----Original Message-----
From: cygwin-owner@cygwin.com [ mailto:cygwin-owner@cygwin.com]On Behalf
Of Jim George
Sent: Friday, August 30, 2002 03:02 PM
To: cygwin@cygwin.com
Subject: Re: printing from within Cygwin


Tim,

    when I try that with a networked Epson Photo printer to print a simple
text file, I get nothing but a form feed.

    Is this a postscript problem or what, do you think?

Jim
----- Original Message -----
From: "Tim Beuman" <timb@cdvinc.com>
To: "Cygwin@Cygwin. Com" <cygwin@cygwin.com>
Cc: <Fred_Smith@computrition.com>
Sent: Friday, August 30, 2002 9:21 PM
Subject: RE: printing from within Cygwin


> I am using "lpr -P \\\\<computer>\\<printer> <file>" to print on a network
> printer.
> I guess the same construct works on a local printer too (using the local
> computer's name)?
>
> Tim
>
> -----Original Message-----
> From: cygwin-owner@cygwin.com [ mailto:cygwin-owner@cygwin.com]On Behalf
> Of Fred_Smith@computrition.com
> Sent: Friday, August 30, 2002 12:42 PM
> To: Rick Rankin
> Cc: cygwin@cygwin.com
> Subject: Re: printing from within Cygwin
>
>
> Rick, thanks for the reply.
>
> At the moment I'm using NT4.x. In the future it could be nearly anything,
> but I'm going to try to constrain it to nothing less than NT 4.x.
>
> I'm using whatever the lpr command is that I got when I installed cygwin,
I
> don't see any options anywhere to change that. In fact I don't even see
lpr
> listed in any of the cygwin info on the web page, so I'm not at all sure
> what it is.
>
> 'which lpr' shows /usr/bin/lpr
> and "ls -l /usr/bin/lpr" shows lpr.exe to be 7680 bytes.
>
> As to which printer, I'd like to (at a minimum) be able to print to the
> NT-defined default printer, but better would be to figure out how lpr maps
> into windows printers so I can tell it which printer to actually use.
>
> As you may be able to tell I'm not real familiar with either Cygwin, or
> NT., so the NT printing susbystem is largely a black hole to me.
>
>
>
>
>
> Rick Rankin <rick_rankin@yahoo.com> on 08/30/2002 03:21:51 PM
>
> To:   Fred Smith/Computrition, cygwin@cygwin.com
> cc:
> Subject:  Re: printing from within Cygwin
>
>
>
>
> Which lpr are you using, which OS (9x or NT/2K/XP), and are you trying to
> print
> to a locally attached or a network printer?
> --Rick
> --- Fred_Smith@computrition.com wrote:
> > Trying to figure out how to print from a Cywin (console) app.
> >
> > Porting a Linux app to cygwin. On Linux it uses popen() to pipe output
to
> a
> > shellscript which in turn cats its input to lpr (it may do other things,
> > and may transform the data, but that's the ultimate goal).
> >
> > trying to figure out how to do something akin to that under cygwin.
> >
> > Invoking "lpr <filename>" at the command prompt comes back with an error
> > message:
> >
> >      can't open 'prn' for writing.
> >
> >
> > Advice would be appreciated. (I hope you're not going to tell me I need
> to
> > learn all about the innards of windoze printing!)
> >
> > Thanks!
> >
> > Fred
> >
> >
> >
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Finance - Get real-time stock quotes
> http://finance.yahoo.com
>
>
>
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 13:22 ` Tim Beuman
@ 2002-08-30 15:03   ` Jim George
  2002-08-30 15:22     ` Tim Beuman
  0 siblings, 1 reply; 26+ messages in thread
From: Jim George @ 2002-08-30 15:03 UTC (permalink / raw)
  To: cygwin

Tim,

    when I try that with a networked Epson Photo printer to print a simple
text file, I get nothing but a form feed.

    Is this a postscript problem or what, do you think?

Jim
----- Original Message -----
From: "Tim Beuman" <timb@cdvinc.com>
To: "Cygwin@Cygwin. Com" <cygwin@cygwin.com>
Cc: <Fred_Smith@computrition.com>
Sent: Friday, August 30, 2002 9:21 PM
Subject: RE: printing from within Cygwin


> I am using "lpr -P \\\\<computer>\\<printer> <file>" to print on a network
> printer.
> I guess the same construct works on a local printer too (using the local
> computer's name)?
>
> Tim
>
> -----Original Message-----
> From: cygwin-owner@cygwin.com [ mailto:cygwin-owner@cygwin.com]On Behalf
> Of Fred_Smith@computrition.com
> Sent: Friday, August 30, 2002 12:42 PM
> To: Rick Rankin
> Cc: cygwin@cygwin.com
> Subject: Re: printing from within Cygwin
>
>
> Rick, thanks for the reply.
>
> At the moment I'm using NT4.x. In the future it could be nearly anything,
> but I'm going to try to constrain it to nothing less than NT 4.x.
>
> I'm using whatever the lpr command is that I got when I installed cygwin,
I
> don't see any options anywhere to change that. In fact I don't even see
lpr
> listed in any of the cygwin info on the web page, so I'm not at all sure
> what it is.
>
> 'which lpr' shows /usr/bin/lpr
> and "ls -l /usr/bin/lpr" shows lpr.exe to be 7680 bytes.
>
> As to which printer, I'd like to (at a minimum) be able to print to the
> NT-defined default printer, but better would be to figure out how lpr maps
> into windows printers so I can tell it which printer to actually use.
>
> As you may be able to tell I'm not real familiar with either Cygwin, or
> NT., so the NT printing susbystem is largely a black hole to me.
>
>
>
>
>
> Rick Rankin <rick_rankin@yahoo.com> on 08/30/2002 03:21:51 PM
>
> To:   Fred Smith/Computrition, cygwin@cygwin.com
> cc:
> Subject:  Re: printing from within Cygwin
>
>
>
>
> Which lpr are you using, which OS (9x or NT/2K/XP), and are you trying to
> print
> to a locally attached or a network printer?
> --Rick
> --- Fred_Smith@computrition.com wrote:
> > Trying to figure out how to print from a Cywin (console) app.
> >
> > Porting a Linux app to cygwin. On Linux it uses popen() to pipe output
to
> a
> > shellscript which in turn cats its input to lpr (it may do other things,
> > and may transform the data, but that's the ultimate goal).
> >
> > trying to figure out how to do something akin to that under cygwin.
> >
> > Invoking "lpr <filename>" at the command prompt comes back with an error
> > message:
> >
> >      can't open 'prn' for writing.
> >
> >
> > Advice would be appreciated. (I hope you're not going to tell me I need
> to
> > learn all about the innards of windoze printing!)
> >
> > Thanks!
> >
> > Fred
> >
> >
> >
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Finance - Get real-time stock quotes
> http://finance.yahoo.com
>
>
>
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 10:23 Fred_Smith
  2002-08-30 12:21 ` Rick Rankin
  2002-08-30 14:59 ` Igor Pechtchanski
@ 2002-08-30 15:00 ` Gerrit P. Haase
  2 siblings, 0 replies; 26+ messages in thread
From: Gerrit P. Haase @ 2002-08-30 15:00 UTC (permalink / raw)
  To: Fred_Smith; +Cc: cygwin

Hallo Fred,

Am Freitag, 30. August 2002 um 19:24 schriebst du:

> Invoking "lpr <filename>" at the command prompt comes back with an error
> message:

>      can't open 'prn' for writing.


> Advice would be appreciated. (I hope you're not going to tell me I need to
> learn all about the innards of windoze printing!)

See this, please:
http://www.cygwin.com/ml/cygwin/2002-04/msg01035.html
http://www.cygwin.com/ml/cygwin/2002-04/msg01038.html


Gerrit
-- 
=^..^=


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 10:23 Fred_Smith
  2002-08-30 12:21 ` Rick Rankin
@ 2002-08-30 14:59 ` Igor Pechtchanski
  2002-09-16 11:37   ` Jason Tishler
  2002-08-30 15:00 ` Gerrit P. Haase
  2 siblings, 1 reply; 26+ messages in thread
From: Igor Pechtchanski @ 2002-08-30 14:59 UTC (permalink / raw)
  To: Fred_Smith; +Cc: cygwin

On Fri, 30 Aug 2002 Fred_Smith@computrition.com wrote:

> Trying to figure out how to print from a Cywin (console) app.
>
> Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to a
> shellscript which in turn cats its input to lpr (it may do other things,
> and may transform the data, but that's the ultimate goal).
>
> trying to figure out how to do something akin to that under cygwin.
>
> Invoking "lpr <filename>" at the command prompt comes back with an error
> message:
>
>      can't open 'prn' for writing.
>
> Advice would be appreciated. (I hope you're not going to tell me I need to
> learn all about the innards of windoze printing!)
>
> Thanks!
> Fred

No, learning the innards of "windoze" printing is not necessary.  Learning
ghostscript options, however, wouldn't hurt. ;-)

I have been using the attached script for a while.  It works on my current
system (Win2k with gs7.03 installed).  Note the disabled support for
gsprint -- I couldn't get it to work properly.  If anyone can get the
gsprint part to work, please let me know.

I also had to tweak the standard gslp.ps that comes with ghostscript to
allow printing standard input properly (modified script attached).  My
copy of gslp.ps is in /usr/local/bin, and the script expects to find it
there.

The -P option and the $PRINTER variable will recognize windows printer
names (spaces and all).  'ware of the backslashes...  Use the -Q option to
select the printer using the windows printer selection dialog.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

It took the computational power of three Commodore 64s to fly to the moon.
It takes a 486 to run Windows 95.  Something is wrong here. -- SC sig file

^ permalink raw reply	[flat|nested] 26+ messages in thread

* RE: printing from within Cygwin
  2002-08-30 12:41 Fred_Smith
@ 2002-08-30 13:22 ` Tim Beuman
  2002-08-30 15:03   ` Jim George
  2002-08-30 20:26 ` Rick Rankin
  1 sibling, 1 reply; 26+ messages in thread
From: Tim Beuman @ 2002-08-30 13:22 UTC (permalink / raw)
  To: Cygwin@Cygwin. Com; +Cc: Fred_Smith

I am using "lpr -P \\\\<computer>\\<printer> <file>" to print on a network
printer.
I guess the same construct works on a local printer too (using the local
computer's name)?

Tim

-----Original Message-----
From: cygwin-owner@cygwin.com [ mailto:cygwin-owner@cygwin.com]On Behalf
Of Fred_Smith@computrition.com
Sent: Friday, August 30, 2002 12:42 PM
To: Rick Rankin
Cc: cygwin@cygwin.com
Subject: Re: printing from within Cygwin


Rick, thanks for the reply.

At the moment I'm using NT4.x. In the future it could be nearly anything,
but I'm going to try to constrain it to nothing less than NT 4.x.

I'm using whatever the lpr command is that I got when I installed cygwin, I
don't see any options anywhere to change that. In fact I don't even see lpr
listed in any of the cygwin info on the web page, so I'm not at all sure
what it is.

'which lpr' shows /usr/bin/lpr
and "ls -l /usr/bin/lpr" shows lpr.exe to be 7680 bytes.

As to which printer, I'd like to (at a minimum) be able to print to the
NT-defined default printer, but better would be to figure out how lpr maps
into windows printers so I can tell it which printer to actually use.

As you may be able to tell I'm not real familiar with either Cygwin, or
NT., so the NT printing susbystem is largely a black hole to me.





Rick Rankin <rick_rankin@yahoo.com> on 08/30/2002 03:21:51 PM

To:   Fred Smith/Computrition, cygwin@cygwin.com
cc:
Subject:  Re: printing from within Cygwin




Which lpr are you using, which OS (9x or NT/2K/XP), and are you trying to
print
to a locally attached or a network printer?
--Rick
--- Fred_Smith@computrition.com wrote:
> Trying to figure out how to print from a Cywin (console) app.
>
> Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to
a
> shellscript which in turn cats its input to lpr (it may do other things,
> and may transform the data, but that's the ultimate goal).
>
> trying to figure out how to do something akin to that under cygwin.
>
> Invoking "lpr <filename>" at the command prompt comes back with an error
> message:
>
>      can't open 'prn' for writing.
>
>
> Advice would be appreciated. (I hope you're not going to tell me I need
to
> learn all about the innards of windoze printing!)
>
> Thanks!
>
> Fred
>
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
@ 2002-08-30 12:41 Fred_Smith
  2002-08-30 13:22 ` Tim Beuman
  2002-08-30 20:26 ` Rick Rankin
  0 siblings, 2 replies; 26+ messages in thread
From: Fred_Smith @ 2002-08-30 12:41 UTC (permalink / raw)
  To: Rick Rankin; +Cc: cygwin

Rick, thanks for the reply.

At the moment I'm using NT4.x. In the future it could be nearly anything,
but I'm going to try to constrain it to nothing less than NT 4.x.

I'm using whatever the lpr command is that I got when I installed cygwin, I
don't see any options anywhere to change that. In fact I don't even see lpr
listed in any of the cygwin info on the web page, so I'm not at all sure
what it is.

'which lpr' shows /usr/bin/lpr
and "ls -l /usr/bin/lpr" shows lpr.exe to be 7680 bytes.

As to which printer, I'd like to (at a minimum) be able to print to the
NT-defined default printer, but better would be to figure out how lpr maps
into windows printers so I can tell it which printer to actually use.

As you may be able to tell I'm not real familiar with either Cygwin, or
NT., so the NT printing susbystem is largely a black hole to me.





Rick Rankin <rick_rankin@yahoo.com> on 08/30/2002 03:21:51 PM

To:   Fred Smith/Computrition, cygwin@cygwin.com
cc:
Subject:  Re: printing from within Cygwin




Which lpr are you using, which OS (9x or NT/2K/XP), and are you trying to
print
to a locally attached or a network printer?
--Rick
--- Fred_Smith@computrition.com wrote:
> Trying to figure out how to print from a Cywin (console) app.
>
> Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to
a
> shellscript which in turn cats its input to lpr (it may do other things,
> and may transform the data, but that's the ultimate goal).
>
> trying to figure out how to do something akin to that under cygwin.
>
> Invoking "lpr <filename>" at the command prompt comes back with an error
> message:
>
>      can't open 'prn' for writing.
>
>
> Advice would be appreciated. (I hope you're not going to tell me I need
to
> learn all about the innards of windoze printing!)
>
> Thanks!
>
> Fred
>
>
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: printing from within Cygwin
  2002-08-30 10:23 Fred_Smith
@ 2002-08-30 12:21 ` Rick Rankin
  2002-08-30 14:59 ` Igor Pechtchanski
  2002-08-30 15:00 ` Gerrit P. Haase
  2 siblings, 0 replies; 26+ messages in thread
From: Rick Rankin @ 2002-08-30 12:21 UTC (permalink / raw)
  To: Fred_Smith, cygwin

Which lpr are you using, which OS (9x or NT/2K/XP), and are you trying to print
to a locally attached or a network printer?

--Rick
--- Fred_Smith@computrition.com wrote:
> Trying to figure out how to print from a Cywin (console) app.
> 
> Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to a
> shellscript which in turn cats its input to lpr (it may do other things,
> and may transform the data, but that's the ultimate goal).
> 
> trying to figure out how to do something akin to that under cygwin.
> 
> Invoking "lpr <filename>" at the command prompt comes back with an error
> message:
> 
>      can't open 'prn' for writing.
> 
> 
> Advice would be appreciated. (I hope you're not going to tell me I need to
> learn all about the innards of windoze printing!)
> 
> Thanks!
> 
> Fred
> 
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* printing from within Cygwin
@ 2002-08-30 10:23 Fred_Smith
  2002-08-30 12:21 ` Rick Rankin
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Fred_Smith @ 2002-08-30 10:23 UTC (permalink / raw)
  To: cygwin

Trying to figure out how to print from a Cywin (console) app.

Porting a Linux app to cygwin. On Linux it uses popen() to pipe output to a
shellscript which in turn cats its input to lpr (it may do other things,
and may transform the data, but that's the ultimate goal).

trying to figure out how to do something akin to that under cygwin.

Invoking "lpr <filename>" at the command prompt comes back with an error
message:

     can't open 'prn' for writing.


Advice would be appreciated. (I hope you're not going to tell me I need to
learn all about the innards of windoze printing!)

Thanks!

Fred



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2002-09-18 12:24 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-30 19:23 printing from within Cygwin Fred_Smith
2002-08-31  0:19 ` Jim George
2002-08-31 12:42   ` Igor Pechtchanski
2002-09-03 23:57     ` Jim George
2002-09-04 10:26     ` Shankar Unni
2002-09-04 11:27       ` Igor Pechtchanski
2002-09-05  5:44       ` Dario Alcocer
2002-09-06 10:41         ` Nicholas Wourms
2002-09-06 16:51           ` Shankar Unni
2002-09-06 23:37           ` Dario Alcocer
2002-09-06 11:13         ` Igor Pechtchanski
  -- strict thread matches above, loose matches on Subject: below --
2002-09-06 11:02 Robinow, David
2002-08-30 12:41 Fred_Smith
2002-08-30 13:22 ` Tim Beuman
2002-08-30 15:03   ` Jim George
2002-08-30 15:22     ` Tim Beuman
2002-08-30 20:26 ` Rick Rankin
2002-08-30 10:23 Fred_Smith
2002-08-30 12:21 ` Rick Rankin
2002-08-30 14:59 ` Igor Pechtchanski
2002-09-16 11:37   ` Jason Tishler
2002-09-16 13:35     ` Igor Pechtchanski
2002-09-17  6:24       ` Jason Tishler
2002-09-17 12:06         ` Igor Pechtchanski
2002-09-18  7:23           ` Jason Tishler
2002-08-30 15:00 ` Gerrit P. Haase

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).