JDK-8089573 : [macosx] Incorrect char to glyph mapping printing on OSX 10.10
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 8,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-06-04
  • Updated: 2017-11-29
  • Resolved: 2016-10-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u152Fixed 9 b143Fixed
Related Reports
Duplicate :  
Relates :  
Description
Component: SceneGraphTests manual
Build: javafx9b66
PlatForm: Mac OS 10.10

Steps(the test case is test/manual/printing/Unattached.java):
1.Press "Print dialog" button.
2.Select one of the available printers.
3.Press "Unattached" button. This will detach a node from scene(make it invisible).
4.Click print.
5.Repeat all previous steps but with "Unattached" button unpressed.
7.Verify printed page is the same with "Unattached" pressed/unpressed.

The actual result: The printed page seems abnormal with "Unattached" button pressed on mac10.10,please refer to attachment
We tried this on Mac 10.9,everything is ok.
Comments
I have recategorised this as a 2D issue. Although only FX is affected the solution is entirely on the JDK side. FX looks up some UI "system" fonts via special API calls and these are fonts that are not otherwise enumerated by CoreText. FX expects JDK to be able to access these fonts but it cannot. We need to make the same API calls on JDK. The exact fonts returned vary by MacOS release so it seems hard to create a JDK regression test but on the FX side it is seen instantly if you print a UI control as the text is messed up due to incorrect glyph ids.
12-10-2016

Phil, it might be deferred as non-reg-9 , nevertheless you can fix it in 9, in such case just re-target right before your fix push
09-09-2016

There is the same issue happened on Mac10.12-Beta-x64-jdk8u102b14-64bit. RULE "test/manual/printing/Button.java" any any RULE "test/manual/printing/Checkbox.java" any any RULE "test/manual/printing/GroupOfNodes.java" any any RULE "test/manual/printing/HTMLEditor.java" any any RULE "test/manual/printing/Hyperlink.java" any any RULE "test/manual/printing/Label.java" any any RULE "test/manual/printing/MenuButton.java" any any RULE "test/manual/printing/MultiLineText.java" any any RULE "test/manual/printing/Pagination.java" any any RULE "test/manual/printing/PasswordField.java" any any RULE "test/manual/printing/ProgressIndicator.java" any any RULE "test/manual/printing/NativePrintDialog.java" any any RULE "test/manual/printing/Text.java" any any RULE "test/manual/printing/TextArea.java" any any RULE "test/manual/printing/TextField.java" any any RULE "test/manual/printing/Threads.java" any any RULE "test/manual/printing/TitledPane.java" any any RULE "test/manual/printing/ToggleButtons.java" any any RULE "test/manual/printing/ToolBar.java" any any RULE "test/manual/printing/Unattached.java" any any
26-08-2016

There is the same issue happened on Mac10.11 x64 with jdk8u112b09-64bit. The actual result: The printed page seems abnormal on mac10.11. Please refer to GroupOfNodes.png, HTMLEditor.png, MultiLineText.png, Pagination.png, ProgressIndicator.png Affect cases: RULE "test/manual/printing/Button.java" any any RULE "test/manual/printing/Checkbox.java" any any RULE "test/manual/printing/GroupOfNodes.java" any any RULE "test/manual/printing/HTMLEditor.java" any any RULE "test/manual/printing/Hyperlink.java" any any RULE "test/manual/printing/Label.java" any any RULE "test/manual/printing/MenuButton.java" any any RULE "test/manual/printing/MultiLineText.java" any any RULE "test/manual/printing/NativePrintDialog.java" any any RULE "test/manual/printing/Pagination.java" any any RULE "test/manual/printing/PasswordField.java" any any RULE "test/manual/printing/ProgressIndicator.java" any any RULE "test/manual/printing/Text.java" any any RULE "test/manual/printing/TextArea.java" any any RULE "test/manual/printing/TextField.java" any any RULE "test/manual/printing/Threads.java" any any RULE "test/manual/printing/TitledPane.java" any any RULE "test/manual/printing/ToggleButtons.java" any any RULE "test/manual/printing/ToolBar.java" any any RULE "test/manual/printing/Unattached.java" any any
24-08-2016

https://bugs.openjdk.java.net/browse/JDK-8088305 reports the same but adds Windows 7. I have not yet seen proof of that (win 7).
18-07-2016

I can reproduce this on 10.10. The Helvetica Neue Desktop "system" font is being found and used by FX but is not being found by Java 2D, so it cannot make use of the glyph ids and even if it could it still needs the font.
18-07-2016

The issue still exist on Mac10.11 with JDK9b126-64bit. The printed page seems abnormal with "Unattached" button pressed.Please refer to printed-diff.jpg
13-07-2016

need more info
05-07-2016

The synopsis "The printed page seems abnormal with "Unattached" button pressed on Mac10.10" tells you absolutely nothing useful about what is being seen. The 'unattached" button is some detail of the UI of the test. We need better synopses from submitters. I've provided a better one. However this sounds like a duplicate of https://bugs.openjdk.java.net/browse/JDK-8094840 which was resolved with a 2D JDK9 fix :- https://bugs.openjdk.java.net/browse/JDK-8064833 Please report 1) Is this bug still reproducible with JDK 9 and if it is then 2) Provide the test. If the test location were referenced to begin with I might not have needed to ask for (1).
05-07-2016

There is the same issue happened on Mac10.11-x64 with jdk8u101b04-64bit. RULE "test/manual/printing/Threads.java" any any RULE "test/manual/printing/Unattached.java" any any
22-04-2016

There is the same issue happened on Mac10.11-x64 with jdk9b113-64bit. RULE "test/manual/printing/Threads" any any RULE "test/manual/printing/Unattached" any any
13-04-2016

There is the same issue happened on Mac10.11 x64 with jdk8u76b07-64bit.
14-02-2016

The printed page seems abnormal with "Unattached" button pressed on Mac10.11 with JDK8u72b15-64bit,Please refer to printed.jpg Affected Tests: RULE test/manual/printing/Threads.java any any RULE test/manual/printing/Unattached.java any any
23-12-2015

8u40 is also affected, as of b27 at least.
28-07-2015

Tony Li, does it affect 8u40?
27-07-2015

Reproduced with MacOS 10.10 and JDK9 b66.
05-06-2015

Keywords: unco...
05-06-2015

RULE test/manual/printing/Threads.java any any RULE test/manual/printing/Unattached.java any any
04-06-2015