Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8273896

Change the mechanism by which JDK loads the platform-specific FontManager class

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P4 P4
    • 18
    • client-libs
    • None
    • 2d
    • behavioral
    • low
    • Hide
      This change just eliminates the internal system property.

      The only risk is code that expects the property to be defined and tries to use its value getting an NPE, however application code has no reason to inspect this value.
      Show
      This change just eliminates the internal system property. The only risk is code that expects the property to be defined and tries to use its value getting an NPE, however application code has no reason to inspect this value.
    • System or security property
    • Implementation

      Summary

      Remove the sun.font.fontmanager system property, which is used to name the platform-specific internal subclass of sun.font.FontManager

      Problem

      The sun.font.fontmanager system property is used to specify the name of the implementation class for the FontManager which is created by reflection. The platform over-ride value was hard-coded into the platform-specific code to initialize the system properties.

      This implies that FontManager creation is pluggable which it is not. sun.font.FontManager is an internal class and since jdk 9 it is not possible to provide FontManager subclass outside java.desktop module due to the module system encapsulation.

      Solution

      Remove the sun.font.fontmanager system property which is used to specify the name of the platform implementation class.

      It is replaced by a mechanism entirely internal to the java.desktop module which does not require setting a system property.

      Specification

      Remove the sun.font.fontmanager system property

            alexsch Alexandr Scherbatiy
            alexsch Alexandr Scherbatiy
            Philip Race
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: