RFR: 8315113: Print request Chromaticity.MONOCHROME attribute does not work on macOS [v4]
Phil Race
prr at openjdk.org
Wed Dec 4 19:21:44 UTC 2024
On Thu, 28 Nov 2024 07:28:25 GMT, GennadiyKrivoshein <duke at openjdk.org> wrote:
>> 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 with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>
> - Merge remote-tracking branch 'openjdk/master' into monochrome-printing
>
> # Conflicts:
> # src/java.desktop/share/classes/sun/print/RasterPrinterJob.java
> - Merge remote-tracking branch 'openjdk/master' into monochrome-printing
> - move grayscale methods to PSPathGraphics
> - Update src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java
>
> Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
> - update copyright
> - formatting
> - grammar fixes
> - 8315113: Print request Chromaticity.MONOCHROME attribute does not work on macOS
@prsadhuk please look at this
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21930#issuecomment-2518357989
More information about the client-libs-dev
mailing list