[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
Moderator: | STAR::VATNE |
|
Created: | Mon Oct 30 1989 |
Last Modified: | Mon Dec 31 1990 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3726 |
Total number of notes: | 19516 |
1637.0. "Announcing Display PostScript for VMS DECwindows, Baselevel 3" by DECWIN::FISHER (Burns Fisher 381-1466, ZKO3-4/W23) Fri Oct 27 1989 18:34
Note the reference to the conference BULOVA::XDPS. Discussion should go on
there...
Date: 27-October-1989
VMS DECwindows PostScript[TM] Extension
BL3 Release Notes
NOTE
The information in this document is subject to change
without notice and should not be construed as a commitment
by Digital Equipment Corporation. Digital Equipment Corpo-
ration assumes no responsibility for any errors that may
appear in this document.
Copyright 1989 Digital Equipment Corporation
1 Request to Register Installations
NOTE
When you install this baselevel, please register yourself
in note 3 of the XDPS Notes Conference so we can keep
track of who is using XDPS.
2 Introduction, warnings, and disclaimers
Internal baselevel 3 of VMS DECwindows Display PostScript[1]
is now available for your use. Note that this baselevel kit
and all related documentation and project information are COM-
PANY CONFIDENTIAL. They must not be distributed to non-Digital
___________________
[1] PostScript is a Registered Trademark of Adobe Systems, Inc.;
Display PostScript is a Trademark of Adobe Systems, Inc.
DIGITAL INTERNAL USE ONLY 1
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
employees without the express written consent of VMS product
management. While this requirement is always important with in-
ternal baselevels and field tests, it is ESPECIALLY important
with Display PostScript, since large parts of this code are un-
der license from Adobe Systems Incorporated. You are *NOT* free
to redistribute this baselevel to anyone!
Our primary purpose in distributing this baselevel is to allow
other internal developers in Digital to become familiar with
XDPS so that they can begin to make plans for its use in future
versions of their software. A secondary purpose is to allow
the software to be tested in a wider community early in the
development cycle to head off big problems that might show up in
the future.
Note that this baselevel does contain most of the functionality
that will be in the final product. It has not been optimized
and is known to be very slow. Finally, the quality and stability
have not reached what we expect of the final product.
The Display PostScript extension adds code to your DECwindows
server. If this code does not operate correctly, it could crash
your server. You should not activate the PostScript extension on
a workstation in a production environment. The extension does
not, however, replace any base VMS or DECwindows components.
It should be safe to install on a cluster running DECwindows V2
even if some users are doing production work. The code is added
to the server dynamically. If you don't use Display PostScript,
you don't get it.
BL3 of the VMS Display PostScript extension works ONLY with
(external) V2 (that is, VMS V5.3) of DECwindows. If you attempt
to use it with any earlier version of DECwindows, the server on
which you attempt to use it may crash without warning. We hope
to reduce the sensitivity to version skew in future versions of
the server and the extension.
2 DIGITAL INTERNAL USE ONLY
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
3 Overview of X Display PostScript (XDPS)
One major complaint about the X Window System which underlies
DECwindows is that there are important pieces of functionality
which it does not supply. For example, X11 programmers are
unable to use real coordinates, display lists, or arbitrarily
rotated and scaled text. This problem was recognized near the
beginning of the DECwindows effort. At that time, the DECwindows
Program Office took it upon itself to negotiate a contract with
Adobe Systems Inc., whereby Adobe would supply Digital with
Adobe's Display PostScript (DPS) system which Digital would
integrate into the X11 server for both VMS and Ultrix.
Display PostScript addresses these problems by extending the X11
protocol to include the ability for a client to send PostScript
programs, either as text or as binary encoded sequences, which
will be executed by the display server, with the graphical
results being drawn into an X drawable.
Note that earlier versions of Display PostScript were incor-
porated into an application called the PostScript Previewer.
This application is used to view PostScript documents on a
workstation before printing them. The Previewer is signifi-
cantly different from Display PostScript. In the Previewer, the
PostScript language interpretation was done on the client, the
page was imaged into a bitmap, and the bitmap was sent to the
workstation one page at a time. Using the extension, PostScript
will be sent directly to the server, and executed there. Im-
ages will appear in a window as they are generated rather than
page by page. In addition, normal X graphics can be mixed in
the same window with PostScript, and PostScript can be used to
write into a window widget. This capability allows one to use
PostScript as an application programming interface as well as a
page description language.
DECwindows Display PostScript will includes the following:
1. A server extension which executes PostScript graphics de-
scriptions and can display the results in an X Drawable.
DIGITAL INTERNAL USE ONLY 3
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
2. An extension to the client X interface library, Xlib.
3. A new run-time library of higher-level PostScript functions
called the PostScript Client Library.
4. A facility called PSWRAP, which, in conjunction with the
PostScript Client Library, allows one to write PostScript
programs, convert them into C programs, and call them from
your own C modules (and later from other languages).
5. A PostScript Previewer application which displays documents
written in PostScript in a workstation window using the
PostScript extension.
In addition, under VMS, we will supply VAX Common Calling Stan-
dard bindings to the Xlib extension and the Client Library.
4 The Baselevel 3 Kit
4.1 What is in it
Baselevel 3 is a snapshot from the pre-field test development
cycle of VMS Display PostScript. As stated in the introductions,
performance is far below what the final product will be. In
addition, you will find the following things missing:
1. Most VAX bindings
2. Most Formal Documentation
What you WILL find is
1. C-callable Xlib extensions and Client Library with header
files
2. PSWrap (with DCL interface)
3. Pre-Field Test version of the server extension
4 DIGITAL INTERNAL USE ONLY
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
4. Examples of using the extension, both directly with XLIB
(see DPSVMSTEST) and with PSWRAP and the client library (see
DPSIVP, XCAL, and others) and with the DECWindows toolkit in
SYS$SYSROOT:[SYSHLP.EXAMPLES.XDPS].
5. A copy of the current version of the XDPS protocol document,
a preliminary version of the XDPS Xlib Extension reference
manual, and a preliminary version of the X-specific part of
the DPS Client Library manual.
6. A copy of a near-final draft of the Ultrix Display PostScript
manual. This manual is essentially the "extra" information
that you need to know in order to use Display PostScript in
an X11/Ultrix environment. You will still need the Display
PostScript documentation from Adobe.
4.2 Where it is
The following files are available in BULOVA::DECW$PUBLIC:[XDPS]
(note the change in machine name):
o XDPS003.A. A kit installable with VMSINSTAL for use with V2
of DECwindows.
o DPS_MANUAL.PS. Very early documentation for the xlib ex-
tension and the X-Specific part of the Client Library in
PostScript format
o DPS_MANUAL.LN03. Very early documentation for the xlib exten-
sion and the X-Specific part of the Client Library in LN03
format.
o DPS_MANUAL.TXT. Very early documentation for the xlib ex-
tension and the X-Specific part of the Client Library in
lineprinter format.
o DPS_MANUAL.DECW$BOOK. Very early documentation for the xlib
extension and the X-Specific part of the Client Library in
DECWINDOWS Bookreader format.
DIGITAL INTERNAL USE ONLY 5
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
o LIBRARY.DECW$BOOKSHELF. A bookreader library file containing
a pointer to the DPS manual. The contents of this file should
be appended to your own file of the same name if you want to
use the DECW$BOOK-formatted documentation.
o BL3_RELNOTES.*. These release notes in various formats.
o PROTOCOL_REV6.TXT. The XDPS protocol description.
o PS_STRUCTURE.PS. The spec for Adobe's PostScript structure
definition "language" which the PostScript Previewer uses.
4.3 Installing it
To install the kit, first copy the files you want, includ-
ing the .A file to a working directory, say KIT:. If you
want the installation verification procedure to run, either
do the following from a workstation DECterm, or do SET DIS-
PLAY/CREATE/NODE=wkst, where wkst is a node in the cluster and
root that you will be installing into.
Now issue the following command:
$ @SYS$UPDATE:VMSINSTAL XDPS kit:
At the end of the installation, the IVP will be run automat-
ically. If it fails, try manually running the startup file as
follows:
$ @SYS$STARTUP:XDPS$STARTUP.COM
and then running the ivp again:
$ RUN XDPS$EXAMPLES:DPSIVP
If it still fails, check to see that
o You are running external V5.3 of VMS (i.e. V2 DECwindows)
6 DIGITAL INTERNAL USE ONLY
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
o SHOW DISPLAY yields the workstation that you expected the IVP
display on
o The workstation is really in the same cluster, and using
the same root that you installed on. To check, log into the
workstation and do
$ DIR SYS$SHARE:XDPS*
This should show three files: XDPS$DPSCLIENTSHR.EXE,
XDPS$DPSLIBSHR.EXE, and XDPS$MASTERDPSVM.DAT. If it does
not, you probably installed to a different cluster or root.
5 What can you do with it?
Display PostScript, in its simplest form, can be used as a
PostScript Previewer. However, limiting its use to a previewer
is denying its most powerful and useful characteristics. Because
XDPS can mix PostScript output with X output, it can be used
with any X applications which need capabilities like:
o Rotated, scaled, and custom text
o Scalable graphics
o Floating point coordinates
o Display lists or loadable sub-pictures
Nonetheless, the easiest place to start probably is with
the previewer. Try running the image XDPS$PSVIEWER out of
SYS$SYSTEM. You can use the resulting application to view nearly
any PostScript file that will print on a standard PostScript
printer. See the list of bugs below. Also note that it will be
VERY slow. You can expect the first page to take several minutes
to appear. We will be working on fixing this problem soon.
DIGITAL INTERNAL USE ONLY 7
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
To learn about programming with Display PostScript, the easiest
place to start is in the directory XDPS$EXAMPLES. First look at
the IVP in files DPSIVP.C and PWIVP.PS. Note how the normal X
code is written in the C program, and how the PostScript code is
written in PWIVP.PS. Look at the command file DPSIVP.COM and see
how the PostScript code is converted into a C-callable program
by PSWRAP.
Next, look at XCAL.C and CAL.PSW. This illustrates somewhat
more sophisticated uses of DPS. Note that PSWrap programs can
take arguments. Notice that every PostScript operator has a
"callable" form in the DPS client library named DPSpsoperator.
For example, the PostScript operator
x y itransform xprime yprime
can be invoked by calling
DPSitransform(context, x, y, &xprime, &yprime);
Also in XDPS$EXAMPLES is an example of another kind of program
that does not use PSWRAP or the client library. DPSVMSTEST takes
typed input, or a file specification, and sends this input as
ASCII to Display PostScript. Try building DPSVMSTEST and running
it. If you type EXECUTIVE as the first line, you should get a
copyright notice from DPS and then start getting PS> prompts,
just as though you were in executive mode talking to an Apple
LaserWriter. (You don't need to type executive. If you don't,
however, and you make a mistake, the DPS context ignored any
further input unless you have made special provisions with an
error handler). You can also type @filename, and the specified
file will be sent to DPS. DPSVMSTEST is the developer's testing
tool, and as such contains lots of little hidden features to
try odd bits of functionality in Xlib and the server. They may
change and will not be documented, but feel free to look at the
code and play.
8 DIGITAL INTERNAL USE ONLY
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
6 Documentation
Documentation from us is currently minimal. You can get early
versions of the protocol specification and a reference manual
for the Xlib extension and X-specific parts of the DPS Client
Library from the kit location, but not much else. There is a bit
of additional documentation in the world that you may be able to
get. First, Ultrix is in field test with their version of DPS.
If you have access to a field test kit, they are reproducing the
DPS Manual with it. They may also have additional information.
Secondly, there is a DPS manual available from Adobe Systems. It
is called The Display PostScript System Reference. If you are
sufficiently desperate, you might try the Adobe regional office
in Burlington, MA.
Finally, there is plenty of documentation available about the
PostScript language itself. The "Red Book", PostScript Language
Reference Manual by Adobe Systems Inc (Addison-Wesley) is THE
authoritative definition of the language. The "Blue Book",
PostScript Language Tutorial and Cookbook (ibid) is also very
useful. Both of these are frequently available in the computer
section of normal bookstores.
7 Help
There is a conference named BULOVA::XDPS in which you can ask
questions and share insights. We will try to respond promptly,
but no guarantees.
8 Error reports
You can report problems in the DECWINDOWS-IFT QAR database. To
get to it, SET HOST to TRIFID, then log in with QAR_INTERNAL
as the username and QAR as the password. If you have your own
account, of course, use that.
DIGITAL INTERNAL USE ONLY 9
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
9 Improvements since BL2
9.1 PostScript Viewer
A PostScript viewer using DPS is available on this field test.
See the list of known bugs below. The form of this viewer may
change significantly in subsequent baselevels.
9.2 New Adobe Version
This baselevel includes the 1006.4 version of DPS from Adobe.
You should not notice significant differences, although some
bugs may have been fixed. The main difference here is that the
old outline font files are incompatible and have been replaced.
9.3 PSWrap DCL Interface
PSWRAP now has a DCL interface. For the complete syntax, see the
file PSWRAP_SYNTAX.TXT. In short, the command is:
$ PSWRAP file/SOURCE_OUTPUT=C=file/INCLUDE_OUTPUT=C=file
9.4 Random Bug Fixes
10 Known bugs and limitations
10.1 Speed
The speed of DPS on VMS leaves much to be desired. There is
essentially no optimization done.
10 DIGITAL INTERNAL USE ONLY
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
10.2 Requirement for V2 DECwindows
As stated before, DPS works ONLY with VMS DECwindows V2. If you
use any other version, especially V1, your server is likely to
crash and burn. We do not check for the correct version.
10.3 Error message returns
Under DPSVMSTEST, error messages that come back to the client
seem to be truncated at times, especially when you are not
in executive mode. This appears be only a problem only with
DPSVMSTEST. But you probably won't be using DPSVMSTEST since you
now have the PostScript Viewer.
10.4 BL2 compatibility
You may not be able to interoperate with a BL2 client and a
BL3 server or vice versa. Ditto with an Ultrix field test. BL3
should be fully compatible with the Ultrix SDC submission.
10.5 Scheduling PostScript within the server
The current scheme for scheduling the execution of PostScript
contexts within the server leaves something to be desired.
Essentially, a PostScript gets the lowest priority of all other
X clients until it starts executing. Then it executes until
it can't execute any more. This means that nothing else will
execute while a PostScript program is runnable. Since it is
possible to run PostScript programs that form an infinite loop,
be careful.
DIGITAL INTERNAL USE ONLY 11
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
10.6 Using XDPSSetStatusEventHandler and
XDPSSetTextEventHandler
Each of these routines from the client library as well as their
XLIB counterparts (XDPSLSet*) specify routines to be called when
a status event or a text event comes from the XDPS extension.
Because of a bug in the Xlib extension, these routines are
likely to be called as a user AST. This can be a serious problem
if the client program is not intended to be multi-threaded.
You can work around this problem by coding a routine which gets
called as an AST to queue the text or status event and set an
event flag. You can then use that event flag, in conjunction
with XtAddInput to call a routine to dequeue the event and act
on it. If you really need this capability, please put a note in
the conference, and I will supply the code. The problem should
be fixed in the next baselevel, however.
10.7 Postscript Viewer on 100 DPI Screens
If you use the PostScript Viewer on a 100 DPI screen on either
a /GPX (i.e. VS2000/GPX, VSII/GPX, or VS3100 color) or on a
FireFox, it is not able to create a backing store pixmap for
the entire document. It will fall back to "Watch Progress" mode,
which will let you see the full blazing speed of this baselevel
every time it needs to redraw the screen. This may be difficult
to fix; however, performance improvements should make it a bit
more palletable.
10.8 Postscript Viewer scaling
If you use change the scale factor to larger than 1.0 on the
sheet selection dialog box of the Options menu, and you are on a
GPX or FireFox, you will see the same problem as listed above.
12 DIGITAL INTERNAL USE ONLY
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
10.9 Document Structure Comments
Adobe Systems has defined a "language" for describing the struc-
ture of a document. This language uses lines in a PostScript
document beginning with "%%" (which makes them comments to the
main PS interpreter). There are also conventions defined for
page independence. Documentation for these conventions appears
in the same BULOVA directory with the rest of XDPS in a file
called PS_STRUCTURE.PS.
The Previewer depends on a subset of this structure information
to find page breaks. If the structure information is not pre-
sent, the Previewer will fall back to a much slower mode where
it will reinterpret the entire document when you try to read an
earlier page.
The structure information that the Previewer depends on are:
o The %!PS-Adobe- header line
o The %%EndProlog line
o The %%Page page delimiters
o The %%Trailer line
If structure information is present, the previewer also depends
on the page independence conventions.
If the structure information is present and syntactically cor-
rect, but either the structure information is not semantically
correct or the page independence conventions are not followed,
the Previewer's behavior is unpredictable.
10.10 Problems with unstructured documents
If your document does not have structure comments, and if you
try to read beyond the last page of the document, you may get a
PostScript error message.
DIGITAL INTERNAL USE ONLY 13
DIGITAL VMS DECwindows Display PostScript BL3 Release Notes
11 Hints and Kinks
11.1 Note on dots-per-inch
When viewing PostScript pages on a workstation screen, you must
remember that a workstation screen can display about 75-100
dots per inch, while a typical PostScript printer can display
several hundred dots per inch. This means that small text which
is perfectly readable on printed copy can look quite poor on
a low-density screen. This is not a bug. This is a fact of
life. There may be some improvement in the future for stardard-
orientation and standard-size text based on supplying some hand-
tuned fonts. The fact will remain, however, that you can't get
300 dpi quality out of a 75-dpi device.
In addition, small renditions of some characters may look quite
odd. For example, an "o" may appear to sit taller on the line
than it should. This is done intentionally to enhance legibil-
ity.
11.2 Note on resolution independence
An issue to consider relating to different density screens is
that X coordinates are specified in pixels whose size changes
with the density of the monitor, while PostScript coordinates
are in absolute coordinates (points, or 72nds of an inch by
default). Thus, a window of a certain size in pixels will per-
fectly contain the results from a PostScript program on a 75dpi
monitor, but will not be big enough on a 100 DPI monitor. You
can see that DPSIVP suffers from this problem. XCAL, however,
tries to compensate. XCAL is really working backwards from what
most programs will want to do. XCAL always uses the same size
window in pixels and scales the calendar to fit into it. In
some cases a more reasonable alternative would be to choose the
window size to fit the PostScript.
14 DIGITAL INTERNAL USE ONLY
T.R | Title | User | Personal Name | Date | Lines |
---|
1637.1 | Where is the Display PostScript conference? | OSLACT::OLAV | Do it in parallel! | Mon Dec 11 1989 06:27 | 6 |
| Error opening BULOVA::DOCD$:[NOTES$LIBRARY]XDPS.; as input, File not found, No
such file.
Where is it?
Olav
|
1637.2 | BULOVA::XDPS or KP7 | JGL::JLENIHAN | Byte Twiddler | Mon Dec 11 1989 07:01 | 9 |
|
Try...
MODI ENTRY XDPS/FILE=BULOVA::XDPS
(That is with no dot in the file name...)
Or alternatively hit KP7...
� j.
|