On Tue, 13 Jan 2026 20:51:35 GMT, Phil Race <[email protected]> wrote:
> Previous to this fix, no resolution was being found via CUPS/IPP and when the
> test case for printer resolution was falling back to the made up 300dpi
> setting. With this fix it finds the 600dpi from CUPS/IPP.
src/java.desktop/unix/classes/sun/print/IPPPrintService.java line 1699:
> 1697: : null;
> 1698: if (attribClass != null) {
> 1699: rawResolutions = attribClass.getIntRangeValue();
Regarding to the RFC8011, section 5.1.16
(https://datatracker.ietf.org/doc/html/rfc8011#section-5.1.16), the IPP
'resoltion' attribute consists of three values.
>The 'resolution' attribute syntax specifies a two-dimensional resolution in
>the indicated units. It consists of three values: a cross-feed direction
>resolution (positive integer value), a feed direction resolution (positive
>integer value), and a units value. For example, '300','600','3' indicates a
>300-dpi cross-feed direction resolution and a 600-dpi feed direction
>resolution, since a '3' indicates dots per inch (dpi).
So the `rawResolutions = attribClass.getIntRangeValue();` and subsequent `int
numRes = rawResolutions.length / 2;` looks wrong. I checked the "attribClass"
value with my printer and it contains three values per resolution.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29208#discussion_r2690423658