Overview:

Though designed to emulate the HP Color LaserJet 5/5M, there are several areas
where the behavior of the Artifex interpreter differs from that device. The 
first part of this document provides an overview of these differences, and 
the second part notes specific examples in the PCL 5c FTS where the differences
between the Artifex interpreter and the HP implementation are apparent.

Overview:

  Fonts
    Since the release of the LaserJet III in 1989, successive printer products
    from HP have shifted away from using bitmap fonts toward scalable fonts,
    originally using Intellifont fonts and more recently TrueType fonts (using
    the InfiniFont packaging technique). The Color LaserJet 5/5M represents an
    intermediate stage in this development. It has a single bitmap font (line-
    printer), a primary set of scalable fonts in Intellifont format, and an
    additional set of fonts in TrueType format.

    Artifex is not a font vendor, and the default set of fonts offered with the
    interpreter is not meant to exactly emulate the offerings of an HP product.
    In addition, the default font set corresponds to a later stage in the
    evolution of HP products; more similar to the monochrome LaserJet 5/5M and
    the LaserJet 6P than the Color LaserJet 5/5M (which more closely resembles
    the font offering of the monochrome LaserJet 4 series). Though the set of
    typeface "names" that are supported is similar, the format in which these
    fonts are stored and some aspects of the supported character set vary.

    This discrepancy in font offerings has many visible manifestations, most of
    them quite minor. Some of the more obvious differences are:

    1.  Spacing.

        Not all of the proportionally spaced fonts in the default set match 
        the spacing (advance width) of the corresponding fonts provided
        by HP. This is most often visible when lines of text are set up to be
        clipped at the right margin (rare in applications but more common in
        the FTS), or when the automatic line wrap feature is used.

    2.  Adherence to requested height and/or (fixed-width) space.

        In normal operation, a PCL document does not directly specify which
        fonts are to be used for a given block of text. Rather, the document
        will specify a set of font properties which the interpreter attempts
        to match as best possible given the set of available fonts (the rules
        which define a "best" match are quite specific). Among the properties
        specified are the height of the font and, in the case of a fixed-pitch
        font, the character pitch.

        All of the fonts provided in the default set for the Artifex 
        interpreter are scalable, hence all will exactly adhere to the
        requested font size and/or pitch. In situations where a bitmap font
        would, instead, be used by an HP printer, only an approximate match 
        may be available for font size/pitch. Hence, the size of text 
        rendered by the Artifex interpreter may differ from that of an HP 
        printer.

    3.  Interaction with downloaded symbol sets.

        All of the fonts in the Artifex default set are TrueType fonts, which
        make use of the Unicode font encoding scheme. Intellifont fonts, such
        as the base set provided with the Color LaserJet 5/5M, make use of a
        different font encoding scheme known as MSL. (In principle there is no
        connection between a font's scaling technology and its encoding scheme,
        but in practice all Intellifont fonts use the MSL scheme and all
        (unbound) TrueType fonts use the Unicode scheme.)

        In PCL, a user defined (downloaded) symbol set may apply to either the
        Unicode or the MSL encoding scheme, but not to both. Hence, a downloaded
        symbol set that uses the MSL encoding can be used with the base font
        set of the Color LaserJet 5/5M, but not with fonts provided with the
        Artifex interpreter. Conversely, any downloaded symbol set that uses
        the Unicode encoding can be used with the base font set of the Artifex
        interpreter, but not the Color LaserJet 5/5M.

        Because support for the currently selected symbol set is the highest
        priority selection parameter in the PCL font selection mechanism, this
        difference in font format can have dramatic effects, as is evident in
        some of the 5c FTS tests.

    4.  Font scaler anomalies

        The set of Intellifont fonts distributed by Agfa includes fonts with
        some "malformed" character outlines (outlines that do not adhere to the
        documented format). These outlines are handled differently by the
        HP Intellifont scaler and the scaler provided with the Artifex
        interpreter. For example, in the 5c FTS, the lower case 't' in the 
        Park Avenue font has a malformed outline, and its rendering with the 
        Artifex interpreter is quite different (i.e., distorted) from that 
        produced by an HP interpreter.

  Rendering Methods/Halftones

    HP's documentation identifies 20 different "rendering algorithms" that can
    be selected on an object-by-object basis. For the most part these rendering
    algorithms represent different halftones, though certain rendering
    algorithms also specify color mapping (in particular, color to monochrome
    conversion).

    No actual devices support all 20 algorithms. For any given device, many
    algorithms are mapped to others, so that no more than 6 to 12 unique
    algorithms are supported. This remapping respects color transformations:
    a monochrome algorithm may be remapped to another monochrome algorithm but
    not to a color algorithm, and vice-versa. Hence, the remapping of render
    algorithms is essentially a mechanism for selecting amongst different
    halftones.

    Halftones for PCL 5c devices fall into two categories: "predictable" and not
    "predictable". Prior to the release of the Color LaserJet 5/5M, all PCL 5c
    halftones were predictable: all halftones were based on threshold arrays
    (HP's documentation terms such halftones "ordered dithers", because they
    have a monotonicity or "order" property), and the same halftone was used on
    all devices. (Strictly speaking, there is "upward compatibility": some
    devices offer more halftones than others, but when a halftone is offered on
    multiple devices it is the same.)

    The Color LaserJet 5/5M completely broke with this tradition, and offered
    only "unpredictable", or device specific, halftones. This was accomplished
    by adding five new halftone algorithms to the previously existing set of 15,
    and on the Color LaserJet 5/5M, remapping all of the existing algorithms 
    that require halftoning (algorithms 1 and 2 do not) to these five.

    The "predictability" of a halftone is potentially of great significance in
    PCL 5c, because of the manner in which HP chose to implement raster
    operations. These are defined on a pixel-by-pixel basis after halftoning
    (at least, where such a definition is possible; see the contone discussion
    below for further information). Hence, when using raster operations to
    combine objects rendered with two different halftones, the order in which
    a halftone darkens pixels is of great significance: given two objects of
    approximately 50% intensity and an exclusive-or raster operation, the
    resulting region may be solidly colored, fully white, or anything in
    between.

    The Artifex interpreter provides the full set of rendering algorithms that
    use "predictable" halftones, and except for the case of the noise ordered
    dither, the halftone used is identical to that used by HP devices prior 
    to the Color LaserJet 5/5M. The halftone provided for noise-ordered 
    dither is only roughly similar to that provided by HP, but this should 
    not cause a problem in practice. Though in principle "predictable", the 
    noise ordered dither used on HP devices is so large (128 x 128 pixels) 
    that no application could reasonably take advantage of its ordered
    property.

    The Artifex interpreter provides no device-specific halftones because it
    is impossible to know a priori what output device it will be used with.
    Mechanisms are provided to allow device-specific halftones to be assigned
    to specific rendering methods--see the accompanying interface description
    for more information. All of the rendering algorithms that would normally
    use a device specific halftone have been remapped to a method that uses
    a predictable halftone. A mechanism is available for modifying this 
    mapping; again, see the interface document for details.

    The Artifex interpreter supports user-downloaded threshold (dither) arrays,
    which are supported by all recent HP color devices except the Color
    LaserJet 5/5M. If desired, this support can be disabled by remapping the
    corresponding render algorithms (9 and 10) via the mechanism noted above;
    by default, however, these are not remapped.

    In practice, this implies that halftoned output produced by the unmodified
    Artifex PCL 5c interpreter will have a very different appearance from that
    produced by the Color LaserJet 5/5M, even when the former is output on the
    5/5M. (There are also other complications, which are described further
    below.) In general, the output from the Artifex interpreter will be similar
    to that of the original Color LaserJet and the HP DeskJet 1200 and 1600
    C/CM printers. This is a reflection of a different configuration rather
    than a fundamental difference in the interpreter.

  Raster Operations, device pixel depth

    In any industry that undergoes rapid technological evolution, any technical
    term that becomes significant for purposes of marketing tends to lose its
    technical meaning, as manufacturers shift the definition to show their
    products in the best light. Such has been the case for the term "resolution"
    when used with respect to inkjet and laser printers.

    HP does not provided a resolution specification for the Color LaserJet 5/5M.
    It does, however, claim "1200 dpi" equivalent performance, via the use of
    "resolution enhancement technology" (RET).

    Based on the traditional metric, namely, the thinnest horizontal and 
    vertical pure color line that can be drawn, the Color LaserJet 5/5M is 
    a 300 dpi device.  The resolution enhancement technology used by HP 
    provides for more rapid modulation of the laser in the fast-scan 
    direction (the long edge of a letter or A4 page). This is used as part of
    a halftoning technique that produces thinner lines in the slow-scan 
    direction than would be indicated by the 300 dpi resolution. This makes 
    the printer somewhat of a contone device, with between 8 and 16 levels 
    per pixel in each color plane.

    Based on empirical evidence, HP does not make use of this contone capability
    in a direct manner. Rather, the level used for a specific pixel is based
    both on the color of that pixel and on the colors for a small number of
    nearest neighbor pixels. A likely reason for this is that PCL rasters are
    traditionally bi-level in each color plane (this is true for all of the
    default or "fixed" color palettes), and the printer will only support
    input resolutions to 300 dpi.

    A side-effect of this arrangement is to make the effect of general raster
    operations completely unpredictable; indeed, much less predictable than
    would be indicated by usage of "unpredictable" halftones. For actual
    applications this is almost never visible, but in several of the tests
    in the PCL 5c FTS, the results on the Color LaserJet 5/5M bear only
    slight resemblance to what is documented and what is produced by other
    PCL 5c printers. In these cases, the Artifex PCL 5c interpreter 
    follows the documentation, as the results produced by the CLJ 5/5M seem to
    be extremely specific to that device.

  Color Correction

    The Color LaserJet 5/5M provides sets of two device dependent and three
    device independent color spaces. One of the latter is not, however, a fully
    device independent color space: the "Colorimetric RGB" space is documented
    as a device independent color space but is implemented as a set of lookup
    tables based on the device-dependent RGB space (all above board: this
    arrangement is noted in the documentation).

    The implementation of the device dependent color spaces is simple enough,
    with the exception of some peculiar color correction applied to the fixed
    color spaces. The latter is discussed below. The implementation in the
    Artifex code matches that of the Color LaserJet 5/5M quite closely in this
    area, with the exception of the color correction anomaly.

    The device independent color spaces are another matter entirely. Nothing can
    be said directly about the "Colorimetric RGB" space since this is not
    actually supported. The documentation for this format does, however, include
    several parameters whose significance is, at best, obscure. The definition
    of the chromaticities of the primaries is straightforward enough, and the
    specification of gamma parameters for the components is reasonably 
    standard (though why the language provides for both a per component gamma
    specification and a per-component, per-color-space lookup table is less
    clear). The gain parameter, on the other hand, is not standard, and we
    could find no description in the literature as to what it might mean. Based
    on empirical work using the luminance-chrominance color space (which uses
    the same parameter for its base color space), we have implemented the
    gamma and gain parameters as:

            out = 1.0 - (1.0 - pow(in, 1/gamma)) / gain

    The CIE L*a*b* color space provided by the Color LaserJet 5/5M is also
    somewhat peculiar. Its most unusual property is that an L* value 0 does not
    yield black but rather a fairly solid red. This leaves one at somewhat of a
    loss as to what the L* parameter is intended to correspond to. In any event,
    after prior discussions with the OEM customer, the Artifex interpreter
    was built to use the CIE specified conversion from L*a*b* to XYZ (the
    color rendering dictionary converts the latter to device colors). The 
    difference between the two is visible in several of the tests of the PCL
    5c FTS.

    The default color correction information provided with the Artifex 
    interpreter assumes the output device has uncorrected SMPTE primaries. This
    is, of course, not likely to be correct for any actual output device. The
    output observed using device independent color spaces will be incorrect
    unless a suitable color rendering dictionary has been installed. How this
    may be accomplished is described in the accompanying interface document.

  Device dependent color correction

    The fixed or "simple" color space palettes provided with the Color LaserJet
    5/5M are ostensibly variations of the device-dependent RGB color space.
    However, unlike the latter, the "simple" color spaces produce different
    results when used for raster as opposed to geometric objects: red becomes
    orange, green becomes notably lighter in shade, cyan becomes nearly blue, 
    and blue becomes deep purple. This effect is quite noticeable and is only 
    present on the Color LaserJet 5/5M; other HP printers do not show this 
    effect.

    Because rasters rendered with the simple color spaces generate output much
    more "quickly" than rasters generated with the equivalent writeable color
    palette by a factor of about 3, it is our belief that the simple color
    space raster palettes represent the true colors of the device primaries,
    and that color correction is applied to colors used with geometric objects
    to make them more nearly match what is expected of these colors.

    The Artifex PCL 5c interpreter does and, and indeed cannot, provide the
    same form of correction. In the 5c interpreter, geometric and raster 
    objects that use the same color will have identical appearance. Hence,
    rasters produced with simple color space in the Artifex interpreter will not
    have the same appearance as those produced by the Color LaserJet 5/5m.

  View Illuminant

    For reasons that are likely specific to the implementation, the view
    illuminant setting on the Color LaserJet 5/5m only affects rasters, not
    geometric objects. The Artifex interpreter does not replicate this
    behavior: the view illuminant setting affects all output. This leads to
    different output on one of the tests of the PCL 5c FTS.

  Default Colors

    HP specifies that up to the first eight entries of each palette be given
    a set of default, device dependent primary colors. Furthermore, these colors
    are not affected by color lookup tables for the device independent color
    spaces, but are affected by lookup tables for the appropriate device
    dependent color space.

    This effect is difficult to achieve given the design of the Artifex
    interpreter and its underlying graphic library. The effect is also of
    questionable merit: why use a device-dependent default color with a
    device independent color space? Hence, in the Artifex interpreter, the
    default colors used with device independent color spaces are themselves
    device independent, and are affected by all applicable color lookup
    tables.

  Transparency

    The implementation of transparency in the Artifex PCL 5c interpreter
    closely follows that of HP interpreters, with one major exception. In HP
    interpreters, the determination of which colors are white is made at the
    device level, immediately before dithering. In the Artifex interpreter,
    the same determination is made at the source color level, after consider-
    ation of the black and white reference points but before any other color
    transformation. This is arguably a bug but one that is difficult to remedy
    given the design of the underlying graphic library.

    In practice, this difference is not visible in application files, and is
    visible in test files in only two cases: when using an inverting color
    lookup table, and when using rendering algorithm 2 (map black to white and
    all other colors to black). Both of these situations arise in a small
    number of tests in the PCL 5c FTS.

  Pixel Placement

    Though the definition of pixel placement is consistent across all PCL 5c
    implementations from HP, the set of objects affected is not. In all cases
    pixel placement affects rectangles in PCL and polygon fills in GL, and do
    not affect PCL rasters. For all devices except the Color LaserJet 5/5M,
    pixel placement does not affect text; this is also the documented behavior.
    For the CLJ 5/5M, pixel placement affects the rendering of scalable fonts,
    but does so in a manner not consistent with its effects on other objects
    (an extra pixel is added on each side of the character, as opposed to just
    the right and bottom sides).

    The Artifex PCL 5c interpreter adheres to the documented behavior: only
    PCL rectangles and polygon fills in GL/2 are affected by pixel placement
    (currently there is a bug that causes the pixel placement command in
    GL/2 to have incorrect behavior, but the design intent is as stated).

  Driver configuration parameters

    The Artifex PCL 5c interpreter does not implement the driver configuration
    command. This causes several tests near the end of the PCL 5c FTS to
    produce different results than is the case for the Color LaserJet 5/5M.
    
    

Difference in specific tests of the PCL 5c FTS

54:

    The line "12345..." is printed in an 8 pt. version of the default
    proportionally spaced font. In the Artifex interpreter, this is a Times
    font, as it is for the Color LaserJet 5/5M, but not with the same spacing.

292, 302:
     
     As indicated in the test, the font requested is for a bitmap
     proportional font which Artifex renders and HP does not.  HP will
     favor a scalable font over a perfectly matching bitmap font if
     the resolution of the device is different than the bitmap font.
     The file will print the same on each interpreter at 300 dpi.
     Artifex does not support the resolution dependent HP behavior.


401, 411:
     
     Certainly a bug in the HP printer, each pair of lines should be
     identical.  The only change between the lines is the foundry
     identifier within the typeface which would not have any effect
     when selecting by attribute.

692, 693, 694, 695, 814, 976
     
     The first raster of in this panel has inverted colors.  The
     Artifex output is correct.  In some cases HP appears to ignore
     the settings of the white and black points when using the device
     rgb long form command.  The following cid sequence extracted from
     the test should produce an rgb color space with white point and
     black point swapped (white = 0 and black = 255).

begin 644 cid.pcl
8&RIV,3A7```#"`@(`````````/\`_P#_
`
end

     Changing the white point and black point in the command and
     running the test on the HP has no effect on the result as it
     should by the specification.

     Similarly, for the second raster in each of these panels the
     Artifex interpreter follows the HP specification for setting the
     white and black point in device color space and the HP does not.
     Clearly these rasters are incorrect they are simply black on the
     HP.

750:
    In the third row, the row with the greatest reduction in scale, the first
    (thinnest) bar of the raster completely disappears on the Color LaserJet
    5/5M, but not with the Artifex PCL 5c interpreter.

    Whether a given artifact of a raster appears or disappears when scaled down
    is a property of the specific raster scale implementation used. There is
    no reason to expect the results to be the same across two implementations,
    and little reason to try to make them the same.

765:

  The output produced by the Artifex interpreter appears to be correct and
  agrees with the output of the DJ 1600C/CM. The output on the CLJ 5/5M
  differs, quite probably due to a physical limitation of the printer.

  This example involves scaled PCL rasters. Such rasters are clipped to the
  the page's printable region. In PCL, a page is always assumed to have a 1/6"
  unprintable margin. For this test all three of the rasters present are
  scaled by a factor of 14.5. The middle (green) raster in the example has a
  width of 25 samples, and is placed 205 pixels to the left of the right
  printable margin. Hence, all of the first 14 samples should be visible
  (14 * 14.5 = 203), as well as two pixels of the 15th sample.

  In this test, all raster sample lines are the same, and consist of the
  following pattern (0 == white, 1 == color, either dark blue or green):

      0000 0001 0000 0011 0000 0111 0

  Hence, the 15th sample value is colored, and a two-pixel-wide sliver of this
  sample should be visible.

800 - 804:

    Each of the "bars" in these test are rendered in a different color space,
    in the sequence RGB, CMY, Colorimetric RGB, CIE L*a*b*, Luminance-
    Chrominance. The final three bars are in device independent color spaces,
    hence their appearance will vary based on the color rendering
    dictionary provided.

    Note also that fourth bar in tests 800 and 803 reflect the implementation
    of the CIE L*a*b* color space in the Color LaserJet 5/5M, which renders
    colors with the value of L* = 0 as red rather than black.

    NOTE: this issue is not apparent in the default configuration as
    these device independent color spaces are replaced with sRGB

811

    Each raster in this example is rendered in a different color space, in the
    sequence RGB, CMY, Colorimetric RGB, CIE L*a*b*, and Luminance-Chrominance.
    Hence, the appearance of the last three rows will depend on the color
    rendering dictionary provided. For the fourth raster, the different
    implementations of the CIE L*a*b* color spaces is also evident.

    NOTE: this issue is not apparent in the default configuration as
    these device independent color spaces are replaced with sRGB

813:
    The first two rasters are printed in RGB and CMY color spaces, with the
    white and black points reversed. Due to an error in the implementation
    of transparency in the CLJ 5/5M, this causes BOTH white and black to be
    considered transparent, which in turn causes the center region to be
    fully transparent.

    The Artifex implementation does not have this bug, hence either the
    black triangles or the black background of this region is visible.

    The additional three rasters are printed in device-independent color spaces,
    hence their appearance is dependent on the color rendering dictionary
    provided.

    NOTE: this issue is not apparent in the default configuration as
    these device independent color spaces are replaced with sRGB

951:

    The Artifex interpreter renders a white (invisible raster) where
    the HP renders a green raster.  Combining the color in the
    graphics state with the color specified by the raster predicts a
    white box.  We aren't sure how to emulate the Color Laserjet bug.

980, 981:

    The raster operation mechanism of the is broken, and thus cannot
    be used as a reliable comparison.  Graphic one renders red text
    using raster operation 17 (not Destination or Source), the
    destination background is white so the text is rendered black.

1641:

    The handling of the stick font's horizontal tab in GL/2 differs
    between the Artifex PCL 5c interpreter and the HP CLJ.

1650:
    
    Label origin 9 differs slightly.

1950-1967:

    Our interpreter does not exactly emulate the HP when using HPGL/2
    user defined fill type with adaptive lines.  The dash pattern
    length should be a fuction of the the length of the segment
    clipped to the graphic object being filled.  We don't emulate this
    unusual filling style which is a relic from old HP pen plotters.
    We don't see the filling style in real world applications and feel
    our approximation is sufficient.

2011-2014:

    The HP 4700 printer is using the wrong palette in these panels and
    many font colors are not correct.

2210 and 2220 (fourth page):

    SI, SR discrenpancy, obscure and low impact.

2330:

    The CLJ 5/5M does not support the viewing illuminant command; the Artifex
    PCL interpreter does.

2351, 2352:

    The driver configuration command linearly maps saturation and
    lightness arguments to pcl's gamma function.  It is expected that
    vendors will provide product specific code for this function.
    This functionality appears to be broken on the Color Laserjet
    4600.

2412:

    We do not know why the text below the the palette is not printed
    on the Color Laserjet.

PCL5c ATS Anomalies
===================


ak506k21.bin:
     
     A PCL raster does not overlap an HPGL/2 line segment because the
     line is not positioned exactly like HP due to a rounding
     difference.  The HP 1600C/CM also images this differently than
     the HP Color Laserjet breaking only half of the line.  After
     rounding to the nearest pixel the ASI interpreter places the
     raster rectangle one 300 dpi pixel below the gl/2 line.  The HP
     overlaps for at least one pixel on the 1600C/CM and the width of
     the line on the Color Laserjet.

fp309k22.bin:

     The right edge of the clipboard is missing.  This is a font
     rasterizer anomaly.  The clipboard is a winding bitmap font and
     images correctly at 600 dpi but is slightly clipped at 300 dpi.

Qp606w21.bin:

      It is possible for the artifex interpreter to miss closing a
      path in polygon mode under certain unusual conditions, due to
      rounding problems.  Here is a very simple example that
      demonstrates the problem.  This problem has only manifested in
      problems of low visibility so we have not fixed it.

begin 664 Qp606w21.bin.small
M&R4M,3(S-#580%!*3"!3150@4$%'15!23U1%0U0]05543PI`4$I,(%-%5"!2
M15-/3%5424]./38P,`I`4$I,($5.5$52($Q!3D=504=%/5!#3`H;11LE,$))
M3E-0,5!!4%<N-3M053(Q,C`L,SDT-CM033`[4$0[4%(M."PM,BPM-#8L+3$Q
?+#(R,2PM.#8W+"TQ-C<L.#@P.U!-,CM%4!LE,$$;10``
`
end


---

HP Color Laserjet 5C FTS printed on the Color Laserjet 4600

panel 411 - The HP interpreter falls back to Times Bold Italic on line
6.  On the previous line the brush font was properly selected, text
printed with the font then typeface family 4128 is selected.
Extracting out the non vendor bits results in typeface 32 which is the
typeface number of the brush font.  There are no intervening relevant
commands before the next sentence is printed so, we don't see how any
other font than brush font could be selected and assume this is a bug
in the HP printer.  Similarly we believe the Dom Casual downloaded
font should be selected on lines 7 & 8.


----

HP Color Laserjet 4600 CET

18-01.BIN page 25 - The vertical bar and checkerboard character are
missing on this page.  The glyphs are not actually present in the
downloaded font.  It will work properly with Monotype if the plugins
are configured correctly.

20-07.BIN page 18 (repeats throughout test) - The HP prints the text
in the wrong color.  The logical operation 17 (DSon) is used to paint
green text on a white background.  The result should be black, the
text is green.  The following example prints the wrong colored text
from the example and a rectangle with the same raster operation and
colors, the rectangle is the predicted black and the text is green.

(quoted printable)

=1BE=1B*r3U=1B*v2S=1B*l17O=1B*p300x400Y=1B*c90A=1B*c150B=1B*c0PDownloa=
ding symbol set 62F and making it permanent=1BE


24-04 page 3, 4 and 6 - The HP 4600 is incorrect.  The reference point is
explicitly set to the current position before drawing the rectangles.
The pattern's origin should coincide with the rectangle's origin as it
does in the Artifex output.


28-10 page 11 - This test checks fractional bit support for the
polyline encoding command.  The last box on the page uses 26 fractional
bits, Artifex supports this and prints the box, the HP 4600 does not
support 26 bits and does not print the box.  The PCL Technical
Reference Manual calls states the -26 <= fractional bits <= 26.  The
HPGL/2 RTL tecnical reference manual states the value is device
dependent.



----

HP Color Laserjet 4600 CET printed on the Color Laserjet 4550


21-09.BIN :

	  4550 printer infinite loop raster width range test.


21-10.BIN :

	  4550 printer infinite loop raster height range test.


21-10.BIN page 24, 25 and
21-12.BIN page 17 :
	  
	  Raster height > raster sent and the palette
0 entry is not white.  We zero fill with white, HP with Black or 
the palette color at entry 0.  


21-12.BIN page 19 :

	   HP incorrectly renders the first image stretching it 
in the X dimension.


21-13.BIN page 2 :

	   HP incorrectly renders 4 of the rasters on the page 
Black triangles appear in a regular pattern across the raster  
