RFR: JDK-8328750: [TestBug] Improve Stub Font Support [v2]

Andy Goryachev angorya at openjdk.org
Tue Mar 26 20:55:27 UTC 2024


On Tue, 26 Mar 2024 20:47:37 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

>> In https://github.com/openjdk/jfx/pull/1405, I identified some shortcomings of the stub font implementation. As I don't want to clutter the PR with that, I decided to cherrypick the improvements I did to a new ticket and PR.
>> 
>> The current implementation has the following shortcomings:
>> - It does not reliable detect the System Font, as a consequence, tests in TableColumnHeaderTest.java are failing on my local machine
>> - Another consequence of this is, that the font size is always estimated with 0, as it is not detected
>> - One shortcoming currently is, that the stub font siie estimate is not considering bold fonts. That would improve writing tests for some scenarios, e.g. for TableColumnHeader, where we would expect that the size of the header is bigger since it is bold
>> 
>> Some tests were failing for the following reasons:
>> - `AreaChartTest.java` - `expected -30.0, was -30.00000000004` - I added rounding to the data.
>> - `StackedBarChartTest.java` - since we now calculate correctly, the path changed
>> - A test tried to load `Helvetica`, which is not supported in the stub font loader. I changed it
>> - The default System font is considered a `Regular` one (style) - just like in JavaFX
>> 
>> I wrote tests and documented the stub behaviour.
>> I did some minor changes here:
>> - System font is now detected, also in bold and italic
>> - A bold font will be calculated with a little bit more width (1px). Checkout the test as well for that
>> 
>> Note: This only changes test setup, no 'production' code.
>
> Marius Hanl has updated the pull request incrementally with one additional commit since the last revision:
> 
>   improve (stub) font tests, fallback and documentation

modules/javafx.graphics/src/test/java/test/com/sun/javafx/pgstub/StubTextLayout.java line 40:

> 38:  * <br>
> 39:  * Can calculate the bounds of text by simply using the size of the font.
> 40:  * If the text is bold, the font will be 1 pixel bigger.

maybe change to "somewhat wider" instead, since the height is the same?

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1422#discussion_r1540098655


More information about the openjfx-dev mailing list