SwiftView 5.1 Release Notes 12/21/99 Summary of New SwiftView features: Unix and Windows SwiftView now support downloaded TrueType fonts in a PCL or HPGL document. Display of RTL data in PCL files has been enhanced to support photometric control and scale mode. Windows standalone SwiftView now can read files from a web server. This allows Browser-based SwiftView (plug-in or Active-X control) to: - Use an ICS file to configure SwiftView, then read the actual document file from the web server. - In combination with the onpage use commands added in version 5.0, construct a multi-page document from individual pages on the web server. A new feature of the "onpage use" command allows the individual page files to be named .001, .002, ... with a single onpage command in the ICS file. SwiftView now can be configured to read an ICS configuration file from the directory containing the current document. This mechanism can be used, for example, to add a markup to all documents in a directory. Standalone SwiftView can now put the name of the current document in it's titlebar. Coordinate systems in ICS commands and callbacks have been simplified and enhanced, making it easier to control it's user interface in an application. The "SwiftView Print" dialog (gui dialog fastprint) has been enhanced. It now correctly prints duplexed documents. The dialog is initialized to the windows default printer/port. There is no longer an "Advanced Options" button. The features of the advanced options menu are incorporated into the "SwiftView Print" dialog. Major Bug Fixes: Printing to Postscript on NT was significantly slower in release 5.0. The original speed is restored. The SVC:DOCINFO callback size was in decipoints - changed to current units. The file information dialog (and the DOCINFO callback) was not displaying full, correct information for documents defined by onpage use commands. It showed the URL/filename for the current page if the current page is defined by an onpage use command, instead of the overall document filename. Several problems with the browse command have been fixed. onpage reset did not perform all the inits of an ldoc of a non-ICS file. Known Problems: Print to RHPGL_US or RHPGL_EURO generates a zero length file. sview cannot currently view it's own RHPGL print output (this was supposed to start working with RTL support). Details of New SwiftView features: Composite Document Support and http: Access This release of SwiftView enhances composite document creation with the onpage use command: - The onpage use sourcename command now accepts one integer printf %[nn]d substitution in the filename string, which is replaced by the current page number. - New initdoc command (added in 5.0.2), but not previously documented: initdoc Executes the commands defined by "set ldocinit" (that are normally done on an ldoc). This command should be given after defining a document with "onpage use" commands. - HTTP: File Access: Windows standalone SwiftView now supports the HyperText Transfer Protocol (just like web browsers). At present there is no plan to support http: access on Unix. Contact NDG if you need this feature. Any SwiftView file name in an ICS commmand that supports SwiftServe URLs now supports http:// or ftp:// on 32-bit Windows platforms. The URL must be absolute, including the server and full path to the file. Currently, no web license is automatically obtained from the file's server by standalone SwiftView. file:// is also accepted, and treated as a local filename. Files are downloaded and cached using Microsoft's Internet file support, so downloaded files can be cleared from the cache using Internet Explorer. During download, the entire file is read into SwiftView in-memory file cache, ignoring "set cachesize", and coercing set cacheblocksize to 24000 if it is less than 24000. To use http: access, the Microsoft wininet.dll must be installed; it is installed by Internet Explorer 3.0 or later. Windows 95 OEM release 4.00.950B or later includes wininet.dll. The three features above allow a complete document to be defined from files on a web server, e.g. as: ICS onpage reset onpage 1-23 use sourcename "http://www.myserv.com/test.%03d" initdoc draw Note that under a browser, the browser's reload button cannot cause a document defined in this manner to reload the individual pages. Therefore, we have defined a new reload command: reload The reload command re-ldocs the current document and redisplays the current view of the current page. The "current document" is the most recent of: - a non-ICS file loaded outside an ICS file. - the outermost ICS file that (directly or by loading an ICS file) either loads a non-ICS file or contains "onpage reset" or "use reset". - an "onpage/use reset" not in an ICS file = no current document. The only ldoc action performed is to issue "resetcache" if the "set cachereset" option is off. In plug-in/SAX, reload re-downloads all files from the web server, reinitializes the user interface, and sends a reload command to sview. Reload is assigned to the F5 and ^R keys by default. A "reload" button icon is included in the program so you can add a reload button if desired. Per-Directory Configuration and Markup You can now specify an ICS file to be loaded from the directory containing the current document (see the reload command for the definition of "current document"). The following ICS command enables this feature: set ldocinit "set nofileerror n|ldoc \"\$docdir()fn.ics\" | set nofileerror y | rotate 0 | scale default" "rotate 0 | scale default" are the default actions performed by initdoc (e.g. at an ldoc); this setting adds loading the file "fn.ics" from the directory of the current document. "set nofileerror n" disables the nofile error, so that all directories do not have to contain fn.ics. Typically, you will put this command in a web site or local configuration file (sview.ini). Similarly, you can display the name of the current document in the standalone SwiftView titlebar with the following command: set ldocinit "gui wintitle \"\$docname()\" | rotate 0 | scale default" These commands uses the following new mechanisms: SwiftView allows you to use environment variables in ICS commands. Any occurance of "$str()" in an ICS command is replaced by the value of the environment variable "str", or an empty string if "str" is not defined. The '$' character can be escaped with a backslash character ("\$") to either defer replacement in nested quoted ICS command strings or prevent expansion entirely. A '$' character without a terminating "()" in the token is not replaced. The following environment variables are predefined each time a document is loaded: "docname" The URL name of the current document, if any. "docdir" The directory containing this current document, with a trailing slash as required. "docbase" The simple filename of the current document, if any, without any directory path prefix or trailing dot and suffix. (added in 5.1.1) set nofileerror enable|disable This command enables/disables the "file not found" error to be displayed when a requested file cannot be found. The default is enable. Note that ldocinit commands cannot affect a control's user interface, only the standalone SwiftView user interface. ldocing of a file based on $docname or $docdir is not currently supported with Unix plug-ins (they are defined using the browser cache file, not the actual URL.)