GS(1) GS(1) NNAAMMEE gs - Ghostscript version 2.6 interpreter/previewer SSYYNNOOPPSSIISS ggss [ _o_p_t_i_o_n_s ] [ _f_i_l_e_s ] ... DDEESSCCRRIIPPTTIIOONN Ghostscript is a programming language similar to Adobe Systems' PostScript (tm) language, which is in turn simi- lar to Forth. _G_s reads _f_i_l_e_s in sequence and executes them as Ghostscript programs. After doing this, it reads further input from the standard input stream (normally the keyboard). Each line is interpreted separately. To exit from the interpreter, enter the `quit' command. The interpreter also exits gracefully if it encounters end-of- file. Typing the interrupt character (e.g. Control-C) is also safe. The interpreter recognizes several switches described below, which may appear anywhere in the command line and apply to all files thereafter. You can get a help message by invoking Ghostscript with the --hh or --?? option. This message also lists the avail- able devices. Ghostscript may be built with multiple output devices. Ghostscript normally opens the first one and directs out- put to it. To use device xyz as the initial output device, include the switch -sDEVICE=xyz in the command line. Note that this switch must precede the first .ps file, and only its first invocation has any effect. For example, for printer output in a normal con- figuration that includes an Epson printer driver, you might use the shell command gs -sDEVICE=epson myfile.ps instead of just gs myfile.ps Alternatively, you can type (epson) selectdevice (myfile.ps) run All output then goes to the printer instead of the display until further notice. You can switch devices at any time by using the selectdevice procedure, e.g., (vga) selectdevice or (epson) selectdevice As yet a third alternative, you can define an environment variable GS_DEVICE as the desired default device name. The order of precedence for these alternatives, highest to lowest, is: selectdevice (command line) 10 May 1993 1 GS(1) GS(1) GS_DEVICE (first device in build list) To select the density on a printer, use gs -sDEVICE= -rx For example, on a 9-pin Epson-compatible printer, you can get the lowest-density (fastest) mode with gs -sDEVICE=epson -r60x72 and the highest-density mode with gs -sDEVICE=epson -r240x72. If you select a printer as the output device, Ghostscript also allows you to control where the device sends its out- put. Normally, output goes directly to a scratch file on Unix systems. To send the output to a series of files foo1.xyz, foo2.xyz, ..., use the switch -sOutputFile=foo%d.xyz The %d is a printf format specification; you can use other formats like %02d. Each file will receive one page of output. Alternatively, to send the output to a single file foo.xyz, with all the pages concatenated, use the switch -sOutputFile=foo.xyz On Unix systems, you can send the output directly to a pipe. For example, to pipe the output to the command `lpr' (which, on many Unix systems, is the command that spools output for a printer), use the switch -sOutputFile=lpr You can also send output to stdout for piping with the switch -sOutputFile=- In this case you must also use the -q switch, to prevent Ghostscript from writing messages to stdout. To find out what devices are available, type devicenames == after starting up Ghostscript. Alternatively, you can use the -h or -? switch in the command line; the help message also lists the available devices. When looking for the initialization files (gs_*.ps), the files related to fonts, or the file for the `run' opera- tor, Ghostscript first tries opening the file with the name as given (i.e., using the current working directory if none is specified). If this fails, and the file name doesn't specify an explicit directory or drive (i.e., doesn't begin with `/' on Unix systems), Ghostscript will try directories in the following order: 1. The directory/ies specified by the -I switch(es) in the command line (see below), if any; 2. The directory/ies specified by the GS_LIB 10 May 1993 2 GS(1) GS(1) environment variable, if any; 3. The directory/ies specified by the GS_LIB_DEFAULT macro in the Ghostscript makefile (which has been set to "/usr/local/lib/ghostscript:/usr/local/lib/ghostscript/fonts"). Each of these (GS_LIB_DEFAULT, GS_LIB, and -I parameter) may be either a single directory, or a list of directories separated by a `:'. XX RREESSOOUURRCCEESS Ghostscript looks for the following resources under the program name `Ghostscript': bboorrddeerrWWiiddtthh The border width in pixels (default = 1). bboorrddeerrCCoolloorr The name of the border color (default = black). ggeeoommeettrryy The window size and placement, WxH+X+Y (default is NULL). xxRReessoolluuttiioonn The number of x pixels per inch (default is com- puted from WidthOfScreen and WidthMMOfScreen). yyRReessoolluuttiioonn The number of y pixels per inch (default is com- puted from HeightOfScreen and HeightMMOfScreen). uusseeBBaacckkiinnggPPiixxmmaapp Determines whether backing store is to be used for saving display window (default = true). See the file `use.doc' for a more complete list of resources. To set these resources, put them in a file (such as ~/.Xresources) in the following form: Ghostscript*geometry: 612x792-0+0 Ghostscript*xResolution: 72 Ghostscript*yResolution: 72 Then load the defaults into the X server: % xrdb -merge ~/.Xresources OOPPTTIIOONNSS ---- _f_i_l_e_n_a_m_e _a_r_g_1 _._._. Takes the next argument as a file name as usual, 10 May 1993 3 GS(1) GS(1) but takes all remaining arguments (even if they have the syntactic form of switches) and defines the name ARGUMENTS in userdict (not systemdict) as an array of those strings, _b_e_f_o_r_e running the file. When Ghostscript finishes executing the file, it exits back to the shell. --DD_n_a_m_e==_t_o_k_e_n --dd_n_a_m_e==_t_o_k_e_n Define a name in systemdict with the given defini- tion. The token must be exactly one token (as defined by the `token' operator) and must not con- tain any whitespace. --DD_n_a_m_e --dd_n_a_m_e Define a name in systemdict with value=null. --SS_n_a_m_e==_s_t_r_i_n_g --ss_n_a_m_e==_s_t_r_i_n_g Define a name in systemdict with a given string as value. This is different from -d. For example, -dname=35 is equivalent to the program fragment /name 35 def whereas -s name=35 is equivalent to /name (35) def --qq Quiet startup - suppress normal startup messages, and also do the equivalent of -dQUIET. --gg_n_u_m_b_e_r_1xx_n_u_m_b_e_r_2 Equivalent to --ddDDEEVVIICCEEWWIIDDTTHH==_n_u_m_b_e_r_1 and --ddDDEEVVIICCEE-- HHEEIIGGHHTT==_n_u_m_b_e_r_2.. This is for the benefit of devices (such as X11 windows) that require (or allow) width and height to be specified. --rr_n_u_m_b_e_r --rr_n_u_m_b_e_r_1xx_n_u_m_b_e_r_2 Equivalent to --ddDDEEVVIICCEEXXRREESSOOLLUUTTIIOONN==_n_u_m_b_e_r_1 and --ddDDEE-- VVIICCEEYYRREESSOOLLUUTTIIOONN==_n_u_m_b_e_r_2.. This is for the benefit of devices (such as printers) that support multiple X and Y resolutions. (If only one number is given, it is used for both X and Y resolutions.) --II_d_i_r_e_c_t_o_r_i_e_s Adds the designated list of directories at the head of the search path for library files. -- This is not really a switch. It indicates to Ghostscript that the standard input is coming from a file or a pipe. Ghostscript reads from stdin until reaching end-of-file, executing it like any other file, and then continues processing the com- mand line. At the end of the command line, Ghostscript exits rather than going into its 10 May 1993 4 GS(1) GS(1) interactive mode. Note that gs_init.ps makes systemdict read-only, so the values of names defined with -D/d/S/s cannot be changed (although, of course, they can be superseded by defini- tions in userdict or other dictionaries.) SSPPEECCIIAALL NNAAMMEESS --ddDDIISSKKFFOONNTTSS Causes individual character outlines to be loaded from the disk the first time they are encountered. (Normally Ghostscript loads all the character out- lines when it loads a font.) This may allow load- ing more fonts into RAM, at the expense of slower rendering. --ddNNOOCCAACCHHEE Disables character caching. Only useful for debug- ging. --ddNNOOBBIINNDD Disables the `bind' operator. Only useful for debugging. --ddNNOODDIISSPPLLAAYY Suppresses the normal initialization of the output device. This may be useful when debugging. --ddNNOOPPAAUUSSEE Disables the prompt and pause at the end of each page. This may be desirable for applications where another program is `driving' Ghostscript. --ddNNOOPPLLAATTFFOONNTTSS Disables the use of fonts supplied by the underly- ing platform (e.g. X Windows). This may be needed if the platform fonts look undesirably different from the scalable fonts. --ddSSAAFFEERR Disables the deletefile and renamefile operators, and the ability to open files in any mode other than read-only. This may be desirable for spoolers or other sensitive environments. --ddWWRRIITTEESSYYSSTTEEMMDDIICCTT Leaves systemdict writable. This is necessary when running special utility programs such as font2c and pcharstr, which must bypass normal PostScript access protection. --ssDDEEVVIICCEE==_d_e_v_i_c_e Selects an alternate initial output device, as described above. 10 May 1993 5 GS(1) GS(1) --ssOOuuttppuuttFFiillee==_f_i_l_e_n_a_m_e Selects an alternate output file (or pipe) for the initial output device, as described above. FFIILLEESS //uussrr//llooccaall//lliibb//gghhoossttssccrriipptt//** Startup-files, utilities, and basic font defini- tions. //uussrr//llooccaall//lliibb//gghhoossttssccrriipptt//ffoonnttss//** Additional font definitions. //uussrr//llooccaall//lliibb//gghhoossttssccrriipptt//eexxaammpplleess//** Demo Ghostscript files. //uussrr//llooccaall//lliibb//ddoocc//gghhoossttssccrriipptt//ddoocc//** Assorted document files. SSEEEE AALLSSOO The various Ghostscript document files (above). BBUUGGSS See the network news group `gnu.ghostscript.bug'. 10 May 1993 6 .