Category : C Source Code
Archive   : C_PSLIB.ZIP
Filename : C_PSLIB.INF
c_pslib
C to PostScript Function Library
Barton Creek Software
2222 Western Trails Suite 106
Austin, Texas 78745
Tel (512) 441-8354
FAX (512) 444-4554
Thank you for your interest in c_pslib from Barton Creek Software.
This file contains a Product Description with ordering information, a
discussion of c_pslib's Market Position, and a listing of the library's
functions.
-------------------------------------------------------------------------
Product Description
--------------------From C to PostScript
The c_pslib function library allows C programmers to generate PostScript by
calling the functions in c_pslib. For the C programmer unfamiliar with
PostScript, c_pslib provides everything needed to generate PostScript without
the requirement of learning PostScript. The C programmer can access
PostScript's powerful graphics and text capabilities via a familiar C function
interface. For the accomplished PostScript programmer, c_pslib provides a C
function interface for creating PostScript code from a C application while
letting the programmer use his knowledge of PostScript to obtain specialized
effects.
--------------------Multi-Level Programming Support
c_pslib contains an interface which provides three levels of PostScript
support. These range from the simplest level which allows the programmer to
treat the PostScript printer as a conventional line printer, to an advanced
level which allows the programmer to invoke specific PostScript commands and
add the programmer's own PostScript procedures. Intermediate between these
levels, c_pslib contains graphics and text functions which allow the programmer
to access the power of PostScript without worrying about the details of
PostScript programming.
--------------------Line-Oriented Text
Printing line-oriented text, which is second nature to conventional printers,
is not a straightforward process in PostScript. Since PostScript treats all
objects, including text, as graphics objects, the position of each line of text
on the page must be calculated. c_pslib's line-oriented text functions take
care of the details of text positioning. The programmer only needs to specify
the page size and orientation (Portrait or Landscape) and the text to print.
Greater control of the print job can be gained by setting fonts, margins,
line spacing and print position.
--------------------Graphics and Text Functions: All of PostScript's graphics
features are supported by c_pslib including stroked and filled polygons,
circles, arcs, ellipses, curves and lines. Line widths, caps, joins and miter
limits can also be set. The gray level can be set and predefined fill and
dash patterns are also provided. The entire image may be rotated, scaled and
translated.
c_pslib's text functions allow you to change and scale fonts, as well as print
strings and paragraphs. Text can printed at any position, rotated and
automatically sized to fit a boundary. Lines of text can be centered or left
or right justified. Paragraphs can, additionally, be block justified.
--------------------PostScript Commands and Procedures
For experienced PostScript programmers c_pslib provides all of the features
above plus numerous PostScript primitives and utility functions. PostScript
programmers can add their own procedures to the output and modify the
PostScript procedures which come with the library.
--------------------Comments and EPS files: PostScript documents created by
c_pslib conform to Adobe's structured comments conventions. These comments
can be added automatically and tailored to your needs. c_pslib automatically
keeps up with page numbers and fonts and includes the appropriate structured
comments in the PostScript output. EPS formatted files can be created by
simply setting a switch in the library. All required structured comments are
automatically added to an EPS file created by c_pslib.
--------------------Loop control in PostScript
c_pslib allows the programmer to include one or more graphic or text objects
within a loop. During each iteration of the loop the objects can be
translated, scaled and rotated.
--------------------Source Code and Royalties
c_pslib comes with both C and PostScript source code. The source code is
completely ANSI compatible and can be compiled by any ANSI C compiler. Macro
switches also allow compilation with pre-ANSI (K & R) compilers. Executable
programs created by linking with c_pslib may be distributed royalty free.
--------------------Ordering Information
You can order c_pslib directly from Barton Creek Software. The introductory
price is $149. The regular retail price is $195. We accept checks, money
orders, Visa, MasterCard, or your company PO.
Barton Creek Software Tel (512) 441-8354. FAX (512) 444-4554.
-------------------------------------------------------------------------
c_pslib
Market Position
c_pslib is a library that generates PostScript output via C function calls.
--------------------Target Market:
c_pslib is aimed at two separate markets: The developer who wishes to add
PostScript output support to an application and the developer who needs a
high-end printing device for graphical applications. Both of these developers
could learn PostScript and create a C language interface on their own.
However, their investment in time and money will be significantly higher than
the cost of purchasing and learning c_pslib.
--------------------Background
The vast majority of software applications do not print to PostScript devices.
Why?
Generally, although PostScript is extremely powerful, it is a lot of trouble
compared to other printer 'languages.'
Most printers expect their input stream to be a series of rasterized bit
images or text strings interspersed with escape sequences. PostScript devices
expect the input to be a highly structured computer program.
Since PostScript devices expect a program as input, the C programmer must learn
a new language which is quite different from the C language in order to create
PostScript output.
Finally, even though PostScript devices are becoming more common, TTY,
Epson-compatible, and HP-compatible printers still account for the majority of
the installed printers. This makes it difficult for the developer to justify
the time investment necessary to learn PostScript.
--------------------Solution
c_pslib solves these problems by providing multi-level interface support. The
advanced PostScript programmer has direct access to PostScript's primitive
procedures. Intermediate support adds a number of PostScript and C environment
variables to determine the PostScript result of a c_pslib function call. For
instance, if you draw a polygon, the c_pslib environment determines whether
the PostScript code fills or strokes the object, the gray level and patterns
of the lines and fills, parallel line thicknesses, etc. The highest level of
support provides line-oriented text output via c_pslib's ASCII output functions.
--------------------Features
Complete set of graphics functions
Functions to select fonts and position, rotate and fit text
Line-oriented text support for conventional printer emulation
Portrait and Landscape orientation support
Downloadable font support for Adobe-compatible PC outline fonts
Conforms to Adobe structured comment conventions
Encapsulated PostScript file (EPS) support
Direct implementation of many PostScript primitives
Loop support
Support for adding programmer-defined PostScript procedures
Macros for K & R (pre-ANSI) compilers
--------------------Omissions
c_pslib does not currently support the following areas. These issues will be
addressed in future versions of this product or as separate compatible
libraries.
Color
Font re-encoding
Adobe font metric file (AFM) parsing
Bit images
-------------------------------------------------------------------------
c_pslib Function List
--------------------Graphics Functions
ps_arc()
ps_circle()
ps_curveto()
ps_defdashpattern()
ps_ellipse()
ps_fill()
ps_line()
ps_linerel()
ps_lineto()
ps_moverel()
ps_moveto()
ps_poly()
ps_polyclip()
ps_polycurve()
ps_polyrel()
ps_rotate()
ps_scale()
ps_setaccumulatepath()
ps_setdash()
ps_setdraw()
ps_setfill()
ps_setfillpattern()
ps_setflat()
ps_setgray()
ps_setlinecap()
ps_setlinejoin()
ps_setlinewidth()
ps_setmiterlimit()
ps_setpixellock()
ps_setusepattern()
ps_stroke()
ps_setusepattern()
--------------------Line-Oriented Text
psa_init()
psa_setmargins()
psa_setlinespacing()
psa_text()
psa_endjob()
psa_eject()
psa_curpos()
psa_defaults()
--------------------Free-Form Text
ps_txt()
ps_txt_f()
ps_txt_r()
ps_txt_rf()
ps_fontset()
ps_fontmat()
ps_orient()
ps_paragraph()
ps_show()
--------------------Looping
ps_initrepeat()
ps_endrepeat()
--------------------Font Downloading
ps_PCdownloadfont()
--------------------Job Control
ps_autoinit()
ps_beginpage()
ps_endjob()
ps_set_endofjobchar()
ps_init()
ps_setboundbox()
ps_setcopies()
ps_setfilename()
ps_showpage()
--------------------PostScriptPrimitives
psp_arc()
psp_arcn()
psp_charpath()
psp_clip()
psp_closepath()
psp_curveto()
psp_findfont()
psp_fill()
psp_grestore()
psp_gsave()
psp_initclip()
psp_initgraphics()
psp_initmatrix()
psp_lineto()
psp_makefont()
psp_moveto()
psp_newpath()
psp_rlineto()
psp_rmoveto()
psp_rotate()
psp_scale()
psp_scalefont()
psp_setdash()
psp_setfont()
psp_setgray()
psp_setlinecap()
psp_setlinejoin()
psp_setlinewidth()
psp_setmatrix()
psp_setmiterlimit()
psp_show()
psp_showpage()
psp_stroke()
psp_translate()
--------------------Utility Functions
psu_char()
psu_double()
psu_int()
psu_matrixstr()
psu_out()
psu_parenstr()
-------------------------------------------------------------------------
Barton Creek Software
2222 Western Trails Suite 106
Austin, Texas 78745
Tel (512) 441-8354
FAX (512) 444-4554
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/