Dec 052017
The OptiScript DLL Graphics Engine is a interface between your application and the Windows GDI, allowing your application to produce professional quality, truly device independent graphics. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
OSDEMO.EXE | 161536 | 48557 | deflated |
README.TXT | 9876 | 3903 | deflated |
Download File OPTI.ZIP Here
Contents of the README.TXT file
>>> OptiScript SDK - Wave Of The Future! <<<
The OptiScript DLL Graphics Engine is a interface between your application
and the Windows GDI, allowing your application to produce professional
quality, truly device independent graphics....
>>> without ever having to directly use the GDI! <<<<
*****************************************************
*** No Pens, Brushes, Mapping Modes or Headaches! ***
*****************************************************
For the First Time even "novice" programmers can produce applications with
the power of the world's top leading graphic programs, simply and easily!
OptiScript can output to any Windows Raster Device, Display, Window,
Control or Printer (Dot Matrix to High-End Film Recorders).
The OptiScript API is very similar to Adobe Systems's PostScript
Page Description Language.
Key features include:
* SUPER E-Z API.
* Total Control of both TrueType AND PostScript Type 1 Fonts
* Bitmap manipulations - Skew, Rotate, Scale, Invert etc....
* Powerful Color Conversion Functions for RGB, CMYK and GrayScale
* Path Type Drawing commands utilizing Bezier Curves.
* Auto Import/Export of Bitmaps and Optimized EPS Files
* Very Large Clipping Limits
* Custom Dialogs for Font And Color Selection
Demo Requirements: Windows 3.1 or later,
One or more TypeType fonts
OR
One or more PostScript Type1 fonts with ATM.
Note: The distribution engine does not require TrueType or ATM,
and directly supports Adobe and third party Type1 fonts.
Technical Notes:
Commonly Ask Questions....
PostScript looks difficult... Do I have to learn PostScript?
We have made it very easy for you! OptiScript interfaces
with your compiler... You can do all control procedures
and variable manipulation in you native language!
Their is no need for difficult to understand code
sequences like " {pop pop dup exch 3 1 roll} ".
To see how easy OptiScript is, examine the example code
"snipits" later in this text.
Can OptiScript work interactively with the mouse?
Yes! It is very easy to add interactive drawing capabilities
to your application! Scrolling has never been easier! Just
translate the drawing where you want it. Zooming in and out
is a simple "scale" call, and the more you zoom in the
better it looks!
How easy is OptiScript font support?
There are no complex font structures, just select a
font from the list of font names returned, size it,
and show it. If you concerned with fitting text,
OptiScript has procedures to Auto-Scale a font to
fit a size or a graphic path. Total font manipulation
is E-Z and simple. A font selection dialog box is included.
How does OptiScript handle PostScript printers?
OptiScript sends "Optimized PostScript" code to a PostScript printer
using the Windows escape function "PassThrough" - Very Fast!.
You can also instruct OptiScript to use the PostScript driver
to output using Windows GDI calls, but this is not the preferred
method, as OptiScript's "Optimized code" is much, much faster!
.OPS - "Optimized PrintScript Files" - pronounced "Opus" (similar
to the comic character) are .EPS compatible and print so fast that
in most cases a PostScript printer will be your fastest hardcopy
output choice! OPS Files are displayable and directly editable
from you application. Color separations are possible by redefining
the color operators. Best of all, OPS files scale to any size with
no loss of resolution. A OPS file can be scaled up from a 8 1/2 x 11
page to billboard size and printed out in sections.
Can I still use GDI commands?
Yes! As long as you are not going to output a OPS file, or you
are printing to a postScript printer in Optimized Mode, there
are NO restrictions on GDI calls. If you are printing to a OPS file,
or to a PostScript printer with the engine running in Optimized Mode,
there is one restriction, you can't use GDI drawing functions.
What happens if I Specify a CMYK color on a device that
supports only monochrome or RGB?
OptiScript converts the requested colorspace to the device's
native format.
Can I use my own UnderColorRemoval and BlackGeneration functions
for use with color separating artwork?
Yes! Just send the address of your replacement function!
Is it possible to get outlines from the fonts and manipulate them?
There is no lockout on the Ps_PathForAll command! Your application
can retrieve any font outline and manipulate it. It is possible
to read in character outlines from Type1 and TrueType Fonts, and
create a entirely new font by mixing characters from any font or
OPS file! TrueType fonts are perfectaly converted to type1 fonts
but image a little slower than a native Type1 font.
If I Output a OPS Document and send it to Service Bureau for printing,
will they need copies of the fonts?
No! The document will print just fine! Porting documents is hassle free!
Can I have more than one OptiScript Session at any given time?
Yes, their is a system wide limit of 8192 interpreters available
at any one time. Depending on system memory and available
resources, this number may actually be less.
PostScript Compatibility:
OptiScript is both a subset and a superset of Adobe's PostScript
Page Description Language. A "subset" implies that we do not
currently support the *entire* language, and "superset" implies
that we have extended the language to include new operators.
In some cases, those extensions are unique to the Windows
environment, (like importing Windows bitmaps). In other cases,
(like our extended drawing and color conversion procedures)
the engine produces code that emulates those features on any
PostScript compatible interpreter! Since this is not a
"Genuine Adobe PostScript Interpreter", there may be some very
minor differences in the way the two systems work.
Example Extension Function:
Ps_FillStroke: Allows you to fill and stroke a path without using
gsave/grestore pairs, and you have the option not to
destroy the path! This operator is a performance
function.
{Example Notes}
The Engine is Available to work with any compiler that supports Types:
Fixed, Reals (Pascal), Singles, Doubles, or Float Types
in both Borland and Microsoft format.
There are currently well over 100 exported functions
in the API Including ALL:
* Font Operators,
* Matrix Operators,
* Path Construction, (excepting strokepath and reversepath)
* Painting Operators
as Listed in the "Red Book".
Pascal Code Snippits:
***********************************************************************
Var hPs:THandle; {Widows Handle Type}
{Get a Handle to a OptiScript Session}
Ps_Start(hPs);
{Color Operators}
{Note: GDI Color Range := 0.0 to 255.0}
{Note: PS Color Range := 0.0 to 1.0}
Ps_SetRgbColor(hPs,Red,Green,Blue,GdiColorRange);
Ps_SetCmykColor(hPs,Cyan,Magenta,Yellow,Black,PsColorRange);
Ps_SetGray(hPs,Gray,GdiColorRange)
{Get The Current Font Name}
Ps_CurrentFont(hPs,
Buffer, {PChar}
SizeOf(Buffer));
{Get The Current Font}
PS_FindFont(hPs,
Buffer, {PChar}
SizeOf(Buffer));
{Scale the Font}
Ps_ScaleFont(hPs,
72); {Scale To 72 "Points"}
Ps_SetFont(hPs);
{Show a String at 0,0 (Rotated -22.5 Degrees)}
Ps_Rotate(hPs,-22.5,Nil); {Rotate -22.5, No Matrix Supplied!}
Ps_MoveTo(hPs,0,0); {MoveTo 0,0}
Ps_Show(hPs,
Dc, {Windows Display Context}
'OptiScript', {String}
10); {Length Of String}
{Create a Path}
Ps_MoveTo(hPs,0,0); {MoveTo 0,0}
Ps_LineTo(hPs,100,100); {LineT0 0,0}
Ps_CurveTo(hPs, {Bezier Curve!}
100,100); {x1/y1}
200,100); {x2/y2}
100,300); {x3/y3}
Ps_ClosePath(hPs); {Close the Path}
{Get "Distance" of the Current Path}
Ps_PathDistance(hPs,
PathLength);
{Auto Scale The Font to Fit the path}
Ps_ScaleFontToFit(hPs,
'OptiScript', {PChar}
10, {Length Of String 'OptiScript'}
PathDistance {Scale To Exactly Fit the Path}
PtSizeReturn);{Returned Point Size Of Font}
{Set Text to Path - Text Follows Curve!}
Ps_TextToPath(hPs,
Dc, {Windows Display Context}
'OptiScript', {PChar}
10); {Length Of String 'OptiScript'}
Ps_Quit(hPs); {End OptiScript Session}
**********************************************************************
E-Z Enough???
Why spend countless hours dealing with the GDI???
>>>>Call and order your SDK Today!!!<<<<
Contact: Dennis Zahorchak
Postcraft International, Inc.
Voice (416) 641-0768
FAX (416) 641-1536
Technical inquires should be directed to:
Joe C. Hecht 70714,1353 CompuServe
* PostScript is a Registered Trademark Of Adobe Systems, Incorporated.
* ATM (Adobe Type Manager) is a Registered Trademark Of Adobe Systems,
Incorporated.
* Windows is a Registered Trademark Of MicroSoft Corporation.
* TrueType is a Registered Trademark Of Apple Computer Corporation.
* Postcraft International, Incorporated is in no way connected with
Adobe Systems, Incorporated.
December 5, 2017
Add comments