<AWT Dev> RFR: 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled [v2]
Toshio Nakamura
tnakamura at openjdk.java.net
Thu Jun 17 09:29:07 UTC 2021
> Hi,
>
> Could you review the fix?
> When non-English characters were printed from JTable on MacOS, CTextPipe.doDrawGlyphs was called by OSXSurfaceData.drawGlyphs. However, CTextPipe seems not support glyph with slot number of composite fonts.
>
> The slot data mask of GlyphVector is 0xff000000. In my environment, Japanese font was loaded at slot 4, and glyph data is like [0x40003e5]. Then, unexpected glyph was drawn.
>
> This patch checks slot data of each character. If slot data exists, it will branch to GlyphVector's drawing path.
>
> Well, I couldn't create automatic test for this fix. This method seems to be called for printing only. I appreciate any advice.
> Tested java/awt and javax/swing on MacOS BigSur, and there was no regression.
>
> Regards,
> Toshio Nakamura
Toshio Nakamura has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
- 2nd proposal
- Revert previous change
- Merge branch 'master' into 8240756
merge master
- 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/3619/files
- new: https://git.openjdk.java.net/jdk/pull/3619/files/9d99458c..c2910791
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3619&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3619&range=00-01
Stats: 1152276 lines in 9449 files changed: 556262 ins; 566916 del; 29098 mod
Patch: https://git.openjdk.java.net/jdk/pull/3619.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3619/head:pull/3619
PR: https://git.openjdk.java.net/jdk/pull/3619
More information about the awt-dev
mailing list