7.2 SwiftView/SwiftConvert Beta 1 Release Notes 7/6/05 Attached is the first Beta 7.2 prerelease, version 7.1.2.91e of SwiftView Viewer and SwiftConvert. You expressed an interest in particular features in this release, so we are making this beta available to you. Please give us feedback on any issues you find, so we can make corrections as the release approaches in the next few weeks. Thank you for your interest in SwiftView Tools! This release will only function for 30 days. We expect to have at least one other beta prerelease before the 7.2 release, so you will need to discard this beta as soon as a newer build is available. SwiftView/SwiftConvert 7.2 is a major release, introducing pcl5 color support, 600 dpi print and display resolution, print-quality rendering, and color printing and conversion. Note that 600 dpi resolution and color are currently planned to be only available with a SwiftView Pro or SwiftConvert license. This eval turns on full Pro and SwiftConvert features, but only if you do not have a license installed. This release makes significant improvements in PCL rendering fidelity, which slows processing somewhat, but it also improves rendering speed by bypassing scaling when scaling at 1:1. So conversions at original size are faster, other scalings are slower. Let us know if you have any specific speed concerns. 7.2 also adds searchable PDF output. SwiftView inserts all searchable text in PCL files into the output PDF file. This approach enables searching in Acrobat without adding significantly to the file size or compromising rendering quality. The save/convert dialog now incorporates a full range of options, similar to printing. Known Problems PCL5 color support is in an early stage of testing, and will certainly have a number of bugs that will be fixed before the release. Call it an alpha release for now. Occasionally, a line of garbage pixels is displayed on one edge of the drawing if the rotation is not zero (e.g. for landscape). Standalone SwiftView runs amok if it finds no license/demo period trying to view a .001 file. Conversion of JPEG files to FAX has a similar line of several rows of garbage pixels on one edge. (this did not used to work at all) We have changed the default TIFF color/grayscale gamma from the official 2.2 to the actual 1.0, so gray or color tiff images look darker now, generally more correct as hardly any tiff writer follows the spec. If you don't like the darkness, use the set dgamma command. The following specification documents the major changes in print/save configuration features and ICS commands and print/save dialogs. New print driver features for SwiftView version 7.2 External Specification Glenn Widener 6/06/05 We are generalizing print and save scaling and page size: arbitrary output size, resolution and color, especially for tiff. The ICS commands and driver set are being regularized to eliminate confusion and undocumented behavior. set printres n set printres original pcl defaultres 300|600 pcl forceres 0|300|600 set printcolor color|grey|gray|bitonal|enable|disable set displaycolor color|grey|gray|bitonal|enable|disable set printtext y|n set printmenudefault color enable|disable set printmenudefault res original|NNN Detailed spec Set printcolor controls all drivers that are capable of grey or color output. Set printres controls the output characteristics for all print and save drivers except for - DIRECT/ORIGINAL, TEXT and TEXTPOS that do not have any concept of size or resolution - TIFF fax drivers that do not allow changing width or resolution. "Set printres" sets the fast and windows print and save resolution to one value for both x and y. "Set printres" may not be given without Pro licensing. "set printres n" is in dots/inch. Some drivers (e.g. TF3_96, TF3_192, PCL5, MS_WIN, and MS_BEST) only support a few resolutions. If the requested resolution is not available in the PCL5 driver, the nearest higher resolution available is used, if any, else the the nearest lower resolution. If the requested resolution is not available in the Windows driver, the driver resolution is unchanged. Set printres has no effect when printing vector document formats (HPGL) to vector print formats (e.g. Windows HPGL drivers?), or on the DIRECT/ORIGINAL driver. "set printres original" causes plot and save commands to output at the resolution of each original document page. If the original is a vector format (HPGL), pcl6, or a format that does not specify a resolution, 300 dpi is used. For pcl5 files the resolution determined by "pcl [force|default]res" is used. Note that pre-7.2 versions always down-converted pcl5 to 300 dpi for display and printing (see "pcl forceres"). Version 7.2 renders pcl5 internally at the resolution set by "pcl [force|default]res" or the resolution set in the pcl5 file, then prints at the resolution set by "set printres". However, set printres and pcl/document resolution impose limits on each other: - For performance, if "set printscale" is a fixed scale value, the pcl5 rendering resolution for printing is limited to match the print resolution: 300 dpi or less if printres * printscale <= 300, else 600 dpi or less if printres * printscale <= 600, else 1200 or less. Note - we could argue to do this for all scalings, but their scale factors are not known in svpar6.c. Note that without this resolution limit, SwiftView would e.g. render at 600 and grayscale to 300 to a driver with color enabled, slowly. - Then, if there is no markup and "set printscale" is 1.0, the print resolution set by "set printres" is limited to at most the pcl5 rendering resolution, or for image documents, the original resolution. XXX We may want to get the requested print resolution regardless of a lower pcl front panel resolution setting for display, so "set printres" should force "pcl forceres" for print to match. XXX should we allow down-greyscaling if set printcolor != bitonal?. The default for "set printscale" is auto with Lite or Traditional licensing or on Unix (defeating the above optimizations), and 1.0 with Standard, Pro, or Convert licensing (a change for 7.2). Auto/fit is necessary on unix because the print dialog doesn't set printscale. The default print resolution is 300 (dpi) (this is a change for pcl6). This is because hi-rez will be bigger and slower for fastprint (but not for windows print at 600 dpi driver res), impacting existing customers, and because hi+original res are new features. We don't have enough pcl6 customers that dropping res from 600 to 300 will be a big issue. Also, look at B#3841 - some windows drivers that don't use PJL commands will cause problems for fast printing at 600 dpi because SwiftView doesn't send the PJL 600 dpi resolution command. We assume that there are no longer enough 300 dpi-only printers to care that they will not handle 600 dpi fastprint, so defaulting to 600 could be an option. Per-driver resolutions allowed in 7.1: POST2 - any windows - per current driver setting WMF (to clipboard): windows display resolution FAX - fax resolution 203x96 or 203x192 PCX: 200 (Note - width is also "temporarily" forced to fax width - 1728 pixels = 8.64 in - remove when set printsize is implemented.) RHPGL_*: 203, 406 or 300 depending on hardwired paper size for the selected RHPGL_* driver and plotter model from $NDGHPGL, (default HP250, 203 dpi for > 11x7 or 406 dpi for <= 11x17). non-FAX tiff, cals, PNG, PDF: if image area > 256Mpixels, limit resolution to highest of 600, 400, 300, 200, 100, 75 non-FAX save from HPGL: 200 if original first page is larger than 11" in x and y, else 300 pcl5 - 600 from pcl6 documents, 300 from all others per-driver resolutions allowed in 7.2: Same as above, except: non-FAX tiff, cals, pcx, PDF: no limit PNG: no limit, but PNG_GRAY* divide the resolution by 3 non-FAX save from HPGL: no limit pcl5 - 300, 600, or 1200 "Set printcolor" sets the maximum print output color format. If set to "grey" or "bitonal" it will cause color or greyscale documents to print grey or bitonal (grey is not implemented in 7.2). The default for Pro is color. Enable is a synonym for color, disable for bitonal. "Set printcolor" has no effect on direct printing or in Standard or Lite SwiftView. Standard and Lite only operate in "set printcolor bitonal" mode, printing all color documents in black and white. Traditional SwiftView licenses allow tiff/jpeg/pcl6/hpgl to print and display in color to X/Windows/PostScript. If "set printcolor" is not bitonal, the driver supports levels of grey, and the pixel-resolution scale factor is between .004 and .7, bitonal documents will be scaled to 4-bit grey. This will produce larger files (typically around double in size), but higher-quality output. Note that bitonal images printed at the original resolution and at a 1:1 or larger scale factor always scale to bitonal. Bitonal printing will typically be substantially faster than color, and some monochrome PCL printers do not handle color correctly, requiring the "set printcolor" option. Note that some documents use color operators without producing color in the final output, but will print in color by default. "Set printcolor bitonal" will improve performance in this case without sacrificing quality. Some drivers don't support color or greyscale. Prior to v7.2 color/grey are supported only for displays and the PostScript level 2 and Windows printer drivers. 7.2 adds color output to the TIFF, PDF, and pcl5 drivers, but not the rhpgl, cals, pcx or PostScript level1 drivers, plus 4-bit gray to the pcl5 drivers (used only for bitonal scaling per above). "Set printtext" requests the inclusion of searchable text in the output of the PDF plot/save driver. This allows Acrobat to search and extract text in the output file. The default is on. Turning it off can somewhat reduce the output file size, e.g. for applications where the only use is sending files to a printer. None of these set print commands should affect copying to the clipboard, which should always faithfully copy the original image. QA: test this! Display and PCL Rendering Control Several commands can be used to control the display format, similar to printing. set displaycolor color|grey|gray|bitonal|enable|disable set displaycolor is the same as set printcolor, for display (grey is not implemented in 7.2). With bitonal documents or in Standard or Lite SwiftView, all non-bitonal settings have the same effect, limiting display to greyscaling, as there is no color display allowed. Note that tiff/jpeg/pcl6/hpgl can display in color in Traditional SwiftView. pcl defaultres 300|600 pcl forceres 0|300|600 These commands control the resolution at which PCL5 is rendered prior to display, print, or conversion. They do not force a page reload, so to take effect you must reload the page. "Pcl defaultres" only affects PCL5 documents that do not contain a PJL command specifying the resolution. It has the same effect as setting the resolution on a pcl printer's front panel. All other document formats including PCL6 are displayed directly from the original data and are not affected. (Pcl printers ignore the front panel resolution setting when printing PCL6 files.) XXX check this with Scott - the PJL command does affect pcl6 - apparently it shouldn't! /u/rel/qa/pcl6/kunnert1_300_hacked.pcl6 "Pcl forceres" overrides the resolution specified in the PCL5 file and the pcl defaultres setting. "Pcl forceres 0" reenables the pcl file and defaultres settings. SwiftView prior to version 7.2 effectively operated only in "pcl forceres 300" mode. Similarly, in 7.2 or later with Traditional/Standard/Lite licensing, "pcl forceres" has no effect; resolution is always forced to 300. Otherwise, the default is "pcl defaultres 300|pcl forceres 0". Only 300 or 600 dpi are currently supported. 1200 is allowed, but not fully tested. Manual Corrections Delete, because the performance optimization of bestspeed|bestquality is no longer noticable for display, and printcolor provides same control for printing: set bitonalscaling false|bestspeed|bestquality Dialog Changes The Save dialog now has an options dialog similar to the Print dialog. The following are added to both: "Color" checkbox (greyed if not Pro or if Direct printing.) (Also greyed if Windows printing and the Windows driver can't print color? Not for now, don't rely on accurate reporting of color support except for default settings. But it needs to disable/enable color in the Windows driver to avoid confusion.) [ ] Color Resolution: (0) Document resolution (0) ____ dots per inch (0) Resolution set in printer Properties (decided not to do this, as it doesn't apply to save - we will completely ignore driver resolution from the dialog, only set printres driver complies.) (First (Current?) page will print at NNN DPI) (future addition) Greyed if Lite/Standard licensing (set to 300) or if Direct printing (set to last user setting). 300 is the default. The Color option in the print dialog controls color fastprint and Windows print output, without affecting Direct printing. It defaults according to whether the Windows driver is capable of outputting color data (unless overridden by set printmenudefault). The Color option in the save dialog defaults to on. Both are greyed unless Pro or Traditional licensing is present (though Traditional doesn't support color except tiff/jpeg/pcl6/hpgl to PS/Windows). XXX check that it's greyed! If Color is checked, "set printcolor off" is issued, otherwise "set printcolor on". Note that the Windows driver printer properties may differ from the options color setting; the options dialog overrides the printer properties. The settable DPI is an arbitrary fill-in, and the actual resolution may be the nearest large fixed value available. Options Dialog details: The print options dialog pre-7.2 has undocumented side-effects on the save dialog. Really, most of the options should be available from both print and save. set printmenudefault should apply as well, except for passpapersize. User save and print options are saved separately. The new color option, along with all existing print options except paper size and print method apply to the save dialog. Save should always use original paper sizes (nonoriginal for cut is not worth adding the option). Exceptions that are greyed out, leaving the user settings: - no options for TEXT or ORIGINAL - no Resolution for TIFF FAX - No scaling (i.e. 1:1 only) except for TIFF FAX/RHPGL_*, or if cut area. Notes: currently only PS, PCL, and RHPGL_* drivers have printable areas. PS and PCL (ORIGINAL) use the pcl paper dimensions for the original size, RHPGL_US/EURO the nearest us/euro RHPGL_* dimensions. So fit to printable could be allowed for PCL/PS/RHPGL, but for now keep it simple, only offer it for RHPGL_*/FAX where the paper size may not be exactly original. When set printsize is implemented, all can have PCL printable areas, so all scaling will be available for all. (Note - printmenudefault is set to printable for Blue, but this conflicts and wins except for RHPGL_* and FAX.) Save type is analogous to print method (esp, DIRECT/ORIGINAL), but normally users don't fiddle with type to see interactions with options, so type does not need to be repeated on the save options dialog. So the "set printsize" and "pcl default*out_tray" commands need to be reissued by both dialogs each time they are used, with save hard-wired to "set printsize original". RHPGL* ignores duplex, so duplex must be greyed if RHPGL is selected. "set printmenudefault pclps" applies to pcl and PostScript, "set printmenudefault notp" to other save dialog output types. Note that our PDF and PostScript drivers should obey "pcl default*out_tray" and printduplex - only one that works currently is PS duplex. It would appear that PDF doesn't support tray/duplex control. So only PCL/PS handle duplex now, so skip it entirely, and hardwire it to on.