Dec 282017
Libraries for C, Pascal, Assembly, Fortran, and Clipper for plotting hires graphics to screen and printer.
File PGL.ZIP from The Programmer’s Corner in
Category Miscellaneous Language Source Code
Libraries for C, Pascal, Assembly, Fortran, and Clipper for plotting hires graphics to screen and printer.
File Name File Size Zip Size Zip Type
EGA.DRV 871 33 deflated
EGAMONO.DRV 871 37 deflated
EPFX.DRV 871 84 deflated
EPFXWC.DRV 871 86 deflated
EPLQ.DRV 871 89 deflated
EPLQWC.DRV 871 91 deflated
GPUS.EXE 76326 41074 deflated
HERC.DRV 871 34 deflated
HPDJET.DRV 871 117 deflated
HPLJET.DRV 871 102 deflated
PGLBS.ZIP 32617 28677 deflated
PGLCLS.ZIP 44750 28755 deflated
PGLCS.ZIP 23283 20520 deflated
PGLFS.ZIP 32580 29174 deflated
PGLPS.ZIP 32179 29402 deflated
PGLSW.MAN 447565 77102 deflated
README.DOC 20925 6648 deflated
SMALL.FNT 2673 932 deflated
VGA.DRV 871 33 deflated
VGAMONO.DRV 871 37 deflated

Download File PGL.ZIP Here

Contents of the README.DOC file

; Printer Support Libraries For MS-DOS Compilers ;
; Complete graphics engine for producing high quality printed graphics! ;
; PGL ToolKit can create high resolution 300dpi full page output using ;
; as little as 8K of memory to draw in! Protected mode memory not ;
; required! This is the technology used by the big guys! If you do any ;
; MS-DOS graphics programming this is THE tool for getting printed ;
; output! Source code available, Unix version available too! The ;
; PGL ToolKit is used by NASA,TRW,ROCKWELL,NOVELL,Universities, and ;
; by commercial software products! Now you too can utilize the proven ;
; technology of the PGL ToolKit. ;
; LANGUAGE SUPPORT: Truly versatile compiler support! ;
; C, Fortran, Pascal, Basic, Clipper, Assembly ;
; COMPILER SUPPORT: Libraries are included for all of these compilers! ;
; Turbo C/C++, Borland C/C++, Microsoft C, Quick C, WATCOM C ;
; WATCOM C/386 ;
; Turbo Pascal, ;
; Quick Basic, Microsoft BASIC PDS ;
; Clipper ;
; Lahey Fortran F77L, Lahey Fortran F77L/EM32 ;
; Microsoft Fortran ;
; The ToolKit has been tested with the following DOS extenders ;
; RUN286 & RUN386 ;
; OS/286 & OS/386 ;
; DOS4G & DOS4GW ;
; The ToolKit should work with any DOS extender supporting DOS! ;
; GRAPHICS LIBRARIES SUPPORTED: Supports any graphics library! ;
; Genus GX ;
; Metawindow ;
; Fastgraph ;
; BGI ;
; Microsoft Graphics ;
; PRINTERS SUPPORTED: Supports over 300 printers! ;
; BBS-Unregistered Shareware Release ;
; Easy to Use! Extremely versatile! Excellent Product! ;
; A must have for every DOS graphics programmer!!! ;
; Copyright 1991 (C) AnSoft,Inc. ;
; Voice/Fax - 301-470-2335 ;
; This shareware product released for BBS's and shareware by ;
; AnSoft,Inc. These shareware files may be freely distributed. ;
; Jan 1,1992 ;

SHAREWARE DISTRIBUTION MATERIALS-----------------------------------------
You should find enclosed with the Un-Registered PGL ToolKit package the
following items:

1) PGL ToolKit manual on disk( about 300 pages.)
2) Language Library Archives.
3) Registration info (this document), If you use this
product be sure to register! No register - No support!

ABOUT PGL TOOLKIT(Commercial release)--------------------------------------
The full blown PGL ToolKit product is sold commercially, and includes
libraries for all supported languages (C, Fortran, Basic, Pascal,
Clipper, and Assembly), and allows you to freely distribute all printing
utilities, drivers and fonts with your application. The Commercail
release also includes a MENU driven printing utility for viewing and
printing your drawing files. It retails for $195.00.

ABOUT PGL TOOLKIT(Shareware release)--------------------------------------
We are making a reduced version of the PGL ToolKit available through
shareware. That is we have placed a Beta version of the ToolKit on Bulletin
boards and allow this version to be passed around freely, for you to try out.
It is SHAREWARE NOT FREEWARE, should you decide to use it you should either
register the shareware version or purchase the commercial release!

THE REGISTERED SHAREWARE RELEASE------------------------------------------
The registered shareware release provides libraries for a single language
only, and does not include the menu driven printing utility, but is otherwise
identical to the commercial release!

THE UN-REGISTERED SHAREWARE BBS RELEASE------------------------------------
Each of the un-registered shareware release provides a library for a single
language, the libraries are the early BETA cycle libraries. They are fully
functional except for the following features that are not included:

a) No Filled Polygon support.
b) No Bitmap support(no screen and offscreen printing of bitmaps).
c) No PostScript support, drivers/support.
d) No PCX file support, drivers/support.
e) A single font is included in BBS shareware. This means
any of the example programs that use fonts will only
display the SMALL font. If you use GPUS.EXE with
a screen driver to display any of the *.PLT example
files on screen you will get a 'Font File Not Found'

The entire 300 page manual is included on the disk.

You may use the Polygon and Bitmap support functions, but you wont get
anything on your printout with 'pgPolygon', 'pgBMInit', 'pgBMData',
and 'pgBMEnd' functions.

The Postscript driver EPS.DRV, and PCXxxx.DRV drivers are not included.

The Unregistered shareware release includes a small font only, there
are 6 others included with the registered version. These are stroked
fonts! High quality Filled Outline fonts are on the way, call for info!

THE REGISTERED SHAREWARE RELEASE------------------------------------
The registered shareware release of the PGL ToolKit includes the bound
3-ring IBM style binder with about 300 pages of documentation. The
shareware version of the ToolKit is available only from AnSoft,Inc.

The registered shareware version includes:

1) The commercial release manual: 3-ring binder,
300 pages of documentation.
2) A single linkable library for any one language you specify,
either C, Fortran, Pascal, Basic, Clipper, or Assembler. The
library is the same as the full blown commercial release but
only supports one language. The commercial release includes
libraries for all supported compilers + 32 Bit C and Fortran.
3) Full graphics support including Polygons.
4) Full bitmap support.
5) Full Postscript support.
6) Full PCX support.

The registered shareware version cost $95.00 + Shipping, to order
call AnSoft,Inc. at 301-470-2335 (Voice/Fax).

THE COMMERCIAL RELEASE------------------------------------------------
The complete commercial release includes support for all languages, that
is C, Fortran, Pascal, Basic, Clipper, and Assembler, and a menu driven
version of the printing utlity. The commercial release costs $195.00.
Put this on your software shelf and you have printer support for life!

REDISTRIBUTION OF MATERIALS------------------------------------------
Of course the shareware/BBS disks may be freely distributed. There
are seperate disks/archives for each language in shareware.

BBS SHAREWARE INSTALLATION--------------------------------------------
Make a subdirectory for the PGL software,


Copy the shareware archive to a subdirectory on your disk,


decompress it by using a PKZIP compatible decompression program,


the manual and system drivers and font are now decompressed. You must also
decompress the language libraries, include files, and example files.
To do this type


where ARCHIVE is defined below:

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

i.e to decompress the BASIC libraries type;


Be sure to create a subdirectory first(like C:\PGL, i.e. MD PGL, CD PGL),
and copy the archive to that subdirectory. Note that GPU.EXE is called
GPUS.EXE on the shareware disks. The manual is called PGLSW.MAN and is
an ascii file.

Note that all files associated with the PGL ToolKit are in the current

Be sure to set the GPU environment variable, i.e.

GPUS uses the GPU environment variable, and/or command line -


The GPU environment variable can contain the FONT/DRIVER path, and info
about the default page setup for printing. The example shows the Path
as C:\PGL, the Device as HPLJET, the Resolution on setting 2(150dpi),
Orientation set to Portrait, and page size of Half Page, using default
margins. For more info on GPU, see the manual. The GPU environment
variable does not have to be set for GPU to work.

TECH Support----------------------------------------------------------
There is no support for the Un_registered sharware version, REGISTER
for support!

Please read the manual, it has much info about the Toolkit and its
libraries, and utility programs! If your questions aren't answered
in the maunual, then call us. We can be reached at 301-470-2335
9am-5pm EST. The phone number is a voice/fax, if were not in send a
fax, we'll study the problem, and/or fax/phone answers to your questions.

LANGUAGE SUPPORT-------------------------------------------------------
Each language is installed with libraries, an include file, and some
example programs (including some output drawing files).

You should have one subdirectory for each language supported:

C C PGL.H PGL_CL.LIB Turbo/Borland-C/C++
Microsoft-C & Quick C
Not in shareware PGLWC3S.LIB WATCOM C/386 Stack Model
" " " PGLWC3R.LIB WATCOM C/386 Register Model
Not in shareware PGL_LF3.LIB LAHEY FORTRAN EM/32
ASSEMBLY .......use the C libraries TASM, MASM

Within each language directory you should find one or more libraries,
an include file, and some examples (with drawing files). All languages
except Turbo Pascal require you to use one of the 'PGL' include files
listed above. You must also link the appropriate library. Turbo Pascal
programmers must specify the PGL unit in the USES statement of your
Pascal program. Quick Basic programmers must create your own Quick
libraries, if you want them (see your Quick Basic documentation).

Corrections to the manual:

Polygons ---------------------------------------------------------------
The manual indicates that polygons cannot be self intersecting, this is
incorrect. Polygons may be complex and self intersecting.

Drivers ----------------------------------------------------------------
HPDJETC - The manual indicates that the HPDJETC is supported in 8 and 16
color modes, this is incorrect. Currently the HPDJETC is only supported
as a Black and White device.

EPS- The Encapsulated Postscript file format is not listed on page 8-1 as
a supported printer, this is an omission. The EPS driver is documented
throughout the rest of the manual.

MCGA/VGAMONO- These drivers are identical, you may use either of them.

All screen drivers only support b&w or 16 colors. There is currently no
256 color support with the PGL screen drivers. Although you can use the
PostScript converter (PGL2PS.EXE), the PaintJet/XL, or any of the PCX...
color drivers to print drawings with 256 colors.

PCXC8- Was not documented in the manual. This driver is identical to the
PCXC driver ( 3-resolutions, 75,150 & 300 dpi) except it supports 256
color PCX files, where the PCXC driver only supports 16 colors.

PCXEGAC, PCXVGAC, PCXSVGAC, PCX8514C - The manual indicates that these
drivers ignore the resolution parameter, this is incorrect. These
drivers support 16 colors in resolution 0, and 256 colors in resolution 1.
Note that these drivers ignore Page Orientation, Page Size, and Margin
control, they are designed to produce PCX files that exactly match various
screen resolutions, and colors. These drivers are included because many
programs that read PCX files can only handle images that exactly match a
standard graphics screen size!

The PCX, PCXC and PCXC8 drivers may be used like other printer drivers,
these drivers use the Page Size, Page Orientation, and Margins, allowing
you to create any size PCX bitmap images.

The manual indicates that the Buffer size parameter (/B) is limited to values
between 8 (8K) and 64 (64K), this is incorrect. GPU accepts Buffer size
values between 8 and 640. Practical values are between 64 and 256. Too
little memory slows things down alot, too large a Buffer uses all the memory
and if you use fonts or polygons you may not have enough. GPU uses 64K by

GPMENU tries to allocate a 128K buffer for printing, and may additionlly
allocate memory for fonts and polygons, currently there are no options
available to change the default buffer request.

DRAWING FILE NAMES---------------------------------------------------------
Drawing files may have any name and extension. The examples included with
the ToolKit use .PLT and .PGL extensions. You should probably use the .PGL
extension if only to make obvious what the files are. Also you may type any
PGL drawing files to the screen, and you will see an AnSoft-PGL signature.
You cannot readily edit a drawing file with a text editor!

The Toolkit has some basic support for printing BITAMP images. You can also
print Screen or Off-Screen bitmaps produced by other graphics packages!
The Toolkit packs and compresses these bitmaps to minimize the size of
drawing files. Currently bitmaps with up to 8-bits per pixel (256 colors)
are supported.

When printing in Landscape, bitmaps may print slower than
when printing in Portrait format. Using a large printing buffer (/B=256)
can help speed up Landscape printing.

Bitmaps are always printed using an Opaque write operation, meaning that
bitmaps overwrite existing pixels in the output image. You may however
fill images on top of bitmap images using either Opaque or Transparent write

See pgBMInit, pgBMData, and pgBMEnd. Bitmaps can be tiny icon sized, or
full page megabyte monsters! The bitmap support is very general, allowing
PGL to support any 3rd party screen graphics library.

Page 6-7
replace "You may then create a bitmapped image sized xmax by ymax..."
with "You may then create a bitmapped image sized xmax+1 by ymax+1..."

ADDITIONAL COMPILERS SUPPORTED----------------------------------------------
The manual makes no reference to any 32 bit compilers, the ToolKit currently
supports the WATCOM C/386 C compiler, and the Lahey F77L-EM/32 Fortran

WATCOM C/386-------------------
PGLWC3S.LIB- Stack Passing conventions (/3s)
PGLWC3R.LIB- Register passing conventions (/3r)

Use the PGL.H include file with WATCOM C/386.

These libraries were built using:
WCC386 -zp1 -s -3r
WCC386 -zp1 -s -3s

The WATCOM C/386 libraries are built with standard C source, and may be
used with any DOS extender supported by WATCOM C/386.

LAHEY F77L-EM/32--------------

PGL_LF3.LIB- Use with either /K(use Weitek) or /nK(use 80387) switches.

Use the PGL.FOR include file with the Lahey EM/32 compiler.

The manual indicates the C library PGL_CL.LIB was built using a large memory
model, this is incorrect. The C library PGL_CL.LIB is built using a
large memory model but uses it's own data segment. This library works
correctly with huge memory models, as well as small, medium, compact, and
large models. Note, this library makes no calls to any C library functions,
it uses its own I/O routines which use the DOS INT 0x21 services.

Other 16 Bit Dos C compilers----------------------------------------------
The C library PGL_CL.LIB may be used with any Compiler that can use the
standard Microsoft/Borland C calling conventions, and memory models.
The PGL_CL.LIB library should be used with any of the small,medium,compact,
large or huge memory models. If you have trouble, try using the large memory

DOS EXTENDERS 16 Bit-----------------------------------------------------
The libraries work with programs compiled to use either PHARLAP RUN286, or
ERGO OS/286. Actually any DOS EXTENDER may be used so long as it supports
the DOS INT 0x21 services, exactly as MS-DOS does.

EXPANDED MEMORY-----------------------------------------------------------
The printing utilities, GPU and GPMENU, both can use up to 64K of
expanded memory for the printing buffer. They can use up to 640K
of DOS memory. 99% of the time you should have no problem using
expanded memory, however, if your computer hangs when using expanded
memory, you may have a memory conflict. That is some program may be using
the expanded memory page frame without correctly using the Expanded
Memory Manager. This can happen on networks, or sometimes by TSR's.

This type of problem is not within ANSOFT's control to fix. The
PGL ToolKit uses the LIM EMM documented procedures to use expanded
memory, and most other programs do too! If all else fails, and
you cannot figure out why your system is locking up, just don't use
EMM. GPU and GPMENU use DOS memory by default, not expanded memory.

PostScript Color Output-----------------------------------------------
Registered version only!

 December 28, 2017  Add comments

Leave a Reply