weisJ opened a new pull request #618:
URL: https://github.com/apache/jmeter/pull/618


   ## Description
   Makes sure the used fonts are fallback enabled.
   
   ## Motivation and Context
   As reported in 
https://github.com/apache/jmeter/pull/499#issuecomment-689346454 Darklaf has 
issues with displaying certain character sets. This has been fixed in in 
darklaf version `2.4.7`. 
   
   The issue stems from the fact that darklaf uses the native system font 
instead of the default `Dialog` font. Unlike the logical fonts physical fonts 
don't fallback to another font if certain characters are unsupported.
   Because constructs like `new Font(...)` and `Font#derive(getAttributes())` 
either don't produce a fallback enabled font or don't preserve the underlying 
`Font2D` instance (which is responsible for fallback handling if of type 
`CompositeFont`) those had to be replaced to ensure all characters are 
displayed correctly.
   -  `Font#derive(getAttributes())` was used to produce a non `UIResource` 
font and has been replaced by subclassing `Font` through `NonUIResourceFont` 
which exposes a constructor that takes a `Font` instance and preserves the 
`Font2D` handle.
   - `new Font(...)` was replaced by `StyleContext#getFont(String,int,int)` 
which creates a `CompositeFont` if necessary. (The result is wrapped using 
`NonUIResourceFont` because the result may be of type `FontUIResource`).
   
   I'm not quite sure whether `JMeterUIDefaults` is the correct/best class to 
place the `Font` factory method though.
   
   ## How Has This Been Tested?
   
   ## Screenshots (if appropriate):
   
   ## Types of changes
   - Bug fix (non-breaking change which fixes an issue)
   
   ## Checklist:
   <!--- Go over all the following points, and put an `x` in all the boxes that 
apply. -->
   <!--- If you're unsure about any of these, don't hesitate to ask. We're here 
to help! -->
   - [x] My code follows the [code style][style-guide] of this project.
   - [ ] I have updated the documentation accordingly.
   
   [style-guide]: https://wiki.apache.org/jmeter/CodeStyleGuidelines
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to