home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 July
/
CMCD0704.ISO
/
Software
/
Complet
/
FreeDOS
/
fdbootcd.iso
/
FREEDOS
/
PACKAGES
/
BASE
/
DISK06
/
GRAPHICX.ZIP
/
bin
/
graphics.bat
< prev
next >
Wrap
DOS Batch File
|
2003-07-15
|
6KB
|
222 lines
@echo off
echo Running in MS GRAPHICS compatibility mode...
rem own name is %0
rem %? is errorlevel
set GRAPHINV=/I
set GRAPHCMD=NONE
set GRAPHCGA=
set GRAPHLH=LH
goto parsestart
:parseloop
shift
:parsestart
if _%1==_ goto parsed
rem echo Argument: %1
rem /R print black as black and white as white
if _%1==_/R goto asoncrt
if _%1==_/r goto asoncrt
rem /I print black as white and white as black (no MS option)
if _%1==_/I goto parseloop
if _%1==_/i goto parseloop
rem /LOW do not load high (no MS option)
if _%1==_/LOW goto loadlow
if _%1==_/low goto loadlow
rem /B enable processing of CGA background color 0 palette
if _%1==_/B goto usecga
if _%1==_/b goto usecga
if _%1==_/LCD goto lcd
if _%1==_/lcd goto lcd
if _%1==_/PRINTBOX:LCD goto lcd
if _%1==_/printbox:lcd goto lcd
rem std is the default anyway
if _%1==_/PRINTBOX:STD goto parseloop
if _%1==_/printbox:std goto parseloop
rem IBM PC color (ribbon) printer not supported:
if _%1==_COLOR1 goto unsupp
if _%1==_color1 goto unsupp
rem same, RGB
if _%1==_COLOR4 goto unsupp
if _%1==_color4 goto unsupp
rem same, CMYK
if _%1==_COLOR8 goto unsupp
if _%1==_color8 goto unsupp
rem IBM graphics printer / proprinter / quietwriter
if _%1==_GRAPHICS goto unsupp
if _%1==_graphics goto unsupp
rem same, but 11 inch wide
if _%1==_GRAPHICSWIDE goto unsupp
if _%1==_graphicswide goto unsupp
rem PostScript compatibles (hope this is correct)
if _%1==_LASERJET goto postscr
if _%1==_laserjet goto postscr
if _%1==_LASERJETII goto postscr
if _%1==_laserjetii goto postscr
rem HP PCL compatibles (hope this is correct)
if _%1==_HPDEFAULT goto hppcl
if _%1==_hpdefault goto hppcl
if _%1==_DESKJET goto hppcl
if _%1==_deskjet goto hppcl
rem HP RuggedWriter, HP Thinkjet and HP QuietJet are HP PCL
if _%1==_RUGGEDWRITER goto hppcl
if _%1==_ruggedwriter goto hppcl
if _%1==_RUGGEDWRITERWIDE goto hppcl
if _%1==_ruggedwriterwide goto hppcl
if _%1==_THINKJET goto hppcl
if _%1==_thinkjet goto hppcl
if _%1==_QUIETJET goto hppcl
if _%1==_quietjet goto hppcl
if _%1==_QUIETJETPLU goto hppcl
if _%1==_quietjetplu goto hppcl
rem IBM PC convertible (portable) thermal printer
if _%1==_THERMAL goto unsupp
if _%1==_thermal goto unsupp
rem Special printer types for FreeDOS graphics:
rem HP PCL
if _%1==_HPPCL goto hppcl
if _%1==_hppcl goto hppcl
if _%1==_PCL goto hppcl
if _%1==_pcl goto hppcl
rem PostScript
if _%1==_POSTSCRIPT goto postscr
if _%1==_postscript goto postscr
if _%1==_PS goto postscr
if _%1==_ps goto postscr
rem ESC/P
if _%1==_EPSON goto epson
if _%1==_epson goto epson
if _%1==_ESC/P goto epson
if _%1==_esc/p goto epson
if _%1==_ESC/P2 goto epson
if _%1==_esc/p2 goto epson
if _%1==_ESCP goto epson
if _%1==_escp goto epson
if _%1==_ESCP2 goto epson
if _%1==_escp2 goto epson
if _%1==_/? goto help
if _%1==_/HELP goto help
if _%1==_/help goto help
echo Unsupported option: %1
echo Hint: Loading printer definition files is not supported yet.
goto help
rem END of the main loop
:loadlow
echo Will not use LH (LOADHIGH).
set GRAPHLH=
goto parseloop
:unsupp
echo Printer type %1 not yet supported by this program.
echo If you really have such a printer, please mail me (see help text).
goto help
:help
echo Usage: GRAPHICS type options
echo Supported printer types:
echo HPPCL (PCL), EPSON (ESC/P), POSTSCRIPT (PS)
echo POSTSCRIPT compatible: LASERJET[II], QUIETJET[PLU]
echo HP PCL compatible: HPDEFAULT, DESKJET, RUGGEDWRITER[WIDE], THINKJET
echo EPSON compatible: many impact / ribbon printers work with "EPSON".
echo Unsupported types: IBM PC color ribbon printer (color1, color4, color8)
echo IBM convertible thermal printer (thermal)
echo IBM graphics printer (graphics[wide])
echo (also for IBM proprinter and IBM quietwriter)
echo Options:
echo /B use CGA background color
echo /R print black as black and white as white
echo /LCD or /PRINTBOX:LCD and /PRINTBOX:STD are ignored
echo (try using /LCD to get an explanation displayed).
echo Mail me if you have any questions or need some new feature or driver:
echo "eric coli.uni-sb.de" (put an "@" where the " " is).
goto done
:hppcl
echo Using HPPCL type for type %1
echo If you think this is not correct, mail me (see help text).
set GRAPHCMD=GRAPH-HP
goto parseloop
:epson
echo Using ESC/P (Epson) type for type %1
echo If you think this is not correct, mail me (see help text).
set GRAPHCMD=GRAPHPIN
goto parseloop
:postscr
echo Using PostScript type for type %1
echo If you think this is not correct, mail me (see help text).
set GRAPHCMD=GRAPH-PS
goto parseloop
:lcd
echo This GRAPHICS always assumes a screen width:height ratio of 4:3.
echo If your screen really has another size, mail me (see help text).
goto parseloop
:asoncrt
echo Printing black as black and white as white, which is the
echo default for this GRAPHICS (different from MS GRAPHICS!).
set GRAPHINV=
goto parseloop
:usecga
echo Using CGA color 0 palette setting (rather than assuming black).
set GRAPHCGA=/B
goto parseloop
:parsed
if _%GRAPHINV%==_/I echo Printing black as white and white as black
if _%GRAPHINV%==_/I echo which internally uses /I of this GRPAHICS.
if _%GRAPHCMD%==_NONE echo You have to specify a printer type.
if _%GRAPHCMD%==_NONE goto help
echo You can use the following command directly instead of
echo GRAPHICS [your options] in the future:
echo %GRAPHLH% %GRAPHCMD% %GRAPHINV% %GRAPHCGA%
echo Note that %GRAPHCMD% allows extra options:
echo /E economy mode, /1 use LPT1, /2 use LPT2, /3 use LPT3,
if _%GRAPHCMD%==_GRAPH-PS goto nodither
echo /R for random instead of ordered dither
:nodither
if _%GRAPHCMD%==_GRAPHPIN echo /C for 8pin mode instead of 24pin mode
if _%GRAPHCMD%==_GRAPH-PS echo /C for more HP compatibility
if _%GRAPHCMD%==_GRAPH-HP echo /C for 300dpi instead of 600dpi
%GRAPHLH% %GRAPHCMD% %GRAPHINV% %GRAPHCGA%
:done
set GRAPHINV=
set GRAPHCGA=
set GRAPHCMD=
set GRAHPLH=