[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

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.RTitleUserPersonal
Name
DateLines
1637.1Where is the Display PostScript conference?OSLACT::OLAVDo it in parallel!Mon Dec 11 1989 06:276
Error opening BULOVA::DOCD$:[NOTES$LIBRARY]XDPS.; as input, File not found, No
such file.

Where is it?

Olav
1637.2BULOVA::XDPS or KP7JGL::JLENIHANByte TwiddlerMon Dec 11 1989 07:019
    
    Try...
    		MODI ENTRY XDPS/FILE=BULOVA::XDPS
    
    (That is with no dot in the file name...)
    
    Or alternatively hit KP7...
    
    � j.