RFR: 8273581: Change the mechanism by which JDK loads the platform-specific FontManager class [v3]

Alexander Scherbatiy alexsch at openjdk.java.net
Thu Sep 16 13:45:54 UTC 2021


On Thu, 16 Sep 2021 13:38:37 GMT, Alexander Scherbatiy <alexsch at openjdk.org> wrote:

>> FontManagerFactory class uses reflection to load platform specific FontManager classes from "sun.font.fontmanager" property.
>> 
>> Fix proposes creating FontManager platform specific classes directly in the similar way as it has been already done for GraphicsEnvironment and AWT Toolkit ([JDK-8130266](https://bugs.openjdk.java.net/browse/JDK-8130266) and [JDK-8212700](https://bugs.openjdk.java.net/browse/JDK-8212700)).
>> 
>> FontManager is internal jdk class. It is placed in `sun.font` package and java modularization encapsulates  FontManager from subclassing and using by a user.
>> 
>> The fix reuses PlatformGraphicsInfo to create FontManager platform specific classes. May be FontManager creation code needs to be placed in its own info classes.
>
> Alexander Scherbatiy has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move createFontManager() code to sun.font.PlatformFontInfo class

FontManagerFactory is placed in sun.font package and PlatformGraphicsInfo is in sun.awt.

The updated code moves createFontManager()  method from PlatformGraphicsInfo to new added sun.font.PlatformFontInfo class.
The PlatformFontInfo class and its method have default access modifier. The comment is added to the createFontManager() method.

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

PR: https://git.openjdk.java.net/jdk/pull/5517



More information about the client-libs-dev mailing list