Printing on the Solaris operating system
On Solaris, you
can print directly to a PostScript or PCL5 file. You do not need to
make any code changes to print reports on Solaris instead of Windows—you can
use the same properties, functions, and events as in Windows.
To print DataStores, use the DataStore Print method
or PrintDataWindow(PrintJobName, DataStoreName).
If you link a DataStore to a DataWindow and print the DataWindow
object on Solaris, the printed output has the fonts and layouts
defined in the DataWindow object.
A blank space is not supported in a print job on Solaris,
so the PBVM substitutes a hyphen for each blank space in a print
job name before sending it to a printer.
Using fonts
The fonts used in printing are those provided in the dwprinter/fontmetrics directory.
AFM and TFM files are ASCII formatted files that contain information
about specific PostScript (AFM) and PCL (TFM) fonts. Each PostScript
and PCL font has a corresponding font metric file.
The print mechanism reads AFM and TFM files to acquire font
metric information. This includes such things as character widths,
baseline location, ascender size, descender size, underline stroke
width, and underline position. It then translates this metric information
into the formats expected by Xlib APIs such as XTextWidth.
The best approach is to select fonts that are available on
both Windows and Solaris when you design the DataWindow. However,
each platform has its own font-rendering engine, so you might notice
differences in the sizes of fonts between Windows to Solaris. You
should test the printed output on Solaris early in the development
process.
Limitations
Support for printing DataWindow objects is based on the Wind/U
product from Bristol Technology. The Wind/U GDI library
and Xprinter library have the following limitations:
-
No support for multibyte character sets (MBCS) or Unicode
-
Xprinter is not thread safe, therefore print jobs
are serialized