A number of sets of graphics resolution commands can be set up for the minidriver. To specify graphics resolution commands, select Graphics Info from the Printer Data menu on the minidriver’s Printer Data window. Then select Resolution to display the initial RESOLUTION dialog box.
The RESOLUTION dialog box specifies resolution data such as the text resolution, graphics resolution, color capabilities at a given resolution, methods of sending blocks of graphics data, and so on.
Printers support one or more horizontal and vertical resolutions for raster graphics output. A resolution is an integer value specified in dots-per-inch (dpi), which indicates the number of distinct dots that the print head or inkjet can apply along the x- or the y-axis.
In some instances, the sample Diconix 150 Plus and Hewlett-Packard LaserJet IIP minidrivers support multiple sets of commands and data. For example, both minidrivers contain three RESOLUTION dialog boxes. In this topic, the examples use the first dialog box, which supports the highest graphics resolution.
The Diconix 150 Plus supports the following x-y resolutions:
The HP LaserJet IIP supports the following x-y resolutions:
When you finish entering data in the RESOLUTION dialog box:
The Display Format box contains the conversion specification for the resolution string. The most common conversion specification is %d x %d; such as for 320 x 96. In cases where two parameters are supplied in the display format string, the x-resolution is enumerated first.
Diconix 150 Plus: The Display Format box contains:
%d x %d
HP LaserJet IIP: The Display Format box contains:
%d dots per inch
The Scale Factors specify horizontal and vertical scale factors for raster graphics and text output using device fonts. Unlike other values specified in the minidriver, the scale factors are expressed in dpi rather than master units. The values specified must factor evenly into master units.
Text scale factors indicate the resolution for digitizing device fonts. Graphic scale factors describe the resolution required to place individual pixels on the page. Because graphic scale factors are tracked internally as logarithmic ratios to text scale factors, graphic scale factors must either be equal to the text scale factors or equal to a text scale factor divided by a power of 2. For example, a text scale factor of 300 dots per inch can use a graphic scale factor of 300, 150 (300/2), of 75 (300/4), but not a graphic scale factor of 100.
For most laser printers, text and graphics are sent to the printer in separate bands. The scale factors determine the coordinates where each object is placed in a given band on the page. For example, the HP LaserJet IIP supports one of several resolutions with an x and y text scale factor of 300 dpi, and a graphics scale factor of 75 dpi. When using this resolution, text is printed using device fonts that are output at 300 dpi accuracy and raster graphic objects output at 75 dpi accuracy.
For most dot-matrix and inkjet printers, text and graphics are sent to the printer in the same band. The graphic scale factors determine the coordinates for the placement in a given band. For these printers, the text and graphic scale factors are the same. Attempting to set different scale factors does not change output quality and causes Windows to not enumerate TrueType fonts when this resolution is selected.
Note TrueType fonts are not available for those resolutions where the text scale factor does not equal the graphic scale factor unless the driver supports TrueType font downloading. For more information, see Download Information Dialog Box.
Diconix 150 Plus: The text and graphics resolutions are identical. Use 320 for the X DPI boxes and 96 for the Y DPI boxes.
HP LaserJet IIP: The device fonts are digitized at the highest printer resolution (300 dpi). At the highest graphics resolution, use 300 for each Scale Factors box.
Click the fCursor button to display the fCursor dialog box. The fCursor dialog box controls describe how the printer positions the cursor after rendering a block of raster data. (A block of raster data is a row of bits in a bitmap produced by one pass of the print head.) Use any of the following controls as needed:
Control |
Description |
RES_CUR_X_POS_ORG |
Aligns the cursor with the left edge of the original block of raster data after printing a block of data. |
RES_CUR_X_POS_AT_0 |
Aligning the cursor with the left edge of the printable region (page). |
RES_CUR_Y_POS_AUTO |
Moves the cursor in the positive y-direction to the start of the next row of data after printing a lock of data. |
RES_CUR_CR_GRX_ORG |
Resets the left-edge coordinates of a block of graphics data when internal blanks are removed (for HPPCL printers only). |
If your printer uses the Hewlett-Packard Printer Control Language (PCL), and you have checked the RES_BO_ENCLOSED_BLNKS box in the fBlockOut dialog box, you should also check the RES_CUR_CR_GRX_ORG box in the fCursor dialog box. (This is because PCL printers redefine the left edge of a block of graphics data when internal blanks are removed. By setting the RES_CUR_CR_GRX_ORG box, you set a flag that informs RasDD that it must reset the left-edge coordinates.)
Diconix 150 Plus: None of the boxes are checked.
HP LaserJet IIP: Check the RES_CUR_X_POS_ORG box , the RES_CUR_Y_POS_AUTO box, and the RES_CUR_GRX_ORG box.
(Not currently supported.)
Click the fBlockOut button to display the fBlockOut dialog box. the fBlockOut dialog box controls specify how RasDD formats each block of raster-graphic (bitmap) data to be sent to the printer. A block is defined as having a height of n scan lines where n is equal to the sNPins control. For more information, see “Number of Pins” below.
The controls in the BlockOut dialog box specify if RasDD is to perform the following:
Control |
Description |
RES_BO_LEADING_BLNKS |
Strip leading, non-printing graphic data from the beginning of each block of raster data (bitmap) sent to the printer. |
RES_BO_TRAILING_BLNKS |
Strip trailing, nonprinting graphic data from the end of each block of raster data (bitmap) sent to the printer. |
RES_BO_ENCLOSED_BLNKS |
Strip enclosed, nonprinting graphic data from within each block of raster data (bitmap) sent to the printer, if the number of bytes of nonprinting raster data exceeds that value listed in the sMinBlankSkip control in the RESOLUTION dialog box. |
RES_BO_RESET_FONT |
Selected device font needs to be reset after printing grx. |
RES_BO_UNIDIR |
Enable unidirectional printing using the data in the Cursor Movement dialog box with this resolution. Some printers require this setting for correct horizontal alignment of output. |
RES_BO_NO_ADJACENT |
Inidcate that vertically adjacent pins on the print head are not fired simultaneously. |
RES_BO_OEMGRXFILTER |
Minidriver provides a callback function to alter raster graphic data. |
RES_BO_MULTIPLE_ROWS |
Send multiple scanlines of data with each RES_OCD_SENDBLOCK command; otherwise, the minidriver sends only one at a time. This option affects only laser printers for which sPinsPerPass is set to 1. |
Note The term strip raster graphics data means that RasDD substitutes available cursor-movement commands in place of nonprinting raster graphic data prior to sending the data to the printer. This usually results in a performance gain because cursor-movement commands typically require less data when sent to the printer. Most printers benefit from using the RES_BO_TRAILING_BLNKS bit. Due to differences in the resolutions of cursor-movement commands and graphics resolutions, use care with the RES_BO_LEADING_BLNKS and RES_BO_ENCLOSED_BLNKS bits to ensure that horizontal misalignment of graphic output does not occur.
Diconix 150 Plus: Check the RES_BO_TRAILING_BLNKS box. The RES_BO_LEADING_BLNKS and RES_BO_ENCLOSED_BLNKS boxes are not checked because the available methods of moving the cursor do provide a reasonable degree of accuracy.
HP LaserJet IIP: Check the RES_BO_ENCLOSED_BLNKS box and the RES_BO_TRAILING_BLNKS box. The RES_BO_LEADING_BLNKS box is not checked. (The performance of HPPCL minidrivers is significantly reduced when this box is checked and RasDD removes leading blanks from a bitmap.)
The sNPins box in the RESOLUTION dialog box specifies the minimum height (in pixels) of lines of raster data that RasDD evaluates at one time. This is typically the number of pins or jets used by the printer for each horizontal slice of graphic output produced by one pass of the print head.
Note When the value of sNPins is equal to the value of sPinsPerPass, this is referred to as noninterlaced graphics output.
Diconix 150 Plus: Use 8 for the sNPins box. This is the number of jets used by the printer for noninterlaced graphics. Use 16 for interlaced graphics.
HP LaserJet IIP: Use 1 for the sNPins box.
In some cases, a higher resolution than the one native to the printer can be created by vertically interlacing graphics (rendering each block of graphics data in two passes) using the sPinsPerPass. The sPinsPerPass control is a vertical cursor-movement command that uses a resolution at least twice as fine as the native vertical-graphics resolution. RasDD accomplishes this by sending the first block of raster data as normal. During the second pass, the printhead position is incremented in the y-direction by a value that is less than or equal to the height of a single pin or jet. To render bitmaps correctly using interlaced graphics, RasDD requires the number of pins to be fired by the printer as defined in the sNPins box. If the height of a block of graphics data is less than the height of the specified pins, RasDD adds null graphics data to the block.
For example, many 9-pin dot-matrix drivers typically support a 240 x 72 dpi resolution as their highest native mode. These printers also have a vertical-movement command that operates in 1/144 inch. RasDD can support 240 x 144 dpi resolutions if the driver sets sPinsPerPass to 8 (the number of pins fired in one pass), sets sNPins to 16 (the number of pins fired in two passes), and supports the 1/144-inch vertical command.
Diconix 150 Plus: Use 8 for the sPinsPerPass box. This is the number of jets used by the printer for noninterlaced graphics.
HP LaserJet IIP: Use 1 for the sPinsPerPass box.
The sTextYOffset box specifies the difference between the baseline of printer fonts and the baseline of GDI fonts. If the baseline of device fonts differs from the baseline of GDI fonts and an application mixes the two fonts on a line, the text appears uneven. To prevent this, RasDD specifies the difference between the two baselines in master units.
Diconix 150 Plus: Use 0 for the sTextYOffset box . The baseline of printer fonts is identical to the baseline of GDI fonts.
HP LaserJet IIP: Same as Diconix 150 Plus.
The sMinBlankSkip box specifies the minimum number of bytes of null data (blanks) that must occur before RasDD begins removing embedded blanks from the block of bitmap data. If RasDD removes most of the null raster data sent to the printer to reduce data transmission, printing and performance time can increase. For example, if this value is too small due to printhead movement when switching from graphics mode to cursor movement commands. Dot-matrix minidrivers are recommended to use values no smaller than the number of bytes of raster data required for two inches of output.
Diconix 150 Plus: Use 0 for the sMinBlankSip box.
HP LaserJet IIP: Use 32 for the sMinBlankSkip box . In this case, RasDD strips blank data from a bitmap unless there are at least 32 consecutive null bytes.
The sSpotDiameter box specifies a special value RasDD uses to rasterize graphic data and compensate for overlapping pixels. The value entered affects the lightness or darkness of printed raster-graphic images. The spot diameters for common resolutions supported by 9-pin, 24-pin, and ink-jet printers are as follows:
Printer |
Resolution |
Diameter |
9-pin |
240 x 144 |
170 |
|
120 x 144 |
140 |
|
120 x 100 |
100 |
24-pin |
360 x 180 |
170 |
|
180 x 180 |
140 |
|
120 x 180 |
120 |
Ink-Jet |
360 x 360 |
100 |
|
180 x 180 |
100 |
|
120 x 180 |
100 |
Diconix 150 Plus: Use 100 for the sSpotDiameter box.
HP LaserJet IIP: Same as Diconix 150 Plus.
The Default Dither Brush box specifies the default dithering technique for the selected resolution. Select the technique that looks the best for the given printer model and resolution. These choices are available:
Technique |
Description |
None |
No dithering. |
Coarse |
The dither pattern is clustered. |
Fine |
The dither pattern is evenly dispersed. |
LineArt |
The dither pattern is optimized for color graphics images with sharp separation. This technique is not recommended as the default, and it is not supported for color graphics. |
Diconix 150 Plus: The Coarse button is selected.
HP LaserJet IIP: The Fine button is selected.
The Select Resolution command selects the designated printer resolution.
Diconix 150 Plus: Integrates the selection of the resolution with the Send Block command. This box is empty.
HP LaserJet IIP: Use the Raster Graphics Resolution command (ESC*tnR) to select the resolution for graphics output where n specifies a resolution of 75, 100, 150, or 300 dpi.
To specify the command for 300 dpi graphics, type the following in the Select Resolution box:
\x1B*t300R
The Begin Graphics command is sent to the printer to enable graphics output. (Printers that provide a specific command to select a graphics resolution can also provide a command to enter graphics mode.)
Diconix 150 Plus: Automatically begins rendering graphics when a Send Block command is received. The Begin Graphics box is empty.
HP LaserJet IIP: Use the Start Raster Graphics command (ESC*rnA) to signal the start of raster graphics and specify the location of the left margin. If n is 1, the current cursor location defines the left margin for the graphics output; if n is 0, the left edge of the page defines the left margin for the graphics output.
To specify the command using the current cursor location as the left margin, type the following in the Begin Graphics box:
\x1B*r1A
The End Graphics command is sent to the printer to disable graphics output. (Printers that provide a specific command to disable a graphics resolution can also provide a command to end the processing of graphics data.)
Diconix 150 Plus: Automatically ends graphics output after processing the last byte of graphics data. This control is not initialized.
HP LaserJet IIP: Use the End Raster Graphics command (ESC*rB) to disable raster graphics output.
To specify the command, type the following in the End Graphics box:
\x1B*rB
The End Block command terminates or ends the processing of a block of graphics data.
Diconix 150 Plus: Stops processing graphics data at the conclusion of the command specified in the Send Block box. The End Block box is empty.
HP LaserJet IIP: Processes a single block (or row) of data at a time. A command to terminate the processing of graphics data is not required. The End Block box is empty.
The Send Block command processes or sends one or more blocks (or rows) of graphics data.
Diconix 150 Plus: Use the Quadruple-Density 8-Bit Graphics command (ESCZn1n2d1...dn) to process multiple blocks (that is, an entire bitmap) at the 320 x 96 dpi resolution. The arguments n1 and n2 specify the total number of bytes of graphics data: n1 is the remainder when this number is divided by 256, and n2 is the quotient. The arguments d1 thru dn represent the actual bytes of graphics data.
To specify the command, type the following in the Send Block box:
\x1BZ%l
HP LaserJet IIP: Use the Transfer Raster Data command (ESC*bnW) to process a single block of raster data at the specified resolution. The argument n specifies the count of bytes of raster data.
To specify the command, type the following in the Send Block box:
\x1B%dW