RFR: 8315113: Print request Chromaticity.MONOCHROME attribute does not work on macOS [v2]
GennadiyKrivoshein
duke at openjdk.org
Thu Nov 14 07:25:05 UTC 2024
> This update allows users to print with grayscale using color printers.
> Actually, it is not possible to use the "Monochrome" option from the "Color Appearance" panel. Also Chromaticity.MONOCHROME can't be used to print grayscale on color printers ([JDK-8315113](https://bugs.openjdk.org/browse/JDK-8315113)).
>
> **Fix description**
> When a printer supports color printing and a user adds Chromaticity.MONOCHROME attribute to a PrintRequestAttributeSet, then the final printing raster is transformed to the grayscale color using java.awt.image.ColorConvertOp. When the job is a PostScript job, then the "setColor" and "setPaint" methods of the Graphics are overridden, and user colors (paints) are transformed to the grayscale form using the new proxy class GrayscaleProxyGraphics2D.
>
> This approach is assumed to be platform, CUPS, and IPP protocol independent.
>
> **Tests**
> The fix was tested on Ubuntu 22.04 and MacOS 12.6.1.
GennadiyKrivoshein has updated the pull request incrementally with one additional commit since the last revision:
move grayscale methods to PSPathGraphics
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/21930/files
- new: https://git.openjdk.org/jdk/pull/21930/files/924d1abb..1ef13568
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=21930&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=21930&range=00-01
Stats: 260 lines in 3 files changed: 92 ins; 167 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/21930.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/21930/head:pull/21930
PR: https://git.openjdk.org/jdk/pull/21930
More information about the client-libs-dev
mailing list