RFR: 6562639: Wrong pixel bounds from TextLayout with white font

Daniel Gredler dgredler at openjdk.org
Fri Dec 26 12:06:52 UTC 2025


On Sat, 13 Dec 2025 00:33:30 GMT, Daniel Gredler <dgredler at openjdk.org> wrote:

> One of the possible code paths for `TextLayout.getPixelBounds(...)` actually draws the text on a `Graphics2D` and checks the image pixels afterwards. The text is drawn over a white background, so if the user sets the font's foreground color to white then the text pixels cannot be detected (white on white).
> 
> This PR fixes the issue by removing the code that sets the background to white, leaving the background as the default ARGB color (0 = transparent black). This does not cause a new problem for users who might set their font foreground color to transparent black, because transparent font foreground colors always return an empty bounds anyway (by virtue of being transparent).
> 
> The updated code should also be slightly faster since it's doing less work, though I haven't run any performance tests.

Does anyone have time to provide a second review on this PR before the end of the year? Phil has already verified that all tests pass. Thanks!

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28809#issuecomment-3692772807


More information about the client-libs-dev mailing list