public abstract class sun.font.SunFontManager implements sun.java2d.FontSupport, sun.font.FontManagerForSGE
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.font.SunFontManager
  super_class: java.lang.Object
{
  private static sun.font.Font2DHandle FONT_HANDLE_NULL;
    descriptor: Lsun/font/Font2DHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final int FONTFORMAT_NONE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final int FONTFORMAT_TRUETYPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int FONTFORMAT_TYPE1;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int FONTFORMAT_TTC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int FONTFORMAT_COMPOSITE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int FONTFORMAT_NATIVE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  protected static final int CHANNELPOOLSIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  protected sun.font.FileFont[] fontFileCache;
    descriptor: [Lsun/font/FileFont;
    flags: (0x0004) ACC_PROTECTED

  private int lastPoolIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int maxCompFont;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private sun.font.CompositeFont[] compFonts;
    descriptor: [Lsun/font/CompositeFont;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.CompositeFont> compositeFonts;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/CompositeFont;>;

  private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.PhysicalFont> physicalFonts;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/PhysicalFont;>;

  private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.PhysicalFont> registeredFonts;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/PhysicalFont;>;

  protected java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D> fullNameToFont;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;

  private java.util.HashMap<java.lang.String, sun.font.TrueTypeFont> localeFullNamesToFont;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/font/TrueTypeFont;>;

  private sun.font.PhysicalFont defaultPhysicalFont;
    descriptor: Lsun/font/PhysicalFont;
    flags: (0x0002) ACC_PRIVATE

  static boolean longAddresses;
    descriptor: Z
    flags: (0x0008) ACC_STATIC

  private boolean loaded1dot0Fonts;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  boolean loadedAllFonts;
    descriptor: Z
    flags: (0x0000) 

  boolean loadedAllFontFiles;
    descriptor: Z
    flags: (0x0000) 

  java.lang.String[] jreOtherFontFiles;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  boolean noOtherJREFontFiles;
    descriptor: Z
    flags: (0x0000) 

  public static java.lang.String jreLibDirName;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String jreFontDirName;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private static java.util.HashSet<java.lang.String> missingFontFiles;
    descriptor: Ljava/util/HashSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  private java.lang.String defaultFontName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String defaultFontFileName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  protected java.util.HashSet<java.lang.String> registeredFontFiles;
    descriptor: Ljava/util/HashSet;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  private java.util.ArrayList<java.lang.String> badFonts;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  protected java.lang.String fontPath;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  private sun.awt.FontConfiguration fontConfig;
    descriptor: Lsun/awt/FontConfiguration;
    flags: (0x0002) ACC_PRIVATE

  private boolean discoveredAllFonts;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final java.io.FilenameFilter ttFilter;
    descriptor: Ljava/io/FilenameFilter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.FilenameFilter t1Filter;
    descriptor: Ljava/io/FilenameFilter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.awt.Font[] allFonts;
    descriptor: [Ljava/awt/Font;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] allFamilies;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Locale lastDefaultLocale;
    descriptor: Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE

  public static boolean noType1Font;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private static java.lang.String[] STR_ARRAY;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private boolean usePlatformFontMetrics;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static int maxSoftRefCnt;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.SunFontManager$FontRegistrationInfo> deferredFontFiles;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/SunFontManager$FontRegistrationInfo;>;

  private final java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2DHandle> initialisedFonts;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2DHandle;>;

  private java.util.HashMap<java.lang.String, java.lang.String> fontToFileMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.HashMap<java.lang.String, java.lang.String> fontToFamilyNameMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.HashMap<java.lang.String, java.util.ArrayList<java.lang.String>> familyToFontListMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;

  private java.lang.String[] pathDirs;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean haveCheckedUnreferencedFontFiles;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static java.util.HashMap<java.lang.String, sun.font.SunFontManager$FamilyDescription> platformFontMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/font/SunFontManager$FamilyDescription;>;

  private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D> fontNameCache;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;

  java.lang.Thread fileCloser;
    descriptor: Ljava/lang/Thread;
    flags: (0x0000) 

  java.util.Vector<java.io.File> tmpFontFiles;
    descriptor: Ljava/util/Vector;
    flags: (0x0000) 
    Signature: Ljava/util/Vector<Ljava/io/File;>;

  private int createdFontCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean _usingAlternateComposites;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static boolean gAltJAFont;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private boolean gLocalePref;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean gPropPref;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static java.util.HashSet<java.lang.String> installedNames;
    descriptor: Ljava/util/HashSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  private static final java.lang.Object regFamilyLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.Hashtable<java.lang.String, sun.font.FontFamily> createdByFamilyName;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;

  private java.util.Hashtable<java.lang.String, sun.font.Font2D> createdByFullName;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;

  private boolean fontsAreRegistered;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static java.util.Locale systemLocale;
    descriptor: Ljava/util/Locale;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 132
            new sun.font.Font2DHandle
            dup
            aconst_null
            invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
            putstatic sun.font.SunFontManager.FONT_HANDLE_NULL:Lsun/font/Font2DHandle;
         1: .line 197
            aconst_null
            putstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
         2: .line 222
            new sun.font.SunFontManager$TTFilter
            dup
            invokespecial sun.font.SunFontManager$TTFilter.<init>:()V
            putstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
         3: .line 223
            new sun.font.SunFontManager$T1Filter
            dup
            invokespecial sun.font.SunFontManager$T1Filter.<init>:()V
            putstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
         4: .line 232
            iconst_0
            anewarray java.lang.String
            putstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
         5: .line 266
            bipush 10
            putstatic sun.font.SunFontManager.maxSoftRefCnt:I
         6: .line 271
            new sun.font.SunFontManager$1
            dup
            invokespecial sun.font.SunFontManager$1.<init>:()V
         7: .line 270
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         8: .line 2696
            iconst_0
            putstatic sun.font.SunFontManager.gAltJAFont:Z
         9: .line 2770
            aconst_null
            putstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
        10: .line 2790
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic sun.font.SunFontManager.regFamilyLock:Ljava/lang/Object;
        11: .line 3583
            aconst_null
            putstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.font.SunFontManager getInstance();
    descriptor: ()Lsun/font/SunFontManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 249
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 0 /* fm */
        start local 0 // sun.font.FontManager fm
         1: .line 250
            aload 0 /* fm */
            checkcast sun.font.SunFontManager
            areturn
        end local 0 // sun.font.FontManager fm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0    fm  Lsun/font/FontManager;

  public java.io.FilenameFilter getTrueTypeFilter();
    descriptor: ()Ljava/io/FilenameFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 254
            getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public java.io.FilenameFilter getType1Filter();
    descriptor: ()Ljava/io/FilenameFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 258
            getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public static final java.lang.String getJDKFontDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 305
            getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.font.TrueTypeFont getEUDCFont();
    descriptor: ()Lsun/font/TrueTypeFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 310
            aconst_null
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 317
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            bipush 20
            anewarray sun.font.FileFont
            putfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
         2: .line 152
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.lastPoolIndex:I
         3: .line 163
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.maxCompFont:I
         4: .line 164
            aload 0 /* this */
            bipush 20
            anewarray sun.font.CompositeFont
            putfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
         5: .line 166
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.compositeFonts:Ljava/util/concurrent/ConcurrentHashMap;
         6: .line 168
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
         7: .line 170
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
         8: .line 178
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
         9: .line 189
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.loaded1dot0Fonts:Z
        10: .line 190
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.loadedAllFonts:Z
        11: .line 191
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.loadedAllFontFiles:Z
        12: .line 193
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.noOtherJREFontFiles:Z
        13: .line 200
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
        14: .line 217
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.discoveredAllFonts:Z
        15: .line 238
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.usePlatformFontMetrics:Z
        16: .line 825
            aload 0 /* this */
        17: .line 826
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
        18: .line 828
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
        19: .line 1149
            aload 0 /* this */
            aconst_null
            putfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
        20: .line 1155
            aload 0 /* this */
            aconst_null
            putfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
        21: .line 1162
            aload 0 /* this */
            aconst_null
            putfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
        22: .line 1165
            aload 0 /* this */
            aconst_null
            putfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
        23: .line 1932
            aload 0 /* this */
        24: .line 1933
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
        25: .line 2294
            aload 0 /* this */
            aconst_null
            putfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
        26: .line 2295
            aload 0 /* this */
            aconst_null
            putfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
        27: .line 2297
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.createdFontCount:I
        28: .line 2694
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager._usingAlternateComposites:Z
        29: .line 2697
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.gLocalePref:Z
        30: .line 2698
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.gPropPref:Z
        31: .line 2793
            aload 0 /* this */
            iconst_0
            putfield sun.font.SunFontManager.fontsAreRegistered:Z
        32: .line 320
            new sun.font.SunFontManager$2
            dup
            aload 0 /* this */
            invokespecial sun.font.SunFontManager$2.<init>:(Lsun/font/SunFontManager;)V
        33: .line 319
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        34: .line 494
            new sun.font.SunFontManager$3
            dup
            aload 0 /* this */
            invokespecial sun.font.SunFontManager$3.<init>:(Lsun/font/SunFontManager;)V
        35: .line 493
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 1 /* platformFont */
        start local 1 // boolean platformFont
        36: .line 503
            iload 1 /* platformFont */
            ifeq 42
        37: .line 504
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.usePlatformFontMetrics:Z
        38: .line 505
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Enabling platform font metrics for win32. This is an unsupported option."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 506
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "This yields incorrect composite font metrics as reported by 1.1.x releases."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 507
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "It is appropriate only for use by applications which do not use any Java 2"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        41: .line 508
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "functionality. This property will be removed in a later release."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 510
      StackMap locals: sun.font.SunFontManager int
      StackMap stack:
            return
        end local 1 // boolean platformFont
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   43     0          this  Lsun/font/SunFontManager;
           36   43     1  platformFont  Z

  public sun.font.Font2DHandle getNewComposite(java.lang.String, int, sun.font.Font2DHandle);
    descriptor: (Ljava/lang/String;ILsun/font/Font2DHandle;)Lsun/font/Font2DHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String family
        start local 2 // int style
        start local 3 // sun.font.Font2DHandle handle
         0: .line 515
            aload 3 /* handle */
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            instanceof sun.font.CompositeFont
            ifne 2
         1: .line 516
            aload 3 /* handle */
            areturn
         2: .line 519
      StackMap locals:
      StackMap stack:
            aload 3 /* handle */
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            checkcast sun.font.CompositeFont
            astore 4 /* oldComp */
        start local 4 // sun.font.CompositeFont oldComp
         3: .line 520
            aload 4 /* oldComp */
            iconst_0
            invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
            astore 5 /* oldFont */
        start local 5 // sun.font.PhysicalFont oldFont
         4: .line 522
            aload 1 /* family */
            ifnonnull 6
         5: .line 523
            aload 5 /* oldFont */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            astore 1 /* family */
         6: .line 525
      StackMap locals: sun.font.CompositeFont sun.font.PhysicalFont
      StackMap stack:
            iload 2 /* style */
            iconst_m1
            if_icmpne 8
         7: .line 526
            aload 4 /* oldComp */
            invokevirtual sun.font.CompositeFont.getStyle:()I
            istore 2 /* style */
         8: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* family */
            iload 2 /* style */
            iconst_0
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 6 /* newFont */
        start local 6 // sun.font.Font2D newFont
         9: .line 530
            aload 6 /* newFont */
            instanceof sun.font.PhysicalFont
            ifne 11
        10: .line 531
            aload 5 /* oldFont */
            astore 6 /* newFont */
        11: .line 533
      StackMap locals: sun.font.Font2D
      StackMap stack:
            aload 6 /* newFont */
            checkcast sun.font.PhysicalFont
            astore 7 /* physicalFont */
        start local 7 // sun.font.PhysicalFont physicalFont
        12: .line 535
            aload 0 /* this */
            ldc "dialog"
            iload 2 /* style */
            iconst_0
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            checkcast sun.font.CompositeFont
        13: .line 534
            astore 8 /* dialog2D */
        start local 8 // sun.font.CompositeFont dialog2D
        14: .line 536
            aload 8 /* dialog2D */
            ifnonnull 16
        15: .line 537
            aload 3 /* handle */
            areturn
        16: .line 539
      StackMap locals: sun.font.PhysicalFont sun.font.CompositeFont
      StackMap stack:
            new sun.font.CompositeFont
            dup
            aload 7 /* physicalFont */
            aload 8 /* dialog2D */
            invokespecial sun.font.CompositeFont.<init>:(Lsun/font/PhysicalFont;Lsun/font/CompositeFont;)V
            astore 9 /* compFont */
        start local 9 // sun.font.CompositeFont compFont
        17: .line 540
            new sun.font.Font2DHandle
            dup
            aload 9 /* compFont */
            invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
            astore 10 /* newHandle */
        start local 10 // sun.font.Font2DHandle newHandle
        18: .line 541
            aload 10 /* newHandle */
            areturn
        end local 10 // sun.font.Font2DHandle newHandle
        end local 9 // sun.font.CompositeFont compFont
        end local 8 // sun.font.CompositeFont dialog2D
        end local 7 // sun.font.PhysicalFont physicalFont
        end local 6 // sun.font.Font2D newFont
        end local 5 // sun.font.PhysicalFont oldFont
        end local 4 // sun.font.CompositeFont oldComp
        end local 3 // sun.font.Font2DHandle handle
        end local 2 // int style
        end local 1 // java.lang.String family
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lsun/font/SunFontManager;
            0   19     1        family  Ljava/lang/String;
            0   19     2         style  I
            0   19     3        handle  Lsun/font/Font2DHandle;
            3   19     4       oldComp  Lsun/font/CompositeFont;
            4   19     5       oldFont  Lsun/font/PhysicalFont;
            9   19     6       newFont  Lsun/font/Font2D;
           12   19     7  physicalFont  Lsun/font/PhysicalFont;
           14   19     8      dialog2D  Lsun/font/CompositeFont;
           17   19     9      compFont  Lsun/font/CompositeFont;
           18   19    10     newHandle  Lsun/font/Font2DHandle;
    MethodParameters:
        Name  Flags
      family  
      style   
      handle  

  protected void registerCompositeFont(java.lang.String, java.lang.String[], java.lang.String[], int, int[], int[], boolean);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=8
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String compositeName
        start local 2 // java.lang.String[] componentFileNames
        start local 3 // java.lang.String[] componentNames
        start local 4 // int numMetricsSlots
        start local 5 // int[] exclusionRanges
        start local 6 // int[] exclusionMaxIndex
        start local 7 // boolean defer
         0: .line 552
            new sun.font.CompositeFont
            dup
            aload 1 /* compositeName */
         1: .line 553
            aload 2 /* componentFileNames */
         2: .line 554
            aload 3 /* componentNames */
         3: .line 555
            iload 4 /* numMetricsSlots */
         4: .line 556
            aload 5 /* exclusionRanges */
         5: .line 557
            aload 6 /* exclusionMaxIndex */
            iload 7 /* defer */
            aload 0 /* this */
         6: .line 552
            invokespecial sun.font.CompositeFont.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLsun/font/SunFontManager;)V
            astore 8 /* cf */
        start local 8 // sun.font.CompositeFont cf
         7: .line 558
            aload 0 /* this */
            aload 8 /* cf */
            iconst_2
            invokevirtual sun.font.SunFontManager.addCompositeToFontList:(Lsun/font/CompositeFont;I)V
         8: .line 559
            aload 0 /* this */
            getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
            dup
            astore 9
            monitorenter
         9: .line 560
            aload 0 /* this */
            getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
            aload 0 /* this */
            dup
            getfield sun.font.SunFontManager.maxCompFont:I
            dup_x1
            iconst_1
            iadd
            putfield sun.font.SunFontManager.maxCompFont:I
            aload 8 /* cf */
            aastore
        10: .line 559
            aload 9
            monitorexit
        11: goto 14
      StackMap locals: sun.font.SunFontManager java.lang.String java.lang.String[] java.lang.String[] int int[] int[] int sun.font.CompositeFont sun.font.CompositeFont[]
      StackMap stack: java.lang.Throwable
        12: aload 9
            monitorexit
        13: athrow
        14: .line 562
      StackMap locals:
      StackMap stack:
            return
        end local 8 // sun.font.CompositeFont cf
        end local 7 // boolean defer
        end local 6 // int[] exclusionMaxIndex
        end local 5 // int[] exclusionRanges
        end local 4 // int numMetricsSlots
        end local 3 // java.lang.String[] componentNames
        end local 2 // java.lang.String[] componentFileNames
        end local 1 // java.lang.String compositeName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Lsun/font/SunFontManager;
            0   15     1       compositeName  Ljava/lang/String;
            0   15     2  componentFileNames  [Ljava/lang/String;
            0   15     3      componentNames  [Ljava/lang/String;
            0   15     4     numMetricsSlots  I
            0   15     5     exclusionRanges  [I
            0   15     6   exclusionMaxIndex  [I
            0   15     7               defer  Z
            7   15     8                  cf  Lsun/font/CompositeFont;
      Exception table:
        from    to  target  type
           9    11      12  any
          12    13      12  any
    MethodParameters:
                    Name  Flags
      compositeName       
      componentFileNames  
      componentNames      
      numMetricsSlots     
      exclusionRanges     
      exclusionMaxIndex   
      defer               

  protected static void registerCompositeFont(java.lang.String, java.lang.String[], java.lang.String[], int, int[], int[], boolean, java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D>);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=10, locals=10, args_size=8
        start local 0 // java.lang.String compositeName
        start local 1 // java.lang.String[] componentFileNames
        start local 2 // java.lang.String[] componentNames
        start local 3 // int numMetricsSlots
        start local 4 // int[] exclusionRanges
        start local 5 // int[] exclusionMaxIndex
        start local 6 // boolean defer
        start local 7 // java.util.concurrent.ConcurrentHashMap altNameCache
         0: .line 578
            new sun.font.CompositeFont
            dup
            aload 0 /* compositeName */
         1: .line 579
            aload 1 /* componentFileNames */
         2: .line 580
            aload 2 /* componentNames */
         3: .line 581
            iload 3 /* numMetricsSlots */
         4: .line 582
            aload 4 /* exclusionRanges */
         5: .line 583
            aload 5 /* exclusionMaxIndex */
            iload 6 /* defer */
         6: .line 584
            invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
         7: .line 578
            invokespecial sun.font.CompositeFont.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLsun/font/SunFontManager;)V
            astore 8 /* cf */
        start local 8 // sun.font.CompositeFont cf
         8: .line 599
            aload 7 /* altNameCache */
            aload 0 /* compositeName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 9 /* oldFont */
        start local 9 // sun.font.Font2D oldFont
         9: .line 600
            aload 9 /* oldFont */
            instanceof sun.font.CompositeFont
            ifeq 11
        10: .line 601
            aload 9 /* oldFont */
            getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
            aload 8 /* cf */
            putfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
        11: .line 603
      StackMap locals: sun.font.CompositeFont sun.font.Font2D
      StackMap stack:
            aload 7 /* altNameCache */
            aload 0 /* compositeName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 8 /* cf */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 604
            return
        end local 9 // sun.font.Font2D oldFont
        end local 8 // sun.font.CompositeFont cf
        end local 7 // java.util.concurrent.ConcurrentHashMap altNameCache
        end local 6 // boolean defer
        end local 5 // int[] exclusionMaxIndex
        end local 4 // int[] exclusionRanges
        end local 3 // int numMetricsSlots
        end local 2 // java.lang.String[] componentNames
        end local 1 // java.lang.String[] componentFileNames
        end local 0 // java.lang.String compositeName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0       compositeName  Ljava/lang/String;
            0   13     1  componentFileNames  [Ljava/lang/String;
            0   13     2      componentNames  [Ljava/lang/String;
            0   13     3     numMetricsSlots  I
            0   13     4     exclusionRanges  [I
            0   13     5   exclusionMaxIndex  [I
            0   13     6               defer  Z
            0   13     7        altNameCache  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
            8   13     8                  cf  Lsun/font/CompositeFont;
            9   13     9             oldFont  Lsun/font/Font2D;
    Signature: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;)V
    MethodParameters:
                    Name  Flags
      compositeName       
      componentFileNames  
      componentNames      
      numMetricsSlots     
      exclusionRanges     
      exclusionMaxIndex   
      defer               
      altNameCache        

  private void addCompositeToFontList(sun.font.CompositeFont, int);
    descriptor: (Lsun/font/CompositeFont;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.font.CompositeFont f
        start local 2 // int rank
         0: .line 608
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 4
         1: .line 609
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Add to Family "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* f */
            getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 610
            ldc ", Font "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* f */
            getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " rank="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* rank */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 609
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         4: .line 612
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            iload 2 /* rank */
            invokevirtual sun.font.CompositeFont.setRank:(I)V
         5: .line 613
            aload 0 /* this */
            getfield sun.font.SunFontManager.compositeFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* f */
            getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
            aload 1 /* f */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 614
            aload 0 /* this */
            getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* f */
            getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 1 /* f */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 616
            aload 1 /* f */
            getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 3 /* family */
        start local 3 // sun.font.FontFamily family
         8: .line 617
            aload 3 /* family */
            ifnonnull 10
         9: .line 618
            new sun.font.FontFamily
            dup
            aload 1 /* f */
            getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
            iconst_1
            iload 2 /* rank */
            invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;ZI)V
            astore 3 /* family */
        10: .line 620
      StackMap locals: sun.font.FontFamily
      StackMap stack:
            aload 3 /* family */
            aload 1 /* f */
            aload 1 /* f */
            getfield sun.font.CompositeFont.style:I
            invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
        11: .line 621
            return
        end local 3 // sun.font.FontFamily family
        end local 2 // int rank
        end local 1 // sun.font.CompositeFont f
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lsun/font/SunFontManager;
            0   12     1       f  Lsun/font/CompositeFont;
            0   12     2    rank  I
            8   12     3  family  Lsun/font/FontFamily;
    MethodParameters:
      Name  Flags
      f     
      rank  

  protected sun.font.PhysicalFont addToFontList(sun.font.PhysicalFont, int);
    descriptor: (Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.font.PhysicalFont f
        start local 2 // int rank
         0: .line 658
            aload 1 /* f */
            getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
            astore 3 /* fontName */
        start local 3 // java.lang.String fontName
         1: .line 659
            aload 1 /* f */
            getfield sun.font.PhysicalFont.familyName:Ljava/lang/String;
            astore 4 /* familyName */
        start local 4 // java.lang.String familyName
         2: .line 660
            aload 3 /* fontName */
            ifnull 3
            aload 3 /* fontName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
         3: .line 661
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
         4: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.compositeFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 665
            aconst_null
            areturn
         6: .line 667
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            iload 2 /* rank */
            invokevirtual sun.font.PhysicalFont.setRank:(I)V
         7: .line 668
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 21
         8: .line 669
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 12
         9: .line 670
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Add to Family "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* familyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 671
            ldc ", Font "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* fontName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " rank="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* rank */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 670
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        12: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            aload 1 /* f */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 674
            aload 4 /* familyName */
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 5 /* family */
        start local 5 // sun.font.FontFamily family
        14: .line 675
            aload 5 /* family */
            ifnonnull 18
        15: .line 676
            new sun.font.FontFamily
            dup
            aload 4 /* familyName */
            iconst_0
            iload 2 /* rank */
            invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;ZI)V
            astore 5 /* family */
        16: .line 677
            aload 5 /* family */
            aload 1 /* f */
            aload 1 /* f */
            getfield sun.font.PhysicalFont.style:I
            invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
        17: .line 678
            goto 19
        18: .line 679
      StackMap locals: sun.font.FontFamily
      StackMap stack:
            aload 5 /* family */
            aload 1 /* f */
            aload 1 /* f */
            getfield sun.font.PhysicalFont.style:I
            invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
        19: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 1 /* f */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 682
            aload 1 /* f */
            areturn
        end local 5 // sun.font.FontFamily family
        21: .line 684
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            astore 5 /* newFont */
        start local 5 // sun.font.PhysicalFont newFont
        22: .line 685
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.PhysicalFont
            astore 6 /* oldFont */
        start local 6 // sun.font.PhysicalFont oldFont
        23: .line 686
            aload 6 /* oldFont */
            ifnonnull 25
        24: .line 687
            aconst_null
            areturn
        25: .line 692
      StackMap locals: sun.font.PhysicalFont sun.font.PhysicalFont
      StackMap stack:
            aload 6 /* oldFont */
            invokevirtual sun.font.PhysicalFont.getRank:()I
            iload 2 /* rank */
            if_icmplt 64
        26: .line 712
            aload 6 /* oldFont */
            getfield sun.font.PhysicalFont.mapper:Lsun/font/CharToGlyphMapper;
            ifnull 28
            iload 2 /* rank */
            iconst_2
            if_icmple 28
        27: .line 713
            aload 6 /* oldFont */
            areturn
        28: .line 721
      StackMap locals:
      StackMap stack:
            aload 6 /* oldFont */
            invokevirtual sun.font.PhysicalFont.getRank:()I
            iload 2 /* rank */
            if_icmpne 36
        29: .line 722
            aload 6 /* oldFont */
            instanceof sun.font.TrueTypeFont
            ifeq 35
        30: .line 723
            aload 5 /* newFont */
            instanceof sun.font.TrueTypeFont
            ifeq 35
        31: .line 724
            aload 6 /* oldFont */
            checkcast sun.font.TrueTypeFont
            astore 7 /* oldTTFont */
        start local 7 // sun.font.TrueTypeFont oldTTFont
        32: .line 725
            aload 5 /* newFont */
            checkcast sun.font.TrueTypeFont
            astore 8 /* newTTFont */
        start local 8 // sun.font.TrueTypeFont newTTFont
        33: .line 726
            aload 7 /* oldTTFont */
            getfield sun.font.TrueTypeFont.fileSize:I
            aload 8 /* newTTFont */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmplt 36
        34: .line 727
            aload 6 /* oldFont */
            areturn
        end local 8 // sun.font.TrueTypeFont newTTFont
        end local 7 // sun.font.TrueTypeFont oldTTFont
        35: .line 730
      StackMap locals:
      StackMap stack:
            aload 6 /* oldFont */
            areturn
        36: .line 742
      StackMap locals:
      StackMap stack:
            aload 6 /* oldFont */
            getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
            getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 45
        37: .line 743
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 44
        38: .line 744
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        39: .line 745
            new java.lang.StringBuilder
            dup
            ldc "Unexpected attempt to replace a JRE  font "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 746
            aload 3 /* fontName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 747
            aload 6 /* oldFont */
            getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 748
            ldc " with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* newFont */
            getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 745
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        44: .line 750
      StackMap locals:
      StackMap stack:
            aload 6 /* oldFont */
            areturn
        45: .line 753
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 52
        46: .line 754
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        47: .line 755
            new java.lang.StringBuilder
            dup
            ldc "Replace in Family "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* familyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 756
            ldc ",Font "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* fontName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " new rank="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* rank */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        49: .line 757
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* oldFont */
            getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 758
            ldc " with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* newFont */
            getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 755
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        52: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* oldFont */
            aload 5 /* newFont */
            invokevirtual sun.font.SunFontManager.replaceFont:(Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
        53: .line 761
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            aload 5 /* newFont */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        54: .line 762
            aload 0 /* this */
            getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* fontName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
        55: .line 763
            aload 5 /* newFont */
        56: .line 762
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        57: .line 765
            aload 4 /* familyName */
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 7 /* family */
        start local 7 // sun.font.FontFamily family
        58: .line 766
            aload 7 /* family */
            ifnonnull 62
        59: .line 767
            new sun.font.FontFamily
            dup
            aload 4 /* familyName */
            iconst_0
            iload 2 /* rank */
            invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;ZI)V
            astore 7 /* family */
        60: .line 768
            aload 7 /* family */
            aload 5 /* newFont */
            aload 5 /* newFont */
            getfield sun.font.PhysicalFont.style:I
            invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
        61: .line 769
            goto 63
        62: .line 770
      StackMap locals: sun.font.FontFamily
      StackMap stack:
            aload 7 /* family */
            aload 5 /* newFont */
            aload 5 /* newFont */
            getfield sun.font.PhysicalFont.style:I
            invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
        63: .line 772
      StackMap locals:
      StackMap stack:
            aload 5 /* newFont */
            areturn
        end local 7 // sun.font.FontFamily family
        64: .line 774
      StackMap locals:
      StackMap stack:
            aload 6 /* oldFont */
            areturn
        end local 6 // sun.font.PhysicalFont oldFont
        end local 5 // sun.font.PhysicalFont newFont
        end local 4 // java.lang.String familyName
        end local 3 // java.lang.String fontName
        end local 2 // int rank
        end local 1 // sun.font.PhysicalFont f
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   65     0        this  Lsun/font/SunFontManager;
            0   65     1           f  Lsun/font/PhysicalFont;
            0   65     2        rank  I
            1   65     3    fontName  Ljava/lang/String;
            2   65     4  familyName  Ljava/lang/String;
           14   21     5      family  Lsun/font/FontFamily;
           22   65     5     newFont  Lsun/font/PhysicalFont;
           23   65     6     oldFont  Lsun/font/PhysicalFont;
           32   35     7   oldTTFont  Lsun/font/TrueTypeFont;
           33   35     8   newTTFont  Lsun/font/TrueTypeFont;
           58   64     7      family  Lsun/font/FontFamily;
    MethodParameters:
      Name  Flags
      f     
      rank  

  public sun.font.Font2D[] getRegisteredFonts();
    descriptor: ()[Lsun/font/Font2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 780
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 1 /* physFonts */
        start local 1 // sun.font.PhysicalFont[] physFonts
         1: .line 781
            aload 0 /* this */
            getfield sun.font.SunFontManager.maxCompFont:I
            istore 2 /* mcf */
        start local 2 // int mcf
         2: .line 782
            aload 1 /* physFonts */
            arraylength
            iload 2 /* mcf */
            iadd
            anewarray sun.font.Font2D
            astore 3 /* regFonts */
        start local 3 // sun.font.Font2D[] regFonts
         3: .line 783
            aload 0 /* this */
            getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
            iconst_0
            aload 3 /* regFonts */
            iconst_0
            iload 2 /* mcf */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 784
            aload 1 /* physFonts */
            iconst_0
            aload 3 /* regFonts */
            iload 2 /* mcf */
            aload 1 /* physFonts */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 785
            aload 3 /* regFonts */
            areturn
        end local 3 // sun.font.Font2D[] regFonts
        end local 2 // int mcf
        end local 1 // sun.font.PhysicalFont[] physFonts
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lsun/font/SunFontManager;
            1    6     1  physFonts  [Lsun/font/PhysicalFont;
            2    6     2        mcf  I
            3    6     3   regFonts  [Lsun/font/Font2D;

  protected sun.font.PhysicalFont[] getPhysicalFonts();
    descriptor: ()[Lsun/font/PhysicalFont;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 789
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
            iconst_0
            anewarray sun.font.PhysicalFont
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.font.PhysicalFont[]
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  protected synchronized void initialiseDeferredFonts();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 837
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: sun.font.SunFontManager top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* fileName */
        start local 1 // java.lang.String fileName
         2: .line 838
            aload 0 /* this */
            aload 1 /* fileName */
            invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
            pop
        end local 1 // java.lang.String fileName
         3: .line 837
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 840
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lsun/font/SunFontManager;
            2    3     1  fileName  Ljava/lang/String;

  protected synchronized void registerDeferredJREFonts(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String jreDir
         0: .line 843
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: sun.font.SunFontManager java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.font.SunFontManager$FontRegistrationInfo
            astore 2 /* info */
        start local 2 // sun.font.SunFontManager$FontRegistrationInfo info
         2: .line 844
            aload 2 /* info */
            getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
            ifnull 5
         3: .line 845
            aload 2 /* info */
            getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
            aload 1 /* jreDir */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 846
            aload 0 /* this */
            aload 2 /* info */
            getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
            pop
        end local 2 // sun.font.SunFontManager$FontRegistrationInfo info
         5: .line 843
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 849
            return
        end local 1 // java.lang.String jreDir
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/font/SunFontManager;
            0    7     1  jreDir  Ljava/lang/String;
            2    5     2    info  Lsun/font/SunFontManager$FontRegistrationInfo;
    MethodParameters:
        Name  Flags
      jreDir  

  public boolean isDeferredFont(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fileName
         0: .line 852
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String fileName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/font/SunFontManager;
            0    1     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  sun.font.PhysicalFont findJREDeferredFont(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lsun/font/PhysicalFont;
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
        start local 2 // int style
         0: .line 865
            aload 0 /* this */
            getfield sun.font.SunFontManager.noOtherJREFontFiles:Z
            ifeq 2
         1: .line 866
            aconst_null
            areturn
         2: .line 868
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
            dup
            astore 3
            monitorenter
         3: .line 869
            aload 0 /* this */
            getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
            ifnonnull 17
         4: .line 870
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* otherFontFiles */
        start local 4 // java.util.HashSet otherFontFiles
         5: .line 871
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.HashSet top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* deferredFile */
        start local 5 // java.lang.String deferredFile
         7: .line 872
            new java.io.File
            dup
            aload 5 /* deferredFile */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 7 /* file */
        start local 7 // java.io.File file
         8: .line 873
            aload 7 /* file */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            astore 8 /* dir */
        start local 8 // java.lang.String dir
         9: .line 874
            aload 7 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            pop
        10: .line 878
            aload 8 /* dir */
            ifnull 13
            aload 8 /* dir */
            getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 879
            goto 13
        12: .line 881
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.HashSet java.lang.String java.util.Iterator java.io.File java.lang.String
      StackMap stack:
            aload 4 /* otherFontFiles */
            aload 5 /* deferredFile */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String dir
        end local 7 // java.io.File file
        end local 5 // java.lang.String deferredFile
        13: .line 871
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        14: .line 883
            aload 0 /* this */
            aload 4 /* otherFontFiles */
            getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
        15: .line 884
            aload 0 /* this */
            getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
            arraylength
            ifne 17
        16: .line 885
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.noOtherJREFontFiles:Z
        end local 4 // java.util.HashSet otherFontFiles
        17: .line 889
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        18: goto 31
        19: .line 890
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            astore 5 /* fileName */
        start local 5 // java.lang.String fileName
        20: .line 891
            aload 5 /* fileName */
            ifnonnull 22
        21: .line 892
            goto 30
        22: .line 894
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
            iload 4 /* i */
            aconst_null
            aastore
        23: .line 895
            aload 0 /* this */
            aload 5 /* fileName */
            invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
            astore 6 /* physicalFont */
        start local 6 // sun.font.PhysicalFont physicalFont
        24: .line 896
            aload 6 /* physicalFont */
            ifnull 30
        25: .line 897
            aload 6 /* physicalFont */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 27
        26: .line 898
            aload 6 /* physicalFont */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 30
        27: .line 899
      StackMap locals: sun.font.PhysicalFont
      StackMap stack:
            aload 6 /* physicalFont */
            getfield sun.font.PhysicalFont.style:I
            iload 2 /* style */
            if_icmpne 30
        28: .line 900
            aload 6 /* physicalFont */
            aload 3
            monitorexit
        29: areturn
        end local 6 // sun.font.PhysicalFont physicalFont
        end local 5 // java.lang.String fileName
        30: .line 889
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 4 /* i */
            aload 0 /* this */
            getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
            arraylength
            if_icmplt 19
        end local 4 // int i
        32: .line 868
            aload 3
            monitorexit
        33: goto 36
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String
      StackMap stack: java.lang.Throwable
        34: aload 3
            monitorexit
        35: athrow
        36: .line 905
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Lsun/font/SunFontManager;
            0   37     1            name  Ljava/lang/String;
            0   37     2           style  I
            5   17     4  otherFontFiles  Ljava/util/HashSet<Ljava/lang/String;>;
            7   13     5    deferredFile  Ljava/lang/String;
            8   13     7            file  Ljava/io/File;
            9   13     8             dir  Ljava/lang/String;
           18   32     4               i  I
           20   30     5        fileName  Ljava/lang/String;
           24   30     6    physicalFont  Lsun/font/PhysicalFont;
      Exception table:
        from    to  target  type
           3    29      34  any
          30    33      34  any
          34    35      34  any
    MethodParameters:
       Name  Flags
      name   
      style  

  private sun.font.PhysicalFont findOtherDeferredFont(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lsun/font/PhysicalFont;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
        start local 2 // int style
         0: .line 909
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: sun.font.SunFontManager java.lang.String int top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fileName */
        start local 3 // java.lang.String fileName
         2: .line 910
            aload 0 /* this */
            aload 3 /* fileName */
            invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
            astore 5 /* physicalFont */
        start local 5 // sun.font.PhysicalFont physicalFont
         3: .line 911
            aload 5 /* physicalFont */
            ifnull 8
         4: .line 912
            aload 5 /* physicalFont */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         5: .line 913
            aload 5 /* physicalFont */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 914
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.Iterator sun.font.PhysicalFont
      StackMap stack:
            aload 5 /* physicalFont */
            getfield sun.font.PhysicalFont.style:I
            iload 2 /* style */
            if_icmpne 8
         7: .line 915
            aload 5 /* physicalFont */
            areturn
        end local 5 // sun.font.PhysicalFont physicalFont
        end local 3 // java.lang.String fileName
         8: .line 909
      StackMap locals: sun.font.SunFontManager java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 918
            aconst_null
            areturn
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lsun/font/SunFontManager;
            0   10     1          name  Ljava/lang/String;
            0   10     2         style  I
            2    8     3      fileName  Ljava/lang/String;
            3    8     5  physicalFont  Lsun/font/PhysicalFont;
    MethodParameters:
       Name  Flags
      name   
      style  

  private sun.font.PhysicalFont findDeferredFont(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lsun/font/PhysicalFont;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
        start local 2 // int style
         0: .line 922
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findJREDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
            astore 3 /* physicalFont */
        start local 3 // sun.font.PhysicalFont physicalFont
         1: .line 923
            aload 3 /* physicalFont */
            ifnull 3
         2: .line 924
            aload 3 /* physicalFont */
            areturn
         3: .line 926
      StackMap locals: sun.font.PhysicalFont
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findOtherDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
            areturn
        end local 3 // sun.font.PhysicalFont physicalFont
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lsun/font/SunFontManager;
            0    4     1          name  Ljava/lang/String;
            0    4     2         style  I
            1    4     3  physicalFont  Lsun/font/PhysicalFont;
    MethodParameters:
       Name  Flags
      name   
      style  

  public void registerDeferredFont(java.lang.String, java.lang.String, java.lang.String[], int, boolean, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fileNameKey
        start local 2 // java.lang.String fullPathName
        start local 3 // java.lang.String[] nativeNames
        start local 4 // int fontFormat
        start local 5 // boolean useJavaRasterizer
        start local 6 // int fontRank
         0: .line 937
            new sun.font.SunFontManager$FontRegistrationInfo
            dup
            aload 2 /* fullPathName */
            aload 3 /* nativeNames */
            iload 4 /* fontFormat */
         1: .line 938
            iload 5 /* useJavaRasterizer */
            iload 6 /* fontRank */
         2: .line 937
            invokespecial sun.font.SunFontManager$FontRegistrationInfo.<init>:(Ljava/lang/String;[Ljava/lang/String;IZI)V
         3: .line 936
            astore 7 /* regInfo */
        start local 7 // sun.font.SunFontManager$FontRegistrationInfo regInfo
         4: .line 939
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            aload 7 /* regInfo */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 940
            return
        end local 7 // sun.font.SunFontManager$FontRegistrationInfo regInfo
        end local 6 // int fontRank
        end local 5 // boolean useJavaRasterizer
        end local 4 // int fontFormat
        end local 3 // java.lang.String[] nativeNames
        end local 2 // java.lang.String fullPathName
        end local 1 // java.lang.String fileNameKey
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lsun/font/SunFontManager;
            0    6     1        fileNameKey  Ljava/lang/String;
            0    6     2       fullPathName  Ljava/lang/String;
            0    6     3        nativeNames  [Ljava/lang/String;
            0    6     4         fontFormat  I
            0    6     5  useJavaRasterizer  Z
            0    6     6           fontRank  I
            4    6     7            regInfo  Lsun/font/SunFontManager$FontRegistrationInfo;
    MethodParameters:
                   Name  Flags
      fileNameKey        
      fullPathName       
      nativeNames        
      fontFormat         
      useJavaRasterizer  
      fontRank           

  public synchronized sun.font.PhysicalFont initialiseDeferredFont(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/font/PhysicalFont;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fileNameKey
         0: .line 946
            aload 1 /* fileNameKey */
            ifnonnull 2
         1: .line 947
            aconst_null
            areturn
         2: .line 949
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 5
         3: .line 950
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         4: .line 951
            new java.lang.StringBuilder
            dup
            ldc "Opening deferred font file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fileNameKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         5: .line 954
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* physicalFont */
        start local 2 // sun.font.PhysicalFont physicalFont
         6: .line 955
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.SunFontManager$FontRegistrationInfo
            astore 3 /* regInfo */
        start local 3 // sun.font.SunFontManager$FontRegistrationInfo regInfo
         7: .line 956
            aload 3 /* regInfo */
            ifnull 20
         8: .line 957
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 958
            aload 0 /* this */
            aload 3 /* regInfo */
            getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
        10: .line 959
            aload 3 /* regInfo */
            getfield sun.font.SunFontManager$FontRegistrationInfo.nativeNames:[Ljava/lang/String;
        11: .line 960
            aload 3 /* regInfo */
            getfield sun.font.SunFontManager$FontRegistrationInfo.fontFormat:I
        12: .line 961
            aload 3 /* regInfo */
            getfield sun.font.SunFontManager$FontRegistrationInfo.javaRasterizer:Z
        13: .line 962
            aload 3 /* regInfo */
            getfield sun.font.SunFontManager$FontRegistrationInfo.fontRank:I
        14: .line 958
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            astore 2 /* physicalFont */
        15: .line 964
            aload 2 /* physicalFont */
            ifnull 18
        16: .line 968
            aload 0 /* this */
            getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            aload 2 /* physicalFont */
            getfield sun.font.PhysicalFont.handle:Lsun/font/Font2DHandle;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 969
            goto 25
        18: .line 970
      StackMap locals: sun.font.PhysicalFont sun.font.SunFontManager$FontRegistrationInfo
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            getstatic sun.font.SunFontManager.FONT_HANDLE_NULL:Lsun/font/Font2DHandle;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 972
            goto 25
        20: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2DHandle
            astore 4 /* handle */
        start local 4 // sun.font.Font2DHandle handle
        21: .line 974
            aload 4 /* handle */
            ifnonnull 24
        22: .line 976
            aload 0 /* this */
            getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileNameKey */
            getstatic sun.font.SunFontManager.FONT_HANDLE_NULL:Lsun/font/Font2DHandle;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 977
            goto 25
        24: .line 978
      StackMap locals: sun.font.Font2DHandle
      StackMap stack:
            aload 4 /* handle */
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            checkcast sun.font.PhysicalFont
            astore 2 /* physicalFont */
        end local 4 // sun.font.Font2DHandle handle
        25: .line 981
      StackMap locals:
      StackMap stack:
            aload 2 /* physicalFont */
            areturn
        end local 3 // sun.font.SunFontManager$FontRegistrationInfo regInfo
        end local 2 // sun.font.PhysicalFont physicalFont
        end local 1 // java.lang.String fileNameKey
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lsun/font/SunFontManager;
            0   26     1   fileNameKey  Ljava/lang/String;
            6   26     2  physicalFont  Lsun/font/PhysicalFont;
            7   26     3       regInfo  Lsun/font/SunFontManager$FontRegistrationInfo;
           21   25     4        handle  Lsun/font/Font2DHandle;
    MethodParameters:
             Name  Flags
      fileNameKey  

  public boolean isRegisteredFontFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
         0: .line 985
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* name */
            invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public sun.font.PhysicalFont getRegisteredFontFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/font/PhysicalFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
         0: .line 989
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* name */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.PhysicalFont
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public sun.font.PhysicalFont registerFontFile(java.lang.String, java.lang.String[], int, boolean, int);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=6
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fileName
        start local 2 // java.lang.String[] nativeNames
        start local 3 // int fontFormat
        start local 4 // boolean useJavaRasterizer
        start local 5 // int fontRank
         0: .line 1002
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.PhysicalFont
            astore 6 /* regFont */
        start local 6 // sun.font.PhysicalFont regFont
         1: .line 1003
            aload 6 /* regFont */
            ifnull 3
         2: .line 1004
            aload 6 /* regFont */
            areturn
         3: .line 1007
      StackMap locals: sun.font.PhysicalFont
      StackMap stack:
            aconst_null
            astore 7 /* physicalFont */
        start local 7 // sun.font.PhysicalFont physicalFont
         4: .line 1011
            iload 3 /* fontFormat */
            tableswitch { // 0 - 4
                    0: 5
                    1: 15
                    2: 20
                    3: 20
                    4: 18
              default: 20
          }
         5: .line 1014
      StackMap locals: sun.font.PhysicalFont
      StackMap stack:
            iconst_0
            istore 8 /* fn */
        start local 8 // int fn
         6: .line 1017
      StackMap locals: int
      StackMap stack:
            new sun.font.TrueTypeFont
            dup
            aload 1 /* fileName */
            aload 2 /* nativeNames */
            iload 8 /* fn */
            iinc 8 /* fn */ 1
         7: .line 1018
            iload 4 /* useJavaRasterizer */
         8: .line 1017
            invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
            astore 9 /* ttf */
        start local 9 // sun.font.TrueTypeFont ttf
         9: .line 1019
            aload 0 /* this */
            aload 9 /* ttf */
            iload 5 /* fontRank */
            invokevirtual sun.font.SunFontManager.addToFontList:(Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
            astore 10 /* pf */
        start local 10 // sun.font.PhysicalFont pf
        10: .line 1020
            aload 7 /* physicalFont */
            ifnonnull 12
        11: .line 1021
            aload 10 /* pf */
            astore 7 /* physicalFont */
        end local 10 // sun.font.PhysicalFont pf
        12: .line 1024
      StackMap locals: sun.font.TrueTypeFont
      StackMap stack:
            iload 8 /* fn */
            aload 9 /* ttf */
            invokevirtual sun.font.TrueTypeFont.getFontCount:()I
        13: .line 1016
            if_icmplt 6
        14: .line 1025
            goto 20
        end local 9 // sun.font.TrueTypeFont ttf
        end local 8 // int fn
        15: .line 1028
      StackMap locals:
      StackMap stack:
            new sun.font.Type1Font
            dup
            aload 1 /* fileName */
            aload 2 /* nativeNames */
            invokespecial sun.font.Type1Font.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            astore 10 /* t1f */
        start local 10 // sun.font.Type1Font t1f
        16: .line 1029
            aload 0 /* this */
            aload 10 /* t1f */
            iload 5 /* fontRank */
            invokevirtual sun.font.SunFontManager.addToFontList:(Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
            astore 7 /* physicalFont */
        17: .line 1030
            goto 20
        end local 10 // sun.font.Type1Font t1f
        18: .line 1033
      StackMap locals:
      StackMap stack:
            new sun.font.NativeFont
            dup
            aload 1 /* fileName */
            iconst_0
            invokespecial sun.font.NativeFont.<init>:(Ljava/lang/String;Z)V
            astore 11 /* nf */
        start local 11 // sun.font.NativeFont nf
        19: .line 1034
            aload 0 /* this */
            aload 11 /* nf */
            iload 5 /* fontRank */
            invokevirtual sun.font.SunFontManager.addToFontList:(Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
            astore 7 /* physicalFont */
        end local 11 // sun.font.NativeFont nf
        20: .line 1039
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 31
        21: .line 1040
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        22: .line 1041
            new java.lang.StringBuilder
            dup
            ldc "Registered file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " as font "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1042
            aload 7 /* physicalFont */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " rank="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* fontRank */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        24: .line 1041
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        25: .line 1044
            goto 31
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
        26: astore 8 /* ffe */
        start local 8 // java.awt.FontFormatException ffe
        27: .line 1045
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 31
        28: .line 1046
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Unusable font: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 1047
            aload 1 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* ffe */
            invokevirtual java.awt.FontFormatException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 1046
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        end local 8 // java.awt.FontFormatException ffe
        31: .line 1050
      StackMap locals:
      StackMap stack:
            aload 7 /* physicalFont */
            ifnull 34
        32: .line 1051
            iload 3 /* fontFormat */
            iconst_4
            if_icmpeq 34
        33: .line 1052
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* fileName */
            aload 7 /* physicalFont */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 1054
      StackMap locals:
      StackMap stack:
            aload 7 /* physicalFont */
            areturn
        end local 7 // sun.font.PhysicalFont physicalFont
        end local 6 // sun.font.PhysicalFont regFont
        end local 5 // int fontRank
        end local 4 // boolean useJavaRasterizer
        end local 3 // int fontFormat
        end local 2 // java.lang.String[] nativeNames
        end local 1 // java.lang.String fileName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Lsun/font/SunFontManager;
            0   35     1           fileName  Ljava/lang/String;
            0   35     2        nativeNames  [Ljava/lang/String;
            0   35     3         fontFormat  I
            0   35     4  useJavaRasterizer  Z
            0   35     5           fontRank  I
            1   35     6            regFont  Lsun/font/PhysicalFont;
            4   35     7       physicalFont  Lsun/font/PhysicalFont;
            6   15     8                 fn  I
            9   15     9                ttf  Lsun/font/TrueTypeFont;
           10   12    10                 pf  Lsun/font/PhysicalFont;
           16   18    10                t1f  Lsun/font/Type1Font;
           19   20    11                 nf  Lsun/font/NativeFont;
           27   31     8                ffe  Ljava/awt/FontFormatException;
      Exception table:
        from    to  target  type
           4    25      26  Class java.awt.FontFormatException
    MethodParameters:
                   Name  Flags
      fileName           
      nativeNames        
      fontFormat         
      useJavaRasterizer  
      fontRank           

  public void registerFonts(java.lang.String[], java.lang.String[][], int, int, boolean, int, boolean);
    descriptor: ([Ljava/lang/String;[[Ljava/lang/String;IIZIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=8
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String[] fileNames
        start local 2 // java.lang.String[][] nativeNames
        start local 3 // int fontCount
        start local 4 // int fontFormat
        start local 5 // boolean useJavaRasterizer
        start local 6 // int fontRank
        start local 7 // boolean defer
         0: .line 1064
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         1: goto 11
         2: .line 1065
      StackMap locals: int
      StackMap stack:
            iload 7 /* defer */
            ifeq 7
         3: .line 1066
            aload 0 /* this */
            aload 1 /* fileNames */
            iload 8 /* i */
            aaload
            aload 1 /* fileNames */
            iload 8 /* i */
            aaload
            aload 2 /* nativeNames */
            iload 8 /* i */
            aaload
         4: .line 1067
            iload 4 /* fontFormat */
            iload 5 /* useJavaRasterizer */
            iload 6 /* fontRank */
         5: .line 1066
            invokevirtual sun.font.SunFontManager.registerDeferredFont:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
         6: .line 1068
            goto 10
         7: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fileNames */
            iload 8 /* i */
            aaload
            aload 2 /* nativeNames */
            iload 8 /* i */
            aaload
         8: .line 1070
            iload 4 /* fontFormat */
            iload 5 /* useJavaRasterizer */
            iload 6 /* fontRank */
         9: .line 1069
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            pop
        10: .line 1064
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 8 /* i */
            iload 3 /* fontCount */
            if_icmplt 2
        end local 8 // int i
        12: .line 1073
            return
        end local 7 // boolean defer
        end local 6 // int fontRank
        end local 5 // boolean useJavaRasterizer
        end local 4 // int fontFormat
        end local 3 // int fontCount
        end local 2 // java.lang.String[][] nativeNames
        end local 1 // java.lang.String[] fileNames
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lsun/font/SunFontManager;
            0   13     1          fileNames  [Ljava/lang/String;
            0   13     2        nativeNames  [[Ljava/lang/String;
            0   13     3          fontCount  I
            0   13     4         fontFormat  I
            0   13     5  useJavaRasterizer  Z
            0   13     6           fontRank  I
            0   13     7              defer  Z
            1   12     8                  i  I
    MethodParameters:
                   Name  Flags
      fileNames          
      nativeNames        
      fontCount          
      fontFormat         
      useJavaRasterizer  
      fontRank           
      defer              

  public sun.font.PhysicalFont getDefaultPhysicalFont();
    descriptor: ()Lsun/font/PhysicalFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1082
            aload 0 /* this */
            getfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
            ifnonnull 16
         1: .line 1083
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getDefaultFontFaceName:()Ljava/lang/String;
            astore 1 /* defaultFontName */
        start local 1 // java.lang.String defaultFontName
         2: .line 1085
            aload 0 /* this */
            aload 1 /* defaultFontName */
            iconst_0
            iconst_0
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 2 /* font2d */
        start local 2 // sun.font.Font2D font2d
         3: .line 1086
            aload 2 /* font2d */
            ifnull 12
         4: .line 1087
            aload 2 /* font2d */
            instanceof sun.font.PhysicalFont
            ifeq 7
         5: .line 1088
            aload 0 /* this */
            aload 2 /* font2d */
            checkcast sun.font.PhysicalFont
            putfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
         6: .line 1089
            goto 12
         7: .line 1090
      StackMap locals: java.lang.String sun.font.Font2D
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 12
         8: .line 1091
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         9: .line 1092
            new java.lang.StringBuilder
            dup
            ldc "Font returned by findFont2D for default font name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1093
            aload 1 /* defaultFontName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not a physical font: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* font2d */
            aconst_null
            invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1092
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        12: .line 1097
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
            ifnonnull 16
        13: .line 1104
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        14: .line 1105
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  sun/font/SunFontManager.lambda$0()Ljava/lang/Error; (6)
                  ()Ljava/lang/Error;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast sun.font.PhysicalFont
        15: .line 1104
            putfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
        end local 2 // sun.font.Font2D font2d
        end local 1 // java.lang.String defaultFontName
        16: .line 1108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lsun/font/SunFontManager;
            2   16     1  defaultFontName  Ljava/lang/String;
            3   16     2           font2d  Lsun/font/Font2D;

  public sun.font.Font2D getDefaultLogicalFont(int);
    descriptor: (I)Lsun/font/Font2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // int style
         0: .line 1112
            aload 0 /* this */
            ldc "dialog"
            iload 1 /* style */
            iconst_0
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            areturn
        end local 1 // int style
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/font/SunFontManager;
            0    1     1  style  I
    MethodParameters:
       Name  Flags
      style  

  private static java.lang.String dotStyleStr(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int num
         0: .line 1120
            iload 0 /* num */
            tableswitch { // 1 - 3
                    1: 1
                    2: 2
                    3: 3
              default: 4
          }
         1: .line 1122
      StackMap locals:
      StackMap stack:
            ldc ".bold"
            areturn
         2: .line 1124
      StackMap locals:
      StackMap stack:
            ldc ".italic"
            areturn
         3: .line 1126
      StackMap locals:
      StackMap stack:
            ldc ".bolditalic"
            areturn
         4: .line 1128
      StackMap locals:
      StackMap stack:
            ldc ".plain"
            areturn
        end local 0 // int num
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   num  I
    MethodParameters:
      Name  Flags
      num   

  protected void populateFontFileNameMap(java.util.HashMap<java.lang.String, java.lang.String>, java.util.HashMap<java.lang.String, java.lang.String>, java.util.HashMap<java.lang.String, java.util.ArrayList<java.lang.String>>, java.util.Locale);
    descriptor: (Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/Locale;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=5, args_size=5
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.HashMap fontToFileMap
        start local 2 // java.util.HashMap fontToFamilyNameMap
        start local 3 // java.util.HashMap familyToFontListMap
        start local 4 // java.util.Locale locale
         0: .line 1142
            return
        end local 4 // java.util.Locale locale
        end local 3 // java.util.HashMap familyToFontListMap
        end local 2 // java.util.HashMap fontToFamilyNameMap
        end local 1 // java.util.HashMap fontToFileMap
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lsun/font/SunFontManager;
            0    1     1        fontToFileMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
            0    1     2  fontToFamilyNameMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
            0    1     3  familyToFontListMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
            0    1     4               locale  Ljava/util/Locale;
    Signature: (Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;Ljava/util/Locale;)V
    MethodParameters:
                     Name  Flags
      fontToFileMap        
      fontToFamilyNameMap  
      familyToFontListMap  
      locale               

  private java.lang.String[] getFontFilesFromPath(boolean);
    descriptor: (Z)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // boolean noType1
         0: .line 1171
            iload 1 /* noType1 */
            ifeq 3
         1: .line 1172
            getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
            astore 2 /* filter */
        start local 2 // java.io.FilenameFilter filter
         2: .line 1173
            goto 4
        end local 2 // java.io.FilenameFilter filter
         3: .line 1174
      StackMap locals:
      StackMap stack:
            new sun.font.SunFontManager$TTorT1Filter
            dup
            invokespecial sun.font.SunFontManager$TTorT1Filter.<init>:()V
            astore 2 /* filter */
        start local 2 // java.io.FilenameFilter filter
         4: .line 1176
      StackMap locals: java.io.FilenameFilter
      StackMap stack:
            new sun.font.SunFontManager$4
            dup
            aload 0 /* this */
            aload 2 /* filter */
            invokespecial sun.font.SunFontManager$4.<init>:(Lsun/font/SunFontManager;Ljava/io/FilenameFilter;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 2 // java.io.FilenameFilter filter
        end local 1 // boolean noType1
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/font/SunFontManager;
            0    5     1  noType1  Z
            2    3     2   filter  Ljava/io/FilenameFilter;
            4    5     2   filter  Ljava/io/FilenameFilter;
    MethodParameters:
         Name  Flags
      noType1  

  private void resolveWindowsFonts();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1228
            aconst_null
            astore 1 /* unmappedFontNames */
        start local 1 // java.util.ArrayList unmappedFontNames
         1: .line 1229
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 25
      StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* font */
        start local 2 // java.lang.String font
         3: .line 1230
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 2 /* font */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* file */
        start local 4 // java.lang.String file
         4: .line 1231
            aload 4 /* file */
            ifnonnull 25
         5: .line 1232
            aload 2 /* font */
            ldc "  "
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 13
         6: .line 1233
            aload 2 /* font */
            ldc "  "
            ldc " "
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* newName */
        start local 5 // java.lang.String newName
         7: .line 1234
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 5 /* newName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* file */
         8: .line 1238
            aload 4 /* file */
            ifnull 25
         9: .line 1239
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            aload 5 /* newName */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 25
        10: .line 1240
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 5 /* newName */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1241
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 2 /* font */
            aload 4 /* file */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String newName
        12: .line 1243
            goto 25
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
        13: aload 2 /* font */
            ldc "marlett"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 1244
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 2 /* font */
            ldc "marlett.ttf"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1245
            goto 25
      StackMap locals:
      StackMap stack:
        16: aload 2 /* font */
            ldc "david"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        17: .line 1246
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            ldc "david regular"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* file */
        18: .line 1247
            aload 4 /* file */
            ifnull 25
        19: .line 1248
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            ldc "david regular"
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 1249
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            ldc "david"
            aload 4 /* file */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 1251
            goto 25
        22: .line 1252
      StackMap locals:
      StackMap stack:
            aload 1 /* unmappedFontNames */
            ifnonnull 24
        23: .line 1253
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* unmappedFontNames */
        24: .line 1255
      StackMap locals:
      StackMap stack:
            aload 1 /* unmappedFontNames */
            aload 2 /* font */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String file
        end local 2 // java.lang.String font
        25: .line 1229
      StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        26: .line 1260
            aload 1 /* unmappedFontNames */
            ifnull 70
        27: .line 1261
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* unmappedFontFiles */
        start local 2 // java.util.HashSet unmappedFontFiles
        28: .line 1294
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
            checkcast java.util.HashMap
        29: .line 1293
            astore 3 /* ffmapCopy */
        start local 3 // java.util.HashMap ffmapCopy
        30: .line 1295
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 33
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap top java.util.Iterator
      StackMap stack:
        31: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
        32: .line 1296
            aload 3 /* ffmapCopy */
            aload 4 /* key */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String key
        33: .line 1295
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        34: .line 1298
            aload 3 /* ffmapCopy */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 38
      StackMap locals:
      StackMap stack:
        35: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
        36: .line 1299
            aload 2 /* unmappedFontFiles */
            aload 3 /* ffmapCopy */
            aload 4 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        37: .line 1300
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 4 /* key */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String key
        38: .line 1298
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 1303
            aload 0 /* this */
            aload 2 /* unmappedFontFiles */
            aload 1 /* unmappedFontNames */
            invokevirtual sun.font.SunFontManager.resolveFontFiles:(Ljava/util/HashSet;Ljava/util/ArrayList;)V
        40: .line 1310
            aload 1 /* unmappedFontNames */
            invokevirtual java.util.ArrayList.size:()I
            ifle 53
        41: .line 1316
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* registryFiles */
        start local 4 // java.util.ArrayList registryFiles
        42: .line 1318
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 45
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap java.util.ArrayList top java.util.Iterator
      StackMap stack:
        43: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* regFile */
        start local 5 // java.lang.String regFile
        44: .line 1319
            aload 4 /* registryFiles */
            aload 5 /* regFile */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String regFile
        45: .line 1318
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        46: .line 1326
            aload 0 /* this */
            iconst_1
            invokevirtual sun.font.SunFontManager.getFontFilesFromPath:(Z)[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 51
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap java.util.ArrayList top int int java.lang.String[]
      StackMap stack:
        47: aload 8
            iload 6
            aaload
            astore 5 /* pathFile */
        start local 5 // java.lang.String pathFile
        48: .line 1327
            aload 4 /* registryFiles */
            aload 5 /* pathFile */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 50
        49: .line 1328
            aload 2 /* unmappedFontFiles */
            aload 5 /* pathFile */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String pathFile
        50: .line 1326
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        51: iload 6
            iload 7
            if_icmplt 47
        52: .line 1332
            aload 0 /* this */
            aload 2 /* unmappedFontFiles */
            aload 1 /* unmappedFontNames */
            invokevirtual sun.font.SunFontManager.resolveFontFiles:(Ljava/util/HashSet;Ljava/util/ArrayList;)V
        end local 4 // java.util.ArrayList registryFiles
        53: .line 1338
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap
      StackMap stack:
            aload 1 /* unmappedFontNames */
            invokevirtual java.util.ArrayList.size:()I
            ifle 70
        54: .line 1339
            aload 1 /* unmappedFontNames */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* sz */
        start local 4 // int sz
        55: .line 1340
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        56: goto 69
        57: .line 1341
      StackMap locals: int int
      StackMap stack:
            aload 1 /* unmappedFontNames */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
        58: .line 1342
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            aload 6 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* familyName */
        start local 7 // java.lang.String familyName
        59: .line 1343
            aload 7 /* familyName */
            ifnull 64
        60: .line 1344
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
            aload 7 /* familyName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 8 /* family */
        start local 8 // java.util.ArrayList family
        61: .line 1345
            aload 8 /* family */
            ifnull 64
        62: .line 1346
            aload 8 /* family */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpgt 64
        63: .line 1347
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
            aload 7 /* familyName */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.util.ArrayList family
        64: .line 1351
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            aload 6 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 1352
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 68
        66: .line 1353
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        67: .line 1354
            new java.lang.StringBuilder
            dup
            ldc "No file for font:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 7 // java.lang.String familyName
        end local 6 // java.lang.String name
        68: .line 1340
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 5 /* i */
            iload 4 /* sz */
            if_icmplt 57
        end local 5 // int i
        end local 4 // int sz
        end local 3 // java.util.HashMap ffmapCopy
        end local 2 // java.util.HashSet unmappedFontFiles
        70: .line 1359
      StackMap locals: sun.font.SunFontManager java.util.ArrayList
      StackMap stack:
            return
        end local 1 // java.util.ArrayList unmappedFontNames
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   71     0               this  Lsun/font/SunFontManager;
            1   71     1  unmappedFontNames  Ljava/util/ArrayList<Ljava/lang/String;>;
            3   25     2               font  Ljava/lang/String;
            4   25     4               file  Ljava/lang/String;
            7   12     5            newName  Ljava/lang/String;
           28   70     2  unmappedFontFiles  Ljava/util/HashSet<Ljava/lang/String;>;
           30   70     3          ffmapCopy  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
           32   33     4                key  Ljava/lang/String;
           36   38     4                key  Ljava/lang/String;
           42   53     4      registryFiles  Ljava/util/ArrayList<Ljava/lang/String;>;
           44   45     5            regFile  Ljava/lang/String;
           48   50     5           pathFile  Ljava/lang/String;
           55   70     4                 sz  I
           56   70     5                  i  I
           58   68     6               name  Ljava/lang/String;
           59   68     7         familyName  Ljava/lang/String;
           61   64     8             family  Ljava/util/ArrayList<Ljava/lang/String;>;

  private synchronized void checkForUnreferencedFontFiles();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1374
            aload 0 /* this */
            getfield sun.font.SunFontManager.haveCheckedUnreferencedFontFiles:Z
            ifeq 2
         1: .line 1375
            return
         2: .line 1377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.haveCheckedUnreferencedFontFiles:Z
         3: .line 1378
            getstatic sun.font.FontUtilities.isWindows:Z
            ifne 5
         4: .line 1379
            return
         5: .line 1385
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* registryFiles */
        start local 1 // java.util.ArrayList registryFiles
         6: .line 1386
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* regFile */
        start local 2 // java.lang.String regFile
         8: .line 1387
            aload 1 /* registryFiles */
            aload 2 /* regFile */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String regFile
         9: .line 1386
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1397
            aconst_null
            astore 2 /* fontToFileMap2 */
        start local 2 // java.util.HashMap fontToFileMap2
        11: .line 1398
            aconst_null
            astore 3 /* fontToFamilyNameMap2 */
        start local 3 // java.util.HashMap fontToFamilyNameMap2
        12: .line 1399
            aconst_null
            astore 4 /* familyToFontListMap2 */
        start local 4 // java.util.HashMap familyToFontListMap2
        13: .line 1401
            aload 0 /* this */
            iconst_0
            invokevirtual sun.font.SunFontManager.getFontFilesFromPath:(Z)[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 41
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap top int int java.lang.String[]
      StackMap stack:
        14: aload 8
            iload 6
            aaload
            astore 5 /* pathFile */
        start local 5 // java.lang.String pathFile
        15: .line 1402
            aload 1 /* registryFiles */
            aload 5 /* pathFile */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 40
        16: .line 1403
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 19
        17: .line 1404
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        18: .line 1405
            new java.lang.StringBuilder
            dup
            ldc "Found non-registry file : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* pathFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        19: .line 1407
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* pathFile */
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;)Lsun/font/PhysicalFont;
            astore 9 /* f */
        start local 9 // sun.font.PhysicalFont f
        20: .line 1408
            aload 9 /* f */
            ifnonnull 22
        21: .line 1409
            goto 40
        22: .line 1411
      StackMap locals: sun.font.PhysicalFont
      StackMap stack:
            aload 2 /* fontToFileMap2 */
            ifnonnull 28
        23: .line 1412
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 2 /* fontToFileMap2 */
        24: .line 1414
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
        25: .line 1413
            astore 3 /* fontToFamilyNameMap2 */
        26: .line 1416
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
        27: .line 1415
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 4 /* familyToFontListMap2 */
        28: .line 1418
      StackMap locals:
      StackMap stack:
            aload 9 /* f */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            astore 10 /* fontName */
        start local 10 // java.lang.String fontName
        29: .line 1419
            aload 9 /* f */
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            astore 11 /* family */
        start local 11 // java.lang.String family
        30: .line 1420
            aload 11 /* family */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 12 /* familyLC */
        start local 12 // java.lang.String familyLC
        31: .line 1421
            aload 3 /* fontToFamilyNameMap2 */
            aload 10 /* fontName */
            aload 11 /* family */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 1422
            aload 2 /* fontToFileMap2 */
            aload 10 /* fontName */
            aload 5 /* pathFile */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 1423
            aload 4 /* familyToFontListMap2 */
            aload 12 /* familyLC */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 13 /* fonts */
        start local 13 // java.util.ArrayList fonts
        34: .line 1424
            aload 13 /* fonts */
            ifnonnull 37
        35: .line 1425
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 13 /* fonts */
        36: .line 1426
            goto 38
        37: .line 1427
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap java.lang.String int int java.lang.String[] sun.font.PhysicalFont java.lang.String java.lang.String java.lang.String java.util.ArrayList
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 13 /* fonts */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 13 /* fonts */
        38: .line 1429
      StackMap locals:
      StackMap stack:
            aload 13 /* fonts */
            aload 10 /* fontName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        39: .line 1430
            aload 4 /* familyToFontListMap2 */
            aload 12 /* familyLC */
            aload 13 /* fonts */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // java.util.ArrayList fonts
        end local 12 // java.lang.String familyLC
        end local 11 // java.lang.String family
        end local 10 // java.lang.String fontName
        end local 9 // sun.font.PhysicalFont f
        end local 5 // java.lang.String pathFile
        40: .line 1401
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap top int int java.lang.String[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        41: iload 6
            iload 7
            if_icmplt 14
        42: .line 1433
            aload 2 /* fontToFileMap2 */
            ifnull 46
        43: .line 1434
            aload 0 /* this */
            aload 2 /* fontToFileMap2 */
            putfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
        44: .line 1435
            aload 0 /* this */
            aload 4 /* familyToFontListMap2 */
            putfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
        45: .line 1436
            aload 0 /* this */
            aload 3 /* fontToFamilyNameMap2 */
            putfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
        46: .line 1438
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap
      StackMap stack:
            return
        end local 4 // java.util.HashMap familyToFontListMap2
        end local 3 // java.util.HashMap fontToFamilyNameMap2
        end local 2 // java.util.HashMap fontToFileMap2
        end local 1 // java.util.ArrayList registryFiles
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   47     0                  this  Lsun/font/SunFontManager;
            6   47     1         registryFiles  Ljava/util/ArrayList<Ljava/lang/String;>;
            8    9     2               regFile  Ljava/lang/String;
           11   47     2        fontToFileMap2  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
           12   47     3  fontToFamilyNameMap2  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
           13   47     4  familyToFontListMap2  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
           15   40     5              pathFile  Ljava/lang/String;
           20   40     9                     f  Lsun/font/PhysicalFont;
           29   40    10              fontName  Ljava/lang/String;
           30   40    11                family  Ljava/lang/String;
           31   40    12              familyLC  Ljava/lang/String;
           34   40    13                 fonts  Ljava/util/ArrayList<Ljava/lang/String;>;

  private void resolveFontFiles(java.util.HashSet<java.lang.String>, java.util.ArrayList<java.lang.String>);
    descriptor: (Ljava/util/HashSet;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.HashSet unmappedFiles
        start local 2 // java.util.ArrayList unmappedFonts
         0: .line 1443
            invokestatic sun.awt.SunToolkit.getStartupLocale:()Ljava/util/Locale;
            astore 3 /* l */
        start local 3 // java.util.Locale l
         1: .line 1445
            aload 1 /* unmappedFiles */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 22
      StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* file */
        start local 4 // java.lang.String file
         3: .line 1447
            iconst_0
            istore 6 /* fn */
        start local 6 // int fn
         4: .line 1449
            aload 0 /* this */
            aload 4 /* file */
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* fullPath */
        start local 8 // java.lang.String fullPath
         5: .line 1450
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 8
         6: .line 1451
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         7: .line 1452
            new java.lang.StringBuilder
            dup
            ldc "Trying to resolve file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* fullPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         8: .line 1455
      StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale java.lang.String java.util.Iterator int top java.lang.String
      StackMap stack:
            new sun.font.TrueTypeFont
            dup
            aload 8 /* fullPath */
            aconst_null
            iload 6 /* fn */
            iinc 6 /* fn */ 1
            iconst_0
            invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
            astore 7 /* ttf */
        start local 7 // sun.font.TrueTypeFont ttf
         9: .line 1457
            aload 7 /* ttf */
            aload 3 /* l */
            invokevirtual sun.font.TrueTypeFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 9 /* fontName */
        start local 9 // java.lang.String fontName
        10: .line 1458
            aload 2 /* unmappedFonts */
            aload 9 /* fontName */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifeq 18
        11: .line 1459
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 9 /* fontName */
            aload 4 /* file */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1460
            aload 2 /* unmappedFonts */
            aload 9 /* fontName */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
        13: .line 1461
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 18
        14: .line 1462
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        15: .line 1463
            new java.lang.StringBuilder
            dup
            ldc "Resolved absent registry entry for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 1464
            aload 9 /* fontName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " located in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* fullPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1463
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 9 // java.lang.String fontName
        18: .line 1468
      StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale java.lang.String java.util.Iterator int sun.font.TrueTypeFont java.lang.String
      StackMap stack:
            iload 6 /* fn */
            aload 7 /* ttf */
            invokevirtual sun.font.TrueTypeFont.getFontCount:()I
        19: .line 1454
            if_icmplt 8
        end local 8 // java.lang.String fullPath
        end local 7 // sun.font.TrueTypeFont ttf
        end local 6 // int fn
        20: .line 1469
            goto 22
      StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale java.lang.String java.util.Iterator
      StackMap stack: java.lang.Exception
        21: pop
        end local 4 // java.lang.String file
        22: .line 1445
      StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        23: .line 1472
            return
        end local 3 // java.util.Locale l
        end local 2 // java.util.ArrayList unmappedFonts
        end local 1 // java.util.HashSet unmappedFiles
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lsun/font/SunFontManager;
            0   24     1  unmappedFiles  Ljava/util/HashSet<Ljava/lang/String;>;
            0   24     2  unmappedFonts  Ljava/util/ArrayList<Ljava/lang/String;>;
            1   24     3              l  Ljava/util/Locale;
            3   22     4           file  Ljava/lang/String;
            4   20     6             fn  I
            9   20     7            ttf  Lsun/font/TrueTypeFont;
            5   20     8       fullPath  Ljava/lang/String;
           10   18     9       fontName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    20      21  Class java.lang.Exception
    Signature: (Ljava/util/HashSet<Ljava/lang/String;>;Ljava/util/ArrayList<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      unmappedFiles  
      unmappedFonts  

  public java.util.HashMap<java.lang.String, sun.font.SunFontManager$FamilyDescription> populateHardcodedFileNameMap();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1505
            new java.util.HashMap
            dup
            iconst_0
            invokespecial java.util.HashMap.<init>:(I)V
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;
    Signature: ()Ljava/util/HashMap<Ljava/lang/String;Lsun/font/SunFontManager$FamilyDescription;>;

  sun.font.Font2D findFontFromPlatformMap(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lsun/font/Font2D;
    flags: (0x0000) 
    Code:
      stack=6, locals=16, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String lcName
        start local 2 // int style
         0: .line 1509
            getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
            ifnonnull 2
         1: .line 1510
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.populateHardcodedFileNameMap:()Ljava/util/HashMap;
            putstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
         2: .line 1513
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
            ifnull 3
            getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 4
         3: .line 1514
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 1517
      StackMap locals:
      StackMap stack:
            aload 1 /* lcName */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* spaceIndex */
        start local 3 // int spaceIndex
         5: .line 1518
            aload 1 /* lcName */
            astore 4 /* firstWord */
        start local 4 // java.lang.String firstWord
         6: .line 1519
            iload 3 /* spaceIndex */
            ifle 8
         7: .line 1520
            aload 1 /* lcName */
            iconst_0
            iload 3 /* spaceIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* firstWord */
         8: .line 1523
      StackMap locals: int java.lang.String
      StackMap stack:
            getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
            aload 4 /* firstWord */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.SunFontManager$FamilyDescription
            astore 5 /* fd */
        start local 5 // sun.font.SunFontManager$FamilyDescription fd
         9: .line 1524
            aload 5 /* fd */
            ifnonnull 11
        10: .line 1525
            aconst_null
            areturn
        11: .line 1533
      StackMap locals: sun.font.SunFontManager$FamilyDescription
      StackMap stack:
            iconst_m1
            istore 6 /* styleIndex */
        start local 6 // int styleIndex
        12: .line 1534
            aload 1 /* lcName */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.plainFullName:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 1535
            iconst_0
            istore 6 /* styleIndex */
        14: .line 1536
            goto 23
      StackMap locals: int
      StackMap stack:
        15: aload 1 /* lcName */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.boldFullName:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 1537
            iconst_1
            istore 6 /* styleIndex */
        17: .line 1538
            goto 23
      StackMap locals:
      StackMap stack:
        18: aload 1 /* lcName */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.italicFullName:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        19: .line 1539
            iconst_2
            istore 6 /* styleIndex */
        20: .line 1540
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 1 /* lcName */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.boldItalicFullName:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 1541
            iconst_3
            istore 6 /* styleIndex */
        23: .line 1543
      StackMap locals:
      StackMap stack:
            iload 6 /* styleIndex */
            iconst_m1
            if_icmpne 25
            aload 1 /* lcName */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.familyName:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 25
        24: .line 1544
            aconst_null
            areturn
        25: .line 1547
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* plainFile */
        start local 7 // java.lang.String plainFile
        26: aconst_null
            astore 8 /* boldFile */
        start local 8 // java.lang.String boldFile
        27: .line 1548
            aconst_null
            astore 9 /* italicFile */
        start local 9 // java.lang.String italicFile
        28: aconst_null
            astore 10 /* boldItalicFile */
        start local 10 // java.lang.String boldItalicFile
        29: .line 1550
            iconst_0
            istore 11 /* failure */
        start local 11 // boolean failure
        30: .line 1557
            aload 0 /* this */
            getstatic sun.font.SunFontManager.noType1Font:Z
            invokevirtual sun.font.SunFontManager.getPlatformFontDirs:(Z)[Ljava/lang/String;
            pop
        31: .line 1559
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.plainFileName:Ljava/lang/String;
            ifnull 35
        32: .line 1560
            aload 0 /* this */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.plainFileName:Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* plainFile */
        33: .line 1561
            aload 7 /* plainFile */
            ifnonnull 35
        34: .line 1562
            iconst_1
            istore 11 /* failure */
        35: .line 1566
      StackMap locals: sun.font.SunFontManager java.lang.String int int java.lang.String sun.font.SunFontManager$FamilyDescription int java.lang.String java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.boldFileName:Ljava/lang/String;
            ifnull 39
        36: .line 1567
            aload 0 /* this */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.boldFileName:Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* boldFile */
        37: .line 1568
            aload 8 /* boldFile */
            ifnonnull 39
        38: .line 1569
            iconst_1
            istore 11 /* failure */
        39: .line 1573
      StackMap locals:
      StackMap stack:
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.italicFileName:Ljava/lang/String;
            ifnull 43
        40: .line 1574
            aload 0 /* this */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.italicFileName:Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* italicFile */
        41: .line 1575
            aload 9 /* italicFile */
            ifnonnull 43
        42: .line 1576
            iconst_1
            istore 11 /* failure */
        43: .line 1580
      StackMap locals:
      StackMap stack:
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.boldItalicFileName:Ljava/lang/String;
            ifnull 47
        44: .line 1581
            aload 0 /* this */
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.boldItalicFileName:Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* boldItalicFile */
        45: .line 1582
            aload 10 /* boldItalicFile */
            ifnonnull 47
        46: .line 1583
            iconst_1
            istore 11 /* failure */
        47: .line 1587
      StackMap locals:
      StackMap stack:
            iload 11 /* failure */
            ifeq 53
        48: .line 1588
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 51
        49: .line 1589
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        50: .line 1590
            new java.lang.StringBuilder
            dup
            ldc "Hardcoded file missing looking for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* lcName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        51: .line 1592
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
            aload 4 /* firstWord */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        52: .line 1593
            aconst_null
            areturn
        53: .line 1597
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        54: .line 1598
            aload 7 /* plainFile */
            aastore
            dup
            iconst_1
            aload 8 /* boldFile */
            aastore
            dup
            iconst_2
            aload 9 /* italicFile */
            aastore
            dup
            iconst_3
            aload 10 /* boldItalicFile */
            aastore
        55: .line 1597
            astore 12 /* files */
        start local 12 // java.lang.String[] files
        56: .line 1601
            new sun.font.SunFontManager$5
            dup
            aload 0 /* this */
            aload 12 /* files */
            invokespecial sun.font.SunFontManager$5.<init>:(Lsun/font/SunFontManager;[Ljava/lang/String;)V
        57: .line 1600
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 11 /* failure */
        58: .line 1616
            iload 11 /* failure */
            ifeq 64
        59: .line 1617
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 62
        60: .line 1618
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        61: .line 1619
            new java.lang.StringBuilder
            dup
            ldc "Hardcoded file missing looking for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* lcName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        62: .line 1621
      StackMap locals: java.lang.String[]
      StackMap stack:
            getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
            aload 4 /* firstWord */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        63: .line 1622
            aconst_null
            areturn
        64: .line 1631
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 13 /* font */
        start local 13 // sun.font.Font2D font
        65: .line 1632
            iconst_0
            istore 14 /* f */
        start local 14 // int f
        66: goto 76
        67: .line 1633
      StackMap locals: sun.font.Font2D int
      StackMap stack:
            aload 12 /* files */
            iload 14 /* f */
            aaload
            ifnonnull 69
        68: .line 1634
            goto 75
        69: .line 1637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* files */
            iload 14 /* f */
            aaload
            aconst_null
        70: .line 1638
            iconst_0
            iconst_0
            iconst_3
        71: .line 1637
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
        72: .line 1636
            astore 15 /* pf */
        start local 15 // sun.font.PhysicalFont pf
        73: .line 1639
            iload 14 /* f */
            iload 6 /* styleIndex */
            if_icmpne 75
        74: .line 1640
            aload 15 /* pf */
            astore 13 /* font */
        end local 15 // sun.font.PhysicalFont pf
        75: .line 1632
      StackMap locals:
      StackMap stack:
            iinc 14 /* f */ 1
      StackMap locals:
      StackMap stack:
        76: iload 14 /* f */
            aload 12 /* files */
            arraylength
            if_icmplt 67
        end local 14 // int f
        77: .line 1657
            aload 5 /* fd */
            getfield sun.font.SunFontManager$FamilyDescription.familyName:Ljava/lang/String;
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 14 /* fontFamily */
        start local 14 // sun.font.FontFamily fontFamily
        78: .line 1658
            aload 14 /* fontFamily */
            ifnull 89
        79: .line 1659
            aload 13 /* font */
            ifnonnull 84
        80: .line 1660
            aload 14 /* fontFamily */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 13 /* font */
        81: .line 1661
            aload 13 /* font */
            ifnonnull 89
        82: .line 1662
            aload 14 /* fontFamily */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 13 /* font */
        83: .line 1664
            goto 89
      StackMap locals: sun.font.SunFontManager java.lang.String int int java.lang.String sun.font.SunFontManager$FamilyDescription int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] sun.font.Font2D sun.font.FontFamily
      StackMap stack:
        84: iload 2 /* style */
            ifle 89
            iload 2 /* style */
            aload 13 /* font */
            getfield sun.font.Font2D.style:I
            if_icmpeq 89
        85: .line 1665
            iload 2 /* style */
            aload 13 /* font */
            getfield sun.font.Font2D.style:I
            ior
            istore 2 /* style */
        86: .line 1666
            aload 14 /* fontFamily */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 13 /* font */
        87: .line 1667
            aload 13 /* font */
            ifnonnull 89
        88: .line 1668
            aload 14 /* fontFamily */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 13 /* font */
        89: .line 1673
      StackMap locals:
      StackMap stack:
            aload 13 /* font */
            areturn
        end local 14 // sun.font.FontFamily fontFamily
        end local 13 // sun.font.Font2D font
        end local 12 // java.lang.String[] files
        end local 11 // boolean failure
        end local 10 // java.lang.String boldItalicFile
        end local 9 // java.lang.String italicFile
        end local 8 // java.lang.String boldFile
        end local 7 // java.lang.String plainFile
        end local 6 // int styleIndex
        end local 5 // sun.font.SunFontManager$FamilyDescription fd
        end local 4 // java.lang.String firstWord
        end local 3 // int spaceIndex
        end local 2 // int style
        end local 1 // java.lang.String lcName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   90     0            this  Lsun/font/SunFontManager;
            0   90     1          lcName  Ljava/lang/String;
            0   90     2           style  I
            5   90     3      spaceIndex  I
            6   90     4       firstWord  Ljava/lang/String;
            9   90     5              fd  Lsun/font/SunFontManager$FamilyDescription;
           12   90     6      styleIndex  I
           26   90     7       plainFile  Ljava/lang/String;
           27   90     8        boldFile  Ljava/lang/String;
           28   90     9      italicFile  Ljava/lang/String;
           29   90    10  boldItalicFile  Ljava/lang/String;
           30   90    11         failure  Z
           56   90    12           files  [Ljava/lang/String;
           65   90    13            font  Lsun/font/Font2D;
           66   77    14               f  I
           73   75    15              pf  Lsun/font/PhysicalFont;
           78   90    14      fontFamily  Lsun/font/FontFamily;
    MethodParameters:
        Name  Flags
      lcName  
      style   

  private synchronized java.util.HashMap<java.lang.String, java.lang.String> getFullNameToFileMap();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1676
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            ifnonnull 14
         1: .line 1678
            aload 0 /* this */
            aload 0 /* this */
            getstatic sun.font.SunFontManager.noType1Font:Z
            invokevirtual sun.font.SunFontManager.getPlatformFontDirs:(Z)[Ljava/lang/String;
            putfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
         2: .line 1680
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 100
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
         3: .line 1681
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 100
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
         4: .line 1682
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 50
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
         5: .line 1683
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
         6: .line 1684
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
         7: .line 1685
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
         8: .line 1686
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
         9: .line 1683
            invokevirtual sun.font.SunFontManager.populateFontFileNameMap:(Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/Locale;)V
        10: .line 1687
            getstatic sun.font.FontUtilities.isWindows:Z
            ifeq 12
        11: .line 1688
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.resolveWindowsFonts:()V
        12: .line 1690
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 14
        13: .line 1691
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.logPlatformFontInfo:()V
        14: .line 1694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/font/SunFontManager;
    Signature: ()Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;

  private void logPlatformFontInfo();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1698
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            astore 1 /* logger */
        start local 1 // sun.util.logging.PlatformLogger logger
         1: .line 1699
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1700
      StackMap locals: sun.util.logging.PlatformLogger int
      StackMap stack:
            aload 1 /* logger */
            new java.lang.StringBuilder
            dup
            ldc "fontdir="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         4: .line 1699
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 1702
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: sun.font.SunFontManager sun.util.logging.PlatformLogger top java.util.Iterator
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* keyName */
        start local 2 // java.lang.String keyName
         8: .line 1703
            aload 1 /* logger */
            new java.lang.StringBuilder
            dup
            ldc "font="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* keyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " file="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 2 /* keyName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 2 // java.lang.String keyName
         9: .line 1702
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1705
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        11: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* keyName */
        start local 2 // java.lang.String keyName
        12: .line 1706
            aload 1 /* logger */
            new java.lang.StringBuilder
            dup
            ldc "font="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* keyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " family="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1707
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            aload 2 /* keyName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 1706
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 2 // java.lang.String keyName
        15: .line 1705
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 1709
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 21
      StackMap locals:
      StackMap stack:
        17: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* keyName */
        start local 2 // java.lang.String keyName
        18: .line 1710
            aload 1 /* logger */
            new java.lang.StringBuilder
            dup
            ldc "family="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* keyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " fonts="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 1711
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
            aload 2 /* keyName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1710
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 2 // java.lang.String keyName
        21: .line 1709
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        22: .line 1713
            return
        end local 1 // sun.util.logging.PlatformLogger logger
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lsun/font/SunFontManager;
            1   23     1   logger  Lsun/util/logging/PlatformLogger;
            2    6     2        i  I
            8    9     2  keyName  Ljava/lang/String;
           12   15     2  keyName  Ljava/lang/String;
           18   21     2  keyName  Ljava/lang/String;

  protected java.lang.String[] getFontNamesFromPlatform();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1717
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 2
         1: .line 1718
            aconst_null
            areturn
         2: .line 1720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.checkForUnreferencedFontFiles:()V
         3: .line 1723
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* fontNames */
        start local 1 // java.util.ArrayList fontNames
         4: .line 1724
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 2 /* a */
        start local 2 // java.util.ArrayList a
         6: .line 1725
            aload 2 /* a */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.ArrayList java.util.Iterator top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* s */
        start local 4 // java.lang.String s
         8: .line 1726
            aload 1 /* fontNames */
            aload 4 /* s */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String s
         9: .line 1725
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 2 // java.util.ArrayList a
        10: .line 1724
      StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 1729
            aload 1 /* fontNames */
            getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.ArrayList fontNames
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lsun/font/SunFontManager;
            4   12     1  fontNames  Ljava/util/ArrayList<Ljava/lang/String;>;
            6   10     2          a  Ljava/util/ArrayList<Ljava/lang/String;>;
            8    9     4          s  Ljava/lang/String;

  public boolean gotFontsFromPlatform();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 1733
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/SunFontManager;

  public java.lang.String getFileNameForFontName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fontName
         0: .line 1737
            aload 1 /* fontName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 2 /* fontNameLC */
        start local 2 // java.lang.String fontNameLC
         1: .line 1738
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 2 /* fontNameLC */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // java.lang.String fontNameLC
        end local 1 // java.lang.String fontName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/font/SunFontManager;
            0    2     1    fontName  Ljava/lang/String;
            1    2     2  fontNameLC  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fontName  

  private sun.font.PhysicalFont registerFontFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/font/PhysicalFont;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String file
         0: .line 1742
            new java.io.File
            dup
            aload 1 /* file */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.isAbsolute:()Z
            ifeq 14
         1: .line 1743
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* file */
            invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 14
         2: .line 1744
            iconst_m1
            istore 2 /* fontFormat */
        start local 2 // int fontFormat
         3: .line 1745
            bipush 6
            istore 3 /* fontRank */
        start local 3 // int fontRank
         4: .line 1746
            getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
            aconst_null
            aload 1 /* file */
            invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
            ifeq 8
         5: .line 1747
            iconst_0
            istore 2 /* fontFormat */
         6: .line 1748
            iconst_3
            istore 3 /* fontRank */
         7: .line 1749
            goto 11
         8: .line 1750
      StackMap locals: int int
      StackMap stack:
            getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
            aconst_null
            aload 1 /* file */
            invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
            ifeq 11
         9: .line 1751
            iconst_1
            istore 2 /* fontFormat */
        10: .line 1752
            iconst_4
            istore 3 /* fontRank */
        11: .line 1754
      StackMap locals:
      StackMap stack:
            iload 2 /* fontFormat */
            iconst_m1
            if_icmpne 13
        12: .line 1755
            aconst_null
            areturn
        13: .line 1757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* file */
            aconst_null
            iload 2 /* fontFormat */
            iconst_0
            iload 3 /* fontRank */
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            areturn
        end local 3 // int fontRank
        end local 2 // int fontFormat
        14: .line 1759
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String file
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/font/SunFontManager;
            0   15     1        file  Ljava/lang/String;
            3   14     2  fontFormat  I
            4   14     3    fontRank  I
    MethodParameters:
      Name  Flags
      file  

  protected void registerOtherFontFiles(java.util.HashSet<java.lang.String>);
    descriptor: (Ljava/util/HashSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.HashSet registeredFontFiles
         0: .line 1771
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 2
         1: .line 1772
            return
         2: .line 1774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: sun.font.SunFontManager java.util.HashSet top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* file */
        start local 2 // java.lang.String file
         4: .line 1775
            aload 0 /* this */
            aload 2 /* file */
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;)Lsun/font/PhysicalFont;
            pop
        end local 2 // java.lang.String file
         5: .line 1774
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1777
            return
        end local 1 // java.util.HashSet registeredFontFiles
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lsun/font/SunFontManager;
            0    7     1  registeredFontFiles  Ljava/util/HashSet<Ljava/lang/String;>;
            4    5     2                 file  Ljava/lang/String;
    Signature: (Ljava/util/HashSet<Ljava/lang/String;>;)V
    MethodParameters:
                     Name  Flags
      registeredFontFiles  

  public boolean getFamilyNamesFromPlatform(java.util.TreeMap<java.lang.String, java.lang.String>, java.util.Locale);
    descriptor: (Ljava/util/TreeMap;Ljava/util/Locale;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.TreeMap familyNames
        start local 2 // java.util.Locale requestedLocale
         0: .line 1782
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 2
         1: .line 1783
            iconst_0
            ireturn
         2: .line 1785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.checkForUnreferencedFontFiles:()V
         3: .line 1786
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: sun.font.SunFontManager java.util.TreeMap java.util.Locale top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 1787
            aload 1 /* familyNames */
            aload 3 /* name */
            aload 2 /* requestedLocale */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 3 /* name */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String name
         6: .line 1786
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1789
            iconst_1
            ireturn
        end local 2 // java.util.Locale requestedLocale
        end local 1 // java.util.TreeMap familyNames
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lsun/font/SunFontManager;
            0    8     1      familyNames  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
            0    8     2  requestedLocale  Ljava/util/Locale;
            5    6     3             name  Ljava/lang/String;
    Signature: (Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Locale;)Z
    MethodParameters:
                 Name  Flags
      familyNames      
      requestedLocale  

  private java.lang.String getPathName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String s
         0: .line 1796
            new java.io.File
            dup
            aload 1 /* s */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* f */
        start local 2 // java.io.File f
         1: .line 1797
            aload 2 /* f */
            invokevirtual java.io.File.isAbsolute:()Z
            ifeq 3
         2: .line 1798
            aload 1 /* s */
            areturn
         3: .line 1799
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            arraylength
            iconst_1
            if_icmpne 5
         4: .line 1800
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            iconst_0
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 1803
      StackMap locals:
      StackMap stack:
            new sun.font.SunFontManager$6
            dup
            aload 0 /* this */
            aload 1 /* s */
            invokespecial sun.font.SunFontManager$6.<init>:(Lsun/font/SunFontManager;Ljava/lang/String;)V
         6: .line 1802
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* path */
        start local 3 // java.lang.String path
         7: .line 1814
            aload 3 /* path */
            ifnull 9
         8: .line 1815
            aload 3 /* path */
            areturn
        end local 3 // java.lang.String path
         9: .line 1818
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            areturn
        end local 2 // java.io.File f
        end local 1 // java.lang.String s
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/font/SunFontManager;
            0   10     1     s  Ljava/lang/String;
            1   10     2     f  Ljava/io/File;
            7    9     3  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     final

  private sun.font.Font2D findFontFromPlatform(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lsun/font/Font2D;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String lcName
        start local 2 // int style
         0: .line 1842
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 2
         1: .line 1843
            aconst_null
            areturn
         2: .line 1846
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* family */
        start local 3 // java.util.ArrayList family
         3: .line 1847
            aconst_null
            astore 4 /* fontFile */
        start local 4 // java.lang.String fontFile
         4: .line 1848
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            aload 1 /* lcName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* familyName */
        start local 5 // java.lang.String familyName
         5: .line 1849
            aload 5 /* familyName */
            ifnull 11
         6: .line 1850
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 1 /* lcName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* fontFile */
         7: .line 1851
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
         8: .line 1852
            aload 5 /* familyName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
         9: .line 1851
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 3 /* family */
        10: .line 1853
            goto 16
        11: .line 1854
      StackMap locals: java.util.ArrayList java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
            aload 1 /* lcName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 3 /* family */
        12: .line 1855
            aload 3 /* family */
            ifnull 16
            aload 3 /* family */
            invokevirtual java.util.ArrayList.size:()I
            ifle 16
        13: .line 1856
            aload 3 /* family */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 6 /* lcFontName */
        start local 6 // java.lang.String lcFontName
        14: .line 1857
            aload 6 /* lcFontName */
            ifnull 16
        15: .line 1858
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
            aload 6 /* lcFontName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* familyName */
        end local 6 // java.lang.String lcFontName
        16: .line 1862
      StackMap locals:
      StackMap stack:
            aload 3 /* family */
            ifnull 17
            aload 5 /* familyName */
            ifnonnull 18
        17: .line 1863
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        18: .line 1865
      StackMap locals:
      StackMap stack:
            aload 3 /* family */
            getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 6 /* fontList */
        start local 6 // java.lang.String[] fontList
        19: .line 1866
            aload 6 /* fontList */
            arraylength
            ifne 21
        20: .line 1867
            aconst_null
            areturn
        21: .line 1881
      StackMap locals: java.lang.String[]
      StackMap stack:
            iconst_0
            istore 7 /* f */
        start local 7 // int f
        22: goto 33
        23: .line 1882
      StackMap locals: int
      StackMap stack:
            aload 6 /* fontList */
            iload 7 /* f */
            aaload
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 8 /* fontNameLC */
        start local 8 // java.lang.String fontNameLC
        24: .line 1883
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 8 /* fontNameLC */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* fileName */
        start local 9 // java.lang.String fileName
        25: .line 1884
            aload 9 /* fileName */
            ifnonnull 32
        26: .line 1885
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 31
        27: .line 1886
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        28: .line 1887
            new java.lang.StringBuilder
            dup
            ldc "Platform lookup : No file for font "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 1888
            aload 6 /* fontList */
            iload 7 /* f */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in family "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* familyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 1887
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        31: .line 1890
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.lang.String fileName
        end local 8 // java.lang.String fontNameLC
        32: .line 1881
      StackMap locals:
      StackMap stack:
            iinc 7 /* f */ 1
      StackMap locals:
      StackMap stack:
        33: iload 7 /* f */
            aload 6 /* fontList */
            arraylength
            if_icmplt 23
        end local 7 // int f
        34: .line 1897
            aconst_null
            astore 7 /* physicalFont */
        start local 7 // sun.font.PhysicalFont physicalFont
        35: .line 1898
            aload 4 /* fontFile */
            ifnull 40
        36: .line 1899
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* fontFile */
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        37: .line 1900
            iconst_0
            iconst_0
        38: .line 1901
            iconst_3
        39: .line 1899
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            astore 7 /* physicalFont */
        40: .line 1904
      StackMap locals: sun.font.SunFontManager java.lang.String int java.util.ArrayList java.lang.String java.lang.String java.lang.String[] sun.font.PhysicalFont
      StackMap stack:
            iconst_0
            istore 8 /* f */
        start local 8 // int f
        41: goto 50
        42: .line 1905
      StackMap locals: int
      StackMap stack:
            aload 6 /* fontList */
            iload 8 /* f */
            aaload
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 9 /* fontNameLC */
        start local 9 // java.lang.String fontNameLC
        43: .line 1906
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
            aload 9 /* fontNameLC */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* fileName */
        start local 10 // java.lang.String fileName
        44: .line 1907
            aload 4 /* fontFile */
            ifnull 46
            aload 4 /* fontFile */
            aload 10 /* fileName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 46
        45: .line 1908
            goto 49
        46: .line 1913
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 10 /* fileName */
            invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        47: .line 1914
            iconst_0
            iconst_0
            iconst_3
        48: .line 1913
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            pop
        end local 10 // java.lang.String fileName
        end local 9 // java.lang.String fontNameLC
        49: .line 1904
      StackMap locals:
      StackMap stack:
            iinc 8 /* f */ 1
      StackMap locals:
      StackMap stack:
        50: iload 8 /* f */
            aload 6 /* fontList */
            arraylength
            if_icmplt 42
        end local 8 // int f
        51: .line 1917
            aconst_null
            astore 8 /* font */
        start local 8 // sun.font.Font2D font
        52: .line 1918
            aload 5 /* familyName */
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 9 /* fontFamily */
        start local 9 // sun.font.FontFamily fontFamily
        53: .line 1920
            aload 7 /* physicalFont */
            ifnull 55
        54: .line 1921
            iload 2 /* style */
            aload 7 /* physicalFont */
            getfield sun.font.PhysicalFont.style:I
            ior
            istore 2 /* style */
        55: .line 1923
      StackMap locals: sun.font.SunFontManager java.lang.String int java.util.ArrayList java.lang.String java.lang.String java.lang.String[] sun.font.PhysicalFont sun.font.Font2D sun.font.FontFamily
      StackMap stack:
            aload 9 /* fontFamily */
            ifnull 59
        56: .line 1924
            aload 9 /* fontFamily */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 8 /* font */
        57: .line 1925
            aload 8 /* font */
            ifnonnull 59
        58: .line 1926
            aload 9 /* fontFamily */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 8 /* font */
        59: .line 1929
      StackMap locals:
      StackMap stack:
            aload 8 /* font */
            areturn
        end local 9 // sun.font.FontFamily fontFamily
        end local 8 // sun.font.Font2D font
        end local 7 // sun.font.PhysicalFont physicalFont
        end local 6 // java.lang.String[] fontList
        end local 5 // java.lang.String familyName
        end local 4 // java.lang.String fontFile
        end local 3 // java.util.ArrayList family
        end local 2 // int style
        end local 1 // java.lang.String lcName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   60     0          this  Lsun/font/SunFontManager;
            0   60     1        lcName  Ljava/lang/String;
            0   60     2         style  I
            3   60     3        family  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   60     4      fontFile  Ljava/lang/String;
            5   60     5    familyName  Ljava/lang/String;
           14   16     6    lcFontName  Ljava/lang/String;
           19   60     6      fontList  [Ljava/lang/String;
           22   34     7             f  I
           24   32     8    fontNameLC  Ljava/lang/String;
           25   32     9      fileName  Ljava/lang/String;
           35   60     7  physicalFont  Lsun/font/PhysicalFont;
           41   51     8             f  I
           43   49     9    fontNameLC  Ljava/lang/String;
           44   49    10      fileName  Ljava/lang/String;
           52   60     8          font  Lsun/font/Font2D;
           53   60     9    fontFamily  Lsun/font/FontFamily;
    MethodParameters:
        Name  Flags
      lcName  
      style   

  public sun.font.Font2D findFont2D(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Lsun/font/Font2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
        start local 2 // int style
        start local 3 // int fallback
         0: .line 1943
            aload 1 /* name */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 4 /* lowerCaseName */
        start local 4 // java.lang.String lowerCaseName
         1: .line 1944
            new java.lang.StringBuilder
            dup
            aload 4 /* lowerCaseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* style */
            invokestatic sun.font.SunFontManager.dotStyleStr:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* mapName */
        start local 5 // java.lang.String mapName
         2: .line 1952
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 6 /* font */
        start local 6 // sun.font.Font2D font
         3: .line 1953
            aload 6 /* font */
            ifnull 5
         4: .line 1954
            aload 6 /* font */
            areturn
         5: .line 1957
      StackMap locals: java.lang.String java.lang.String sun.font.Font2D
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 7
         6: .line 1958
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Search for font: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         7: .line 1967
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isWindows:Z
            ifeq 13
         8: .line 1968
            aload 4 /* lowerCaseName */
            ldc "ms sans serif"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1969
            ldc "sansserif"
            astore 1 /* name */
        10: .line 1970
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 4 /* lowerCaseName */
            ldc "ms serif"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 1971
            ldc "serif"
            astore 1 /* name */
        13: .line 1983
      StackMap locals:
      StackMap stack:
            aload 4 /* lowerCaseName */
            ldc "default"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 1984
            ldc "dialog"
            astore 1 /* name */
        15: .line 1988
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 7 /* family */
        start local 7 // sun.font.FontFamily family
        16: .line 1989
            aload 7 /* family */
            ifnull 29
        17: .line 1990
            aload 7 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFontWithExactStyleMatch:(I)Lsun/font/Font2D;
            astore 6 /* font */
        18: .line 1991
            aload 6 /* font */
            ifnonnull 20
        19: .line 1992
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
            astore 6 /* font */
        20: .line 1994
      StackMap locals: sun.font.FontFamily
      StackMap stack:
            aload 6 /* font */
            ifnonnull 22
        21: .line 1995
            aload 0 /* this */
            aload 4 /* lowerCaseName */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findFontFromPlatform:(Ljava/lang/String;I)Lsun/font/Font2D;
            astore 6 /* font */
        22: .line 1997
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            ifnonnull 24
        23: .line 1998
            aload 7 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 6 /* font */
        24: .line 2000
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            ifnonnull 26
        25: .line 2001
            aload 7 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 6 /* font */
        26: .line 2003
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            ifnull 29
        27: .line 2004
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 2005
            aload 6 /* font */
            areturn
        29: .line 2012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
            aload 4 /* lowerCaseName */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 6 /* font */
        30: .line 2013
            aload 6 /* font */
            ifnull 45
        31: .line 2026
            aload 6 /* font */
            getfield sun.font.Font2D.style:I
            iload 2 /* style */
            if_icmpeq 32
            iload 2 /* style */
            ifne 34
        32: .line 2027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 2028
            aload 6 /* font */
            areturn
        34: .line 2036
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            aconst_null
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 7 /* family */
        35: .line 2037
            aload 7 /* family */
            ifnull 45
        36: .line 2038
            aload 7 /* family */
            iload 2 /* style */
            aload 6 /* font */
            getfield sun.font.Font2D.style:I
            ior
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 8 /* familyFont */
        start local 8 // sun.font.Font2D familyFont
        37: .line 2040
            aload 8 /* familyFont */
            ifnull 40
        38: .line 2041
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 8 /* familyFont */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 2042
            aload 8 /* familyFont */
            areturn
        40: .line 2049
      StackMap locals: sun.font.Font2D
      StackMap stack:
            aload 7 /* family */
            iload 2 /* style */
            aload 6 /* font */
            getfield sun.font.Font2D.style:I
            ior
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 8 /* familyFont */
        41: .line 2050
            aload 8 /* familyFont */
            ifnull 45
        42: .line 2058
            aload 8 /* familyFont */
            iload 2 /* style */
            aload 6 /* font */
            getfield sun.font.Font2D.style:I
            ior
            invokevirtual sun.font.Font2D.canDoStyle:(I)Z
            ifeq 45
        43: .line 2059
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 8 /* familyFont */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 2060
            aload 8 /* familyFont */
            areturn
        end local 8 // sun.font.Font2D familyFont
        45: .line 2068
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isWindows:Z
            ifeq 68
        46: .line 2070
            aload 0 /* this */
            aload 4 /* lowerCaseName */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findFontFromPlatformMap:(Ljava/lang/String;I)Lsun/font/Font2D;
            astore 6 /* font */
        47: .line 2071
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 50
        48: .line 2072
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        49: .line 2073
            new java.lang.StringBuilder
            dup
            ldc "findFontFromPlatformMap returned "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* font */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        50: .line 2075
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            ifnull 53
        51: .line 2076
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        52: .line 2077
            aload 6 /* font */
            areturn
        53: .line 2083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            ifle 58
        54: .line 2084
            aload 0 /* this */
            aload 4 /* lowerCaseName */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findJREDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
            astore 6 /* font */
        55: .line 2085
            aload 6 /* font */
            ifnull 58
        56: .line 2086
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        57: .line 2087
            aload 6 /* font */
            areturn
        58: .line 2090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* lowerCaseName */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findFontFromPlatform:(Ljava/lang/String;I)Lsun/font/Font2D;
            astore 6 /* font */
        59: .line 2091
            aload 6 /* font */
            ifnull 68
        60: .line 2092
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 66
        61: .line 2093
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        62: .line 2094
            new java.lang.StringBuilder
            dup
            ldc "Found font via platform API for request:\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2095
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\":, style="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* style */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        64: .line 2096
            ldc " found font: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* font */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        65: .line 2094
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        66: .line 2098
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        67: .line 2099
            aload 6 /* font */
            areturn
        68: .line 2115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            ifle 73
        69: .line 2116
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
            astore 6 /* font */
        70: .line 2117
            aload 6 /* font */
            ifnull 73
        71: .line 2118
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        72: .line 2119
            aload 6 /* font */
            areturn
        73: .line 2136
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isSolaris:Z
            ifeq 81
            aload 0 /* this */
            getfield sun.font.SunFontManager.loaded1dot0Fonts:Z
            ifne 81
        74: .line 2140
            aload 4 /* lowerCaseName */
            ldc "timesroman"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 77
        75: .line 2141
            aload 0 /* this */
            ldc "serif"
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 6 /* font */
        76: .line 2142
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        77: .line 2144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.register1dot0Fonts:()V
        78: .line 2145
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.loaded1dot0Fonts:Z
        79: .line 2146
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 8 /* ff */
        start local 8 // sun.font.Font2D ff
        80: .line 2147
            aload 8 /* ff */
            areturn
        end local 8 // sun.font.Font2D ff
        81: .line 2160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontsAreRegistered:Z
            ifeq 100
        82: .line 2161
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
            astore 8 /* familyTable */
        start local 8 // java.util.Hashtable familyTable
        83: .line 2162
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
            astore 9 /* nameTable */
        start local 9 // java.util.Hashtable nameTable
        84: .line 2164
            aload 8 /* familyTable */
            aload 4 /* lowerCaseName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.FontFamily
            astore 7 /* family */
        85: .line 2165
            aload 7 /* family */
            ifnull 95
        86: .line 2166
            aload 7 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFontWithExactStyleMatch:(I)Lsun/font/Font2D;
            astore 6 /* font */
        87: .line 2167
            aload 6 /* font */
            ifnonnull 89
        88: .line 2168
            aload 7 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 6 /* font */
        89: .line 2170
      StackMap locals: java.util.Hashtable java.util.Hashtable
      StackMap stack:
            aload 6 /* font */
            ifnonnull 91
        90: .line 2171
            aload 7 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 6 /* font */
        91: .line 2173
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            ifnull 95
        92: .line 2174
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontsAreRegistered:Z
            ifeq 94
        93: .line 2175
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        94: .line 2177
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            areturn
        95: .line 2180
      StackMap locals:
      StackMap stack:
            aload 9 /* nameTable */
            aload 4 /* lowerCaseName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 6 /* font */
        96: .line 2181
            aload 6 /* font */
            ifnull 100
        97: .line 2182
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontsAreRegistered:Z
            ifeq 99
        98: .line 2183
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        99: .line 2185
      StackMap locals:
      StackMap stack:
            aload 6 /* font */
            areturn
        end local 9 // java.util.Hashtable nameTable
        end local 8 // java.util.Hashtable familyTable
       100: .line 2192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.loadedAllFonts:Z
            ifne 107
       101: .line 2193
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 104
       102: .line 2194
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
       103: .line 2195
            new java.lang.StringBuilder
            dup
            ldc "Load fonts looking for:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
       104: .line 2197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.loadFonts:()V
       105: .line 2198
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.loadedAllFonts:Z
       106: .line 2199
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            areturn
       107: .line 2202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.loadedAllFontFiles:Z
            ifne 114
       108: .line 2203
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 111
       109: .line 2204
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
       110: .line 2205
            new java.lang.StringBuilder
            dup
            ldc "Load font files looking for:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
       111: .line 2207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.loadFontFiles:()V
       112: .line 2208
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.loadedAllFontFiles:Z
       113: .line 2209
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            areturn
       114: .line 2227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.findFont2DAllLocales:(Ljava/lang/String;I)Lsun/font/Font2D;
            dup
            astore 6 /* font */
            ifnull 117
       115: .line 2228
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       116: .line 2229
            aload 6 /* font */
            areturn
       117: .line 2242
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isWindows:Z
            ifeq 124
       118: .line 2244
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFontConfiguration:()Lsun/awt/FontConfiguration;
            aload 1 /* name */
            aconst_null
            invokevirtual sun.awt.FontConfiguration.getFallbackFamilyName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
       119: .line 2243
            astore 8 /* compatName */
        start local 8 // java.lang.String compatName
       120: .line 2245
            aload 8 /* compatName */
            ifnull 136
       121: .line 2246
            aload 0 /* this */
            aload 8 /* compatName */
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 6 /* font */
       122: .line 2247
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       123: .line 2248
            aload 6 /* font */
            areturn
        end local 8 // java.lang.String compatName
       124: .line 2250
      StackMap locals:
      StackMap stack:
            aload 4 /* lowerCaseName */
            ldc "timesroman"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 128
       125: .line 2251
            aload 0 /* this */
            ldc "serif"
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 6 /* font */
       126: .line 2252
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       127: .line 2253
            aload 6 /* font */
            areturn
       128: .line 2254
      StackMap locals:
      StackMap stack:
            aload 4 /* lowerCaseName */
            ldc "helvetica"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 132
       129: .line 2255
            aload 0 /* this */
            ldc "sansserif"
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 6 /* font */
       130: .line 2256
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       131: .line 2257
            aload 6 /* font */
            areturn
       132: .line 2258
      StackMap locals:
      StackMap stack:
            aload 4 /* lowerCaseName */
            ldc "courier"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 136
       133: .line 2259
            aload 0 /* this */
            ldc "monospaced"
            iload 2 /* style */
            iload 3 /* fallback */
            invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 6 /* font */
       134: .line 2260
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* mapName */
            aload 6 /* font */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       135: .line 2261
            aload 6 /* font */
            areturn
       136: .line 2264
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 138
       137: .line 2265
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "No font found for:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
       138: .line 2268
      StackMap locals:
      StackMap stack:
            iload 3 /* fallback */
            tableswitch { // 1 - 2
                    1: 139
                    2: 140
              default: 141
          }
       139: .line 2269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
            areturn
       140: .line 2270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* style */
            invokevirtual sun.font.SunFontManager.getDefaultLogicalFont:(I)Lsun/font/Font2D;
            areturn
       141: .line 2271
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // sun.font.FontFamily family
        end local 6 // sun.font.Font2D font
        end local 5 // java.lang.String mapName
        end local 4 // java.lang.String lowerCaseName
        end local 3 // int fallback
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  142     0           this  Lsun/font/SunFontManager;
            0  142     1           name  Ljava/lang/String;
            0  142     2          style  I
            0  142     3       fallback  I
            1  142     4  lowerCaseName  Ljava/lang/String;
            2  142     5        mapName  Ljava/lang/String;
            3  142     6           font  Lsun/font/Font2D;
           16  142     7         family  Lsun/font/FontFamily;
           37   45     8     familyFont  Lsun/font/Font2D;
           80   81     8             ff  Lsun/font/Font2D;
           83  100     8    familyTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
           84  100     9      nameTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
          120  124     8     compatName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      name      
      style     
      fallback  

  public boolean usePlatformFontMetrics();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2281
            aload 0 /* this */
            getfield sun.font.SunFontManager.usePlatformFontMetrics:Z
            ireturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public int getNumFonts();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2285
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            aload 0 /* this */
            getfield sun.font.SunFontManager.maxCompFont:I
            iadd
            ireturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  private static boolean fontSupportsEncoding(java.awt.Font, java.lang.String);
    descriptor: (Ljava/awt/Font;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.Font font
        start local 1 // java.lang.String encoding
         0: .line 2289
            aload 0 /* font */
            invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
            aload 1 /* encoding */
            invokevirtual sun.font.Font2D.supportsEncoding:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String encoding
        end local 0 // java.awt.Font font
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      font  Ljava/awt/Font;
            0    1     1  encoding  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      font      
      encoding  

  protected abstract java.lang.String getFontPath(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      noType1Fonts  

  public sun.font.Font2D[] createFont2D(java.io.File, int, boolean, boolean, sun.font.CreatedFontTracker);
    descriptor: (Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, args_size=6
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.io.File fontFile
        start local 2 // int fontFormat
        start local 3 // boolean all
        start local 4 // boolean isCopy
        start local 5 // sun.font.CreatedFontTracker tracker
         0: .line 2303
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* fList */
        start local 6 // java.util.List fList
         1: .line 2304
            iconst_1
            istore 7 /* cnt */
        start local 7 // int cnt
         2: .line 2305
            aload 1 /* fontFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            astore 8 /* fontFilePath */
        start local 8 // java.lang.String fontFilePath
         3: .line 2306
            aconst_null
            astore 9 /* font2D */
        start local 9 // sun.font.FileFont font2D
         4: .line 2307
            aload 1 /* fontFile */
            astore 10 /* fFile */
        start local 10 // java.io.File fFile
         5: .line 2308
            aload 5 /* tracker */
            astore 11 /* _tracker */
        start local 11 // sun.font.CreatedFontTracker _tracker
         6: .line 2309
            iconst_0
            istore 12 /* weakRefs */
        start local 12 // boolean weakRefs
         7: .line 2310
            iconst_0
            istore 13 /* maxStrikes */
        start local 13 // int maxStrikes
         8: .line 2311
            aload 0 /* this */
            dup
            astore 14
            monitorenter
         9: .line 2312
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdFontCount:I
            getstatic sun.font.SunFontManager.maxSoftRefCnt:I
            if_icmpge 12
        10: .line 2313
            aload 0 /* this */
            dup
            getfield sun.font.SunFontManager.createdFontCount:I
            iconst_1
            iadd
            putfield sun.font.SunFontManager.createdFontCount:I
        11: .line 2314
            goto 14
        12: .line 2315
      StackMap locals: sun.font.SunFontManager java.io.File int int int sun.font.CreatedFontTracker java.util.List int java.lang.String sun.font.FileFont java.io.File sun.font.CreatedFontTracker int int sun.font.SunFontManager
      StackMap stack:
            iconst_1
            istore 12 /* weakRefs */
        13: .line 2316
            bipush 10
            istore 13 /* maxStrikes */
        14: .line 2311
      StackMap locals:
      StackMap stack:
            aload 14
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 14
            monitorexit
        17: athrow
        18: .line 2320
      StackMap locals:
      StackMap stack:
            iload 2 /* fontFormat */
            tableswitch { // 0 - 1
                    0: 19
                    1: 32
              default: 36
          }
        19: .line 2322
      StackMap locals:
      StackMap stack:
            new sun.font.TrueTypeFont
            dup
            aload 8 /* fontFilePath */
            aconst_null
            iconst_0
            iconst_1
            invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
            astore 9 /* font2D */
        20: .line 2323
            aload 9 /* font2D */
            iload 12 /* weakRefs */
            iload 13 /* maxStrikes */
            invokevirtual sun.font.FileFont.setUseWeakRefs:(ZI)V
        21: .line 2324
            aload 6 /* fList */
            aload 9 /* font2D */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 2325
            iload 3 /* all */
            ifne 24
        23: .line 2326
            goto 42
        24: .line 2328
      StackMap locals:
      StackMap stack:
            aload 9 /* font2D */
            checkcast sun.font.TrueTypeFont
            invokevirtual sun.font.TrueTypeFont.getFontCount:()I
            istore 7 /* cnt */
        25: .line 2329
            iconst_1
            istore 14 /* index */
        start local 14 // int index
        26: .line 2330
            goto 30
        27: .line 2331
      StackMap locals: int
      StackMap stack:
            new sun.font.TrueTypeFont
            dup
            aload 8 /* fontFilePath */
            aconst_null
            iload 14 /* index */
            iinc 14 /* index */ 1
            iconst_1
            invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
            astore 9 /* font2D */
        28: .line 2332
            aload 9 /* font2D */
            iload 12 /* weakRefs */
            iload 13 /* maxStrikes */
            invokevirtual sun.font.FileFont.setUseWeakRefs:(ZI)V
        29: .line 2333
            aload 6 /* fList */
            aload 9 /* font2D */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 2330
      StackMap locals:
      StackMap stack:
            iload 14 /* index */
            iload 7 /* cnt */
            if_icmplt 27
        31: .line 2335
            goto 42
        end local 14 // int index
        32: .line 2337
      StackMap locals:
      StackMap stack:
            new sun.font.Type1Font
            dup
            aload 8 /* fontFilePath */
            aconst_null
            iload 4 /* isCopy */
            invokespecial sun.font.Type1Font.<init>:(Ljava/lang/String;Ljava/lang/Object;Z)V
            astore 9 /* font2D */
        33: .line 2338
            aload 9 /* font2D */
            iload 12 /* weakRefs */
            iload 13 /* maxStrikes */
            invokevirtual sun.font.FileFont.setUseWeakRefs:(ZI)V
        34: .line 2339
            aload 6 /* fList */
            aload 9 /* font2D */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 2340
            goto 42
        36: .line 2342
      StackMap locals:
      StackMap stack:
            new java.awt.FontFormatException
            dup
            ldc "Unrecognised Font Format"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 2344
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
            astore 14 /* e */
        start local 14 // java.awt.FontFormatException e
        38: .line 2345
            iload 4 /* isCopy */
            ifeq 41
        39: .line 2347
            new sun.font.SunFontManager$7
            dup
            aload 0 /* this */
            aload 11 /* _tracker */
            aload 10 /* fFile */
            invokespecial sun.font.SunFontManager$7.<init>:(Lsun/font/SunFontManager;Lsun/font/CreatedFontTracker;Ljava/io/File;)V
        40: .line 2346
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        41: .line 2357
      StackMap locals: java.awt.FontFormatException
      StackMap stack:
            aload 14 /* e */
            athrow
        end local 14 // java.awt.FontFormatException e
        42: .line 2359
      StackMap locals:
      StackMap stack:
            iload 4 /* isCopy */
            ifeq 55
        43: .line 2360
            aload 6 /* fList */
            aload 1 /* fontFile */
            iload 7 /* cnt */
            aload 5 /* tracker */
            invokestatic sun.font.FileFont.setFileToRemove:(Ljava/util/List;Ljava/io/File;ILsun/font/CreatedFontTracker;)V
        44: .line 2361
            ldc Lsun/font/FontManager;
            dup
            astore 14
            monitorenter
        45: .line 2363
            aload 0 /* this */
            getfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
            ifnonnull 47
        46: .line 2364
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
        47: .line 2366
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
            aload 1 /* fontFile */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        48: .line 2368
            aload 0 /* this */
            getfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
            ifnonnull 51
        49: .line 2369
            new sun.font.SunFontManager$8
            dup
            aload 0 /* this */
            invokespecial sun.font.SunFontManager$8.<init>:(Lsun/font/SunFontManager;)V
            astore 15 /* fileCloserRunnable */
        start local 15 // java.lang.Runnable fileCloserRunnable
        50: .line 2400
            aload 0 /* this */
            aload 15 /* fileCloserRunnable */
            invokedynamic run(Lsun/font/SunFontManager;Ljava/lang/Runnable;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  sun/font/SunFontManager.lambda$1(Ljava/lang/Runnable;)Ljava/lang/Void; (7)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 15 // java.lang.Runnable fileCloserRunnable
        51: .line 2361
      StackMap locals:
      StackMap stack:
            aload 14
            monitorexit
        52: goto 55
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: aload 14
            monitorexit
        54: athrow
        55: .line 2411
      StackMap locals:
      StackMap stack:
            aload 6 /* fList */
            iconst_0
            anewarray sun.font.Font2D
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.font.Font2D[]
            areturn
        end local 13 // int maxStrikes
        end local 12 // boolean weakRefs
        end local 11 // sun.font.CreatedFontTracker _tracker
        end local 10 // java.io.File fFile
        end local 9 // sun.font.FileFont font2D
        end local 8 // java.lang.String fontFilePath
        end local 7 // int cnt
        end local 6 // java.util.List fList
        end local 5 // sun.font.CreatedFontTracker tracker
        end local 4 // boolean isCopy
        end local 3 // boolean all
        end local 2 // int fontFormat
        end local 1 // java.io.File fontFile
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   56     0                this  Lsun/font/SunFontManager;
            0   56     1            fontFile  Ljava/io/File;
            0   56     2          fontFormat  I
            0   56     3                 all  Z
            0   56     4              isCopy  Z
            0   56     5             tracker  Lsun/font/CreatedFontTracker;
            1   56     6               fList  Ljava/util/List<Lsun/font/Font2D;>;
            2   56     7                 cnt  I
            3   56     8        fontFilePath  Ljava/lang/String;
            4   56     9              font2D  Lsun/font/FileFont;
            5   56    10               fFile  Ljava/io/File;
            6   56    11            _tracker  Lsun/font/CreatedFontTracker;
            7   56    12            weakRefs  Z
            8   56    13          maxStrikes  I
           26   32    14               index  I
           38   42    14                   e  Ljava/awt/FontFormatException;
           50   51    15  fileCloserRunnable  Ljava/lang/Runnable;
      Exception table:
        from    to  target  type
           9    15      16  any
          16    17      16  any
          18    37      37  Class java.awt.FontFormatException
          45    52      53  any
          53    54      53  any
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
            Name  Flags
      fontFile    
      fontFormat  
      all         
      isCopy      
      tracker     

  public synchronized java.lang.String getFullNameByFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fileName
         0: .line 2418
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 2 /* physFonts */
        start local 2 // sun.font.PhysicalFont[] physFonts
         1: .line 2419
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 2420
      StackMap locals: sun.font.PhysicalFont[] int
      StackMap stack:
            aload 2 /* physFonts */
            iload 3 /* i */
            aaload
            getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
            aload 1 /* fileName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 2421
            aload 2 /* physFonts */
            iload 3 /* i */
            aaload
            aconst_null
            invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
         5: .line 2419
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* physFonts */
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 2424
            aconst_null
            areturn
        end local 2 // sun.font.PhysicalFont[] physFonts
        end local 1 // java.lang.String fileName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/font/SunFontManager;
            0    8     1   fileName  Ljava/lang/String;
            1    8     2  physFonts  [Lsun/font/PhysicalFont;
            2    7     3          i  I
    MethodParameters:
          Name  Flags
      fileName  

  public synchronized void deRegisterBadFont(sun.font.Font2D);
    descriptor: (Lsun/font/Font2D;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.font.Font2D font2D
         0: .line 2440
            aload 1 /* font2D */
            instanceof sun.font.PhysicalFont
            ifne 2
         1: .line 2442
            return
         2: .line 2444
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 5
         3: .line 2445
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         4: .line 2446
            new java.lang.StringBuilder
            dup
            ldc "Deregister bad font: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* font2D */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
         5: .line 2448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* font2D */
            checkcast sun.font.PhysicalFont
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
            invokevirtual sun.font.SunFontManager.replaceFont:(Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
         6: .line 2450
            return
        end local 1 // sun.font.Font2D font2D
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/font/SunFontManager;
            0    7     1  font2D  Lsun/font/Font2D;
    MethodParameters:
        Name  Flags
      font2D  

  public synchronized void replaceFont(sun.font.PhysicalFont, sun.font.PhysicalFont);
    descriptor: (Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.font.PhysicalFont oldFont
        start local 2 // sun.font.PhysicalFont newFont
         0: .line 2459
            aload 1 /* oldFont */
            getfield sun.font.PhysicalFont.handle:Lsun/font/Font2DHandle;
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            aload 1 /* oldFont */
            if_acmpeq 2
         1: .line 2461
            return
         2: .line 2467
      StackMap locals:
      StackMap stack:
            aload 1 /* oldFont */
            aload 2 /* newFont */
            if_acmpne 19
         3: .line 2468
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 6
         4: .line 2469
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         5: .line 2470
            new java.lang.StringBuilder
            dup
            ldc "Can't replace bad font with itself "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* oldFont */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
         6: .line 2472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 3 /* physFonts */
        start local 3 // sun.font.PhysicalFont[] physFonts
         7: .line 2473
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 13
         9: .line 2474
      StackMap locals: sun.font.PhysicalFont[] int
      StackMap stack:
            aload 3 /* physFonts */
            iload 4 /* i */
            aaload
            aload 2 /* newFont */
            if_acmpeq 12
        10: .line 2475
            aload 3 /* physFonts */
            iload 4 /* i */
            aaload
            astore 2 /* newFont */
        11: .line 2476
            goto 14
        12: .line 2473
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 3 /* physFonts */
            arraylength
            if_icmplt 9
        end local 4 // int i
        14: .line 2479
      StackMap locals:
      StackMap stack:
            aload 1 /* oldFont */
            aload 2 /* newFont */
            if_acmpne 19
        15: .line 2480
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 18
        16: .line 2481
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        17: .line 2482
            ldc "This is bad. No good physicalFonts found."
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
        18: .line 2484
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.font.PhysicalFont[] physFonts
        19: .line 2492
      StackMap locals:
      StackMap stack:
            aload 1 /* oldFont */
            getfield sun.font.PhysicalFont.handle:Lsun/font/Font2DHandle;
            aload 2 /* newFont */
            putfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
        20: .line 2493
            aload 0 /* this */
            getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* oldFont */
            getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
            invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 2494
            aload 0 /* this */
            getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* oldFont */
            getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 2495
            aload 1 /* oldFont */
            invokestatic sun.font.FontFamily.remove:(Lsun/font/Font2D;)V
        23: .line 2496
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            ifnull 37
        24: .line 2497
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
        25: .line 2498
            iconst_0
            anewarray java.util.Map$Entry
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.util.Map$Entry[]
        26: .line 2497
            astore 3 /* mapEntries */
        start local 3 // java.util.Map$Entry[] mapEntries
        27: .line 2502
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        28: goto 36
        29: .line 2503
      StackMap locals: java.util.Map$Entry[] int
      StackMap stack:
            aload 3 /* mapEntries */
            iload 4 /* i */
            aaload
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aload 1 /* oldFont */
            if_acmpne 35
        30: .line 2506
            aload 3 /* mapEntries */
            iload 4 /* i */
            aaload
            astore 5 /* tmp */
        start local 5 // java.util.Map$Entry tmp
        31: .line 2507
            aload 5 /* tmp */
            aload 2 /* newFont */
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.util.Map$Entry tmp
        32: .line 2508
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Exception
        33: pop
        34: .line 2512
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            aload 3 /* mapEntries */
            iload 4 /* i */
            aaload
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 2502
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 4 /* i */
            aload 3 /* mapEntries */
            arraylength
            if_icmplt 29
        end local 4 // int i
        end local 3 // java.util.Map$Entry[] mapEntries
        37: .line 2518
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        38: goto 42
        39: .line 2548
      StackMap locals: int
      StackMap stack:
            aload 2 /* newFont */
            invokevirtual sun.font.PhysicalFont.getRank:()I
            iconst_2
            if_icmple 41
        40: .line 2549
            aload 0 /* this */
            getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
            iload 3 /* i */
            aaload
            aload 1 /* oldFont */
            aload 2 /* newFont */
            invokevirtual sun.font.CompositeFont.replaceComponentFont:(Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
        41: .line 2518
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 3 /* i */
            aload 0 /* this */
            getfield sun.font.SunFontManager.maxCompFont:I
            if_icmplt 39
        end local 3 // int i
        43: .line 2552
            return
        end local 2 // sun.font.PhysicalFont newFont
        end local 1 // sun.font.PhysicalFont oldFont
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   44     0        this  Lsun/font/SunFontManager;
            0   44     1     oldFont  Lsun/font/PhysicalFont;
            0   44     2     newFont  Lsun/font/PhysicalFont;
            7   19     3   physFonts  [Lsun/font/PhysicalFont;
            8   14     4           i  I
           27   37     3  mapEntries  [Ljava/util/Map$Entry;
           28   37     4           i  I
           31   32     5         tmp  Ljava/util/Map$Entry<Ljava/lang/String;Lsun/font/PhysicalFont;>;
           38   43     3           i  I
      Exception table:
        from    to  target  type
          30    32      33  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      oldFont  
      newFont  

  private synchronized void loadLocaleNames();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2555
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            ifnull 2
         1: .line 2556
            return
         2: .line 2558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
         3: .line 2559
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getRegisteredFonts:()[Lsun/font/Font2D;
            astore 1 /* fonts */
        start local 1 // sun.font.Font2D[] fonts
         4: .line 2560
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 18
         6: .line 2561
      StackMap locals: sun.font.Font2D[] int
      StackMap stack:
            aload 1 /* fonts */
            iload 2 /* i */
            aaload
            instanceof sun.font.TrueTypeFont
            ifeq 17
         7: .line 2562
            aload 1 /* fonts */
            iload 2 /* i */
            aaload
            checkcast sun.font.TrueTypeFont
            astore 3 /* ttf */
        start local 3 // sun.font.TrueTypeFont ttf
         8: .line 2563
            aload 3 /* ttf */
            invokevirtual sun.font.TrueTypeFont.getAllFullNames:()[Ljava/lang/String;
            astore 4 /* fullNames */
        start local 4 // java.lang.String[] fullNames
         9: .line 2564
            iconst_0
            istore 5 /* n */
        start local 5 // int n
        10: goto 13
        11: .line 2565
      StackMap locals: sun.font.TrueTypeFont java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            aload 4 /* fullNames */
            iload 5 /* n */
            aaload
            aload 3 /* ttf */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 2564
            iinc 5 /* n */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* n */
            aload 4 /* fullNames */
            arraylength
            if_icmplt 11
        end local 5 // int n
        14: .line 2567
            aload 3 /* ttf */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 5 /* family */
        start local 5 // sun.font.FontFamily family
        15: .line 2568
            aload 5 /* family */
            ifnull 17
        16: .line 2569
            aload 5 /* family */
            aload 3 /* ttf */
            invokevirtual sun.font.TrueTypeFont.getAllFamilyNames:()[Ljava/lang/String;
            invokestatic sun.font.FontFamily.addLocaleNames:(Lsun/font/FontFamily;[Ljava/lang/String;)V
        end local 5 // sun.font.FontFamily family
        end local 4 // java.lang.String[] fullNames
        end local 3 // sun.font.TrueTypeFont ttf
        17: .line 2560
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 2 /* i */
            aload 1 /* fonts */
            arraylength
            if_icmplt 6
        end local 2 // int i
        19: .line 2573
            return
        end local 1 // sun.font.Font2D[] fonts
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lsun/font/SunFontManager;
            4   20     1      fonts  [Lsun/font/Font2D;
            5   19     2          i  I
            8   17     3        ttf  Lsun/font/TrueTypeFont;
            9   17     4  fullNames  [Ljava/lang/String;
           10   14     5          n  I
           15   17     5     family  Lsun/font/FontFamily;

  private sun.font.Font2D findFont2DAllLocales(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lsun/font/Font2D;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String name
        start local 2 // int style
         0: .line 2584
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 3
         1: .line 2585
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         2: .line 2586
            new java.lang.StringBuilder
            dup
            ldc "Searching localised font names for:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         3: .line 2593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            ifnonnull 5
         4: .line 2594
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.loadLocaleNames:()V
         5: .line 2596
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 3 /* lowerCaseName */
        start local 3 // java.lang.String lowerCaseName
         6: .line 2597
            aconst_null
            astore 4 /* font */
        start local 4 // sun.font.Font2D font
         7: .line 2600
            aload 3 /* lowerCaseName */
            invokestatic sun.font.FontFamily.getLocaleFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 5 /* family */
        start local 5 // sun.font.FontFamily family
         8: .line 2601
            aload 5 /* family */
            ifnull 14
         9: .line 2602
            aload 5 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 4 /* font */
        10: .line 2603
            aload 4 /* font */
            ifnonnull 12
        11: .line 2604
            aload 5 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 4 /* font */
        12: .line 2606
      StackMap locals: java.lang.String sun.font.Font2D sun.font.FontFamily
      StackMap stack:
            aload 4 /* font */
            ifnull 14
        13: .line 2607
            aload 4 /* font */
            areturn
        14: .line 2612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6
            monitorenter
        15: .line 2613
            aload 0 /* this */
            getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 4 /* font */
        16: .line 2612
            aload 6
            monitorexit
        17: goto 20
      StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String sun.font.Font2D sun.font.FontFamily sun.font.SunFontManager
      StackMap stack: java.lang.Throwable
        18: aload 6
            monitorexit
        19: athrow
        20: .line 2615
      StackMap locals:
      StackMap stack:
            aload 4 /* font */
            ifnull 33
        21: .line 2616
            aload 4 /* font */
            getfield sun.font.Font2D.style:I
            iload 2 /* style */
            if_icmpeq 22
            iload 2 /* style */
            ifne 23
        22: .line 2617
      StackMap locals:
      StackMap stack:
            aload 4 /* font */
            areturn
        23: .line 2619
      StackMap locals:
      StackMap stack:
            aload 4 /* font */
            aconst_null
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
            astore 5 /* family */
        24: .line 2620
            aload 5 /* family */
            ifnull 33
        25: .line 2621
            aload 5 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 6 /* familyFont */
        start local 6 // sun.font.Font2D familyFont
        26: .line 2623
            aload 6 /* familyFont */
            ifnull 28
        27: .line 2624
            aload 6 /* familyFont */
            areturn
        28: .line 2626
      StackMap locals: sun.font.Font2D
      StackMap stack:
            aload 5 /* family */
            iload 2 /* style */
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 6 /* familyFont */
        29: .line 2627
            aload 6 /* familyFont */
            ifnull 33
        30: .line 2636
            aload 6 /* familyFont */
            iload 2 /* style */
            invokevirtual sun.font.Font2D.canDoStyle:(I)Z
            ifne 32
        31: .line 2637
            aconst_null
            astore 6 /* familyFont */
        32: .line 2639
      StackMap locals:
      StackMap stack:
            aload 6 /* familyFont */
            areturn
        end local 6 // sun.font.Font2D familyFont
        33: .line 2645
      StackMap locals:
      StackMap stack:
            aload 4 /* font */
            areturn
        end local 5 // sun.font.FontFamily family
        end local 4 // sun.font.Font2D font
        end local 3 // java.lang.String lowerCaseName
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Lsun/font/SunFontManager;
            0   34     1           name  Ljava/lang/String;
            0   34     2          style  I
            6   34     3  lowerCaseName  Ljava/lang/String;
            7   34     4           font  Lsun/font/Font2D;
            8   34     5         family  Lsun/font/FontFamily;
           26   33     6     familyFont  Lsun/font/Font2D;
      Exception table:
        from    to  target  type
          15    17      18  any
          18    19      18  any
    MethodParameters:
       Name  Flags
      name   
      style  

  public boolean usingAlternateCompositeFonts();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2713
            aload 0 /* this */
            getfield sun.font.SunFontManager._usingAlternateComposites:Z
            ireturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public synchronized void useAlternateFontforJALocales();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2721
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 3
         1: .line 2722
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         2: .line 2723
            ldc "Entered useAlternateFontforJALocales()."
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         3: .line 2725
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isWindows:Z
            ifne 5
         4: .line 2726
            return
         5: .line 2728
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic sun.font.SunFontManager.gAltJAFont:Z
         6: .line 2729
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/SunFontManager;

  public boolean usingAlternateFontforJALocales();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2732
            getstatic sun.font.SunFontManager.gAltJAFont:Z
            ireturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public synchronized void preferLocaleFonts();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2736
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 2
         1: .line 2737
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            ldc "Entered preferLocaleFonts()."
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         2: .line 2740
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.FontConfiguration.willReorderForStartupLocale:()Z
            ifne 4
         3: .line 2741
            return
         4: .line 2743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.gLocalePref:Z
            ifeq 6
         5: .line 2744
            return
         6: .line 2746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.gLocalePref:Z
         7: .line 2747
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 0 /* this */
            getfield sun.font.SunFontManager.gLocalePref:Z
            aload 0 /* this */
            getfield sun.font.SunFontManager.gPropPref:Z
            invokevirtual sun.font.SunFontManager.createCompositeFonts:(Ljava/util/concurrent/ConcurrentHashMap;ZZ)V
         8: .line 2748
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager._usingAlternateComposites:Z
         9: .line 2749
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/font/SunFontManager;

  public synchronized void preferProportionalFonts();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2752
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 3
         1: .line 2753
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         2: .line 2754
            ldc "Entered preferProportionalFonts()."
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         3: .line 2759
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.FontConfiguration.hasMonoToPropMap:()Z
            ifne 5
         4: .line 2760
            return
         5: .line 2762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.gPropPref:Z
            ifeq 7
         6: .line 2763
            return
         7: .line 2765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.gPropPref:Z
         8: .line 2766
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 0 /* this */
            getfield sun.font.SunFontManager.gLocalePref:Z
            aload 0 /* this */
            getfield sun.font.SunFontManager.gPropPref:Z
            invokevirtual sun.font.SunFontManager.createCompositeFonts:(Ljava/util/concurrent/ConcurrentHashMap;ZZ)V
         9: .line 2767
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager._usingAlternateComposites:Z
        10: .line 2768
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/font/SunFontManager;

  private static java.util.HashSet<java.lang.String> getInstalledNames();
    descriptor: ()Ljava/util/HashSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 2772
            getstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
            ifnonnull 18
         1: .line 2773
            invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
            astore 0 /* l */
        start local 0 // java.util.Locale l
         2: .line 2774
            invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
            astore 1 /* fontManager */
        start local 1 // sun.font.SunFontManager fontManager
         3: .line 2776
            aload 1 /* fontManager */
            aload 0 /* l */
            invokevirtual sun.font.SunFontManager.getInstalledFontFamilyNames:(Ljava/util/Locale;)[Ljava/lang/String;
         4: .line 2775
            astore 2 /* installedFamilies */
        start local 2 // java.lang.String[] installedFamilies
         5: .line 2777
            aload 1 /* fontManager */
            invokevirtual sun.font.SunFontManager.getAllInstalledFonts:()[Ljava/awt/Font;
            astore 3 /* installedFonts */
        start local 3 // java.awt.Font[] installedFonts
         6: .line 2778
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* names */
        start local 4 // java.util.HashSet names
         7: .line 2779
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 2780
      StackMap locals: java.util.Locale sun.font.SunFontManager java.lang.String[] java.awt.Font[] java.util.HashSet int
      StackMap stack:
            aload 4 /* names */
            aload 2 /* installedFamilies */
            iload 5 /* i */
            aaload
            aload 0 /* l */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 2779
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 2 /* installedFamilies */
            arraylength
            if_icmplt 9
        end local 5 // int i
        12: .line 2782
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 16
        14: .line 2783
      StackMap locals:
      StackMap stack:
            aload 4 /* names */
            aload 3 /* installedFonts */
            iload 5 /* i */
            aaload
            aload 0 /* l */
            invokevirtual java.awt.Font.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            aload 0 /* l */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        15: .line 2782
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 3 /* installedFonts */
            arraylength
            if_icmplt 14
        end local 5 // int i
        17: .line 2785
            aload 4 /* names */
            putstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
        end local 4 // java.util.HashSet names
        end local 3 // java.awt.Font[] installedFonts
        end local 2 // java.lang.String[] installedFamilies
        end local 1 // sun.font.SunFontManager fontManager
        end local 0 // java.util.Locale l
        18: .line 2787
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
            areturn
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            2   18     0                  l  Ljava/util/Locale;
            3   18     1        fontManager  Lsun/font/SunFontManager;
            5   18     2  installedFamilies  [Ljava/lang/String;
            6   18     3     installedFonts  [Ljava/awt/Font;
            7   18     4              names  Ljava/util/HashSet<Ljava/lang/String;>;
            8   12     5                  i  I
           13   17     5                  i  I
    Signature: ()Ljava/util/HashSet<Ljava/lang/String;>;

  public boolean registerFont(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.awt.Font font
         0: .line 2799
            aload 1 /* font */
            ifnonnull 2
         1: .line 2800
            iconst_0
            ireturn
         2: .line 2804
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.regFamilyLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         3: .line 2805
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
            ifnonnull 6
         4: .line 2806
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
         5: .line 2807
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
         6: .line 2804
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 2811
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontAccess.getFontAccess:()Lsun/font/FontAccess;
            aload 1 /* font */
            invokevirtual sun.font.FontAccess.isCreatedFont:(Ljava/awt/Font;)Z
            ifne 12
        11: .line 2812
            iconst_0
            ireturn
        12: .line 2832
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.SunFontManager.getInstalledNames:()Ljava/util/HashSet;
            astore 2 /* names */
        start local 2 // java.util.HashSet names
        13: .line 2833
            invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
            astore 3 /* l */
        start local 3 // java.util.Locale l
        14: .line 2834
            aload 1 /* font */
            aload 3 /* l */
            invokevirtual java.awt.Font.getFamily:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 4 /* familyName */
        start local 4 // java.lang.String familyName
        15: .line 2835
            aload 1 /* font */
            aload 3 /* l */
            invokevirtual java.awt.Font.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 5 /* fullName */
        start local 5 // java.lang.String fullName
        16: .line 2836
            aload 2 /* names */
            aload 4 /* familyName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 17
            aload 2 /* names */
            aload 5 /* fullName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 2837
      StackMap locals: sun.font.SunFontManager java.awt.Font java.util.HashSet java.util.Locale java.lang.String java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        18: .line 2841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
            astore 6 /* familyTable */
        start local 6 // java.util.Hashtable familyTable
        19: .line 2842
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
            astore 7 /* fullNameTable */
        start local 7 // java.util.Hashtable fullNameTable
        20: .line 2843
            aload 0 /* this */
            iconst_1
            putfield sun.font.SunFontManager.fontsAreRegistered:Z
        21: .line 2846
            aload 1 /* font */
            invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
            astore 8 /* font2D */
        start local 8 // sun.font.Font2D font2D
        22: .line 2847
            aload 8 /* font2D */
            invokevirtual sun.font.Font2D.getStyle:()I
            istore 9 /* style */
        start local 9 // int style
        23: .line 2848
            aload 6 /* familyTable */
            aload 4 /* familyName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.FontFamily
            astore 10 /* family */
        start local 10 // sun.font.FontFamily family
        24: .line 2849
            aload 10 /* family */
            ifnonnull 27
        25: .line 2850
            new sun.font.FontFamily
            dup
            aload 1 /* font */
            aload 3 /* l */
            invokevirtual java.awt.Font.getFamily:(Ljava/util/Locale;)Ljava/lang/String;
            invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;)V
            astore 10 /* family */
        26: .line 2851
            aload 6 /* familyTable */
            aload 4 /* familyName */
            aload 10 /* family */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 2859
      StackMap locals: sun.font.SunFontManager java.awt.Font java.util.HashSet java.util.Locale java.lang.String java.lang.String java.util.Hashtable java.util.Hashtable sun.font.Font2D int sun.font.FontFamily
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontsAreRegistered:Z
            ifeq 33
        28: .line 2860
            aload 0 /* this */
            aload 10 /* family */
            iconst_0
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
        29: .line 2861
            aload 0 /* this */
            aload 10 /* family */
            iconst_1
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
        30: .line 2862
            aload 0 /* this */
            aload 10 /* family */
            iconst_2
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
        31: .line 2863
            aload 0 /* this */
            aload 10 /* family */
            iconst_3
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
        32: .line 2864
            aload 0 /* this */
            aload 7 /* fullNameTable */
            aload 5 /* fullName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
        33: .line 2866
      StackMap locals:
      StackMap stack:
            aload 10 /* family */
            aload 8 /* font2D */
            iload 9 /* style */
            invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
        34: .line 2867
            aload 7 /* fullNameTable */
            aload 5 /* fullName */
            aload 8 /* font2D */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 2868
            iconst_1
            ireturn
        end local 10 // sun.font.FontFamily family
        end local 9 // int style
        end local 8 // sun.font.Font2D font2D
        end local 7 // java.util.Hashtable fullNameTable
        end local 6 // java.util.Hashtable familyTable
        end local 5 // java.lang.String fullName
        end local 4 // java.lang.String familyName
        end local 3 // java.util.Locale l
        end local 2 // java.util.HashSet names
        end local 1 // java.awt.Font font
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0           this  Lsun/font/SunFontManager;
            0   36     1           font  Ljava/awt/Font;
           13   36     2          names  Ljava/util/HashSet<Ljava/lang/String;>;
           14   36     3              l  Ljava/util/Locale;
           15   36     4     familyName  Ljava/lang/String;
           16   36     5       fullName  Ljava/lang/String;
           19   36     6    familyTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
           20   36     7  fullNameTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
           22   36     8         font2D  Lsun/font/Font2D;
           23   36     9          style  I
           24   36    10         family  Lsun/font/FontFamily;
      Exception table:
        from    to  target  type
           3     7       8  any
           8     9       8  any
    MethodParameters:
      Name  Flags
      font  

  private void removeFromCache(sun.font.Font2D);
    descriptor: (Lsun/font/Font2D;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.font.Font2D font
         0: .line 2873
            aload 1 /* font */
            ifnonnull 2
         1: .line 2874
            return
         2: .line 2876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
            invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* keys */
        start local 2 // java.lang.String[] keys
         3: .line 2877
            iconst_0
            istore 3 /* k */
        start local 3 // int k
         4: goto 8
         5: .line 2878
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 2 /* keys */
            iload 3 /* k */
            aaload
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 1 /* font */
            if_acmpne 7
         6: .line 2879
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 2 /* keys */
            iload 3 /* k */
            aaload
            invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 2877
      StackMap locals:
      StackMap stack:
            iinc 3 /* k */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* k */
            aload 2 /* keys */
            arraylength
            if_icmplt 5
        end local 3 // int k
         9: .line 2882
            return
        end local 2 // java.lang.String[] keys
        end local 1 // sun.font.Font2D font
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/font/SunFontManager;
            0   10     1  font  Lsun/font/Font2D;
            3   10     2  keys  [Ljava/lang/String;
            4    9     3     k  I
    MethodParameters:
      Name  Flags
      font  

  public java.util.TreeMap<java.lang.String, java.lang.String> getCreatedFontFamilyNames();
    descriptor: ()Ljava/util/TreeMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2888
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontsAreRegistered:Z
            ifeq 3
         1: .line 2889
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
            astore 1 /* familyTable */
        start local 1 // java.util.Hashtable familyTable
         2: .line 2890
            goto 4
        end local 1 // java.util.Hashtable familyTable
         3: .line 2891
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 1 // java.util.Hashtable familyTable
         4: .line 2894
      StackMap locals: java.util.Hashtable
      StackMap stack:
            invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
            astore 2 /* l */
        start local 2 // java.util.Locale l
         5: .line 2895
            aload 1 /* familyTable */
            dup
            astore 3
            monitorenter
         6: .line 2896
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 4 /* map */
        start local 4 // java.util.TreeMap map
         7: .line 2897
            aload 1 /* familyTable */
            invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.util.TreeMap top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.font.FontFamily
            astore 5 /* f */
        start local 5 // sun.font.FontFamily f
         9: .line 2898
            aload 5 /* f */
            iconst_0
            invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
            astore 7 /* font2D */
        start local 7 // sun.font.Font2D font2D
        10: .line 2899
            aload 7 /* font2D */
            ifnonnull 12
        11: .line 2900
            aload 5 /* f */
            iconst_0
            invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
            astore 7 /* font2D */
        12: .line 2902
      StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.util.TreeMap sun.font.FontFamily java.util.Iterator sun.font.Font2D
      StackMap stack:
            aload 7 /* font2D */
            aload 2 /* l */
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        13: .line 2903
            aload 4 /* map */
            aload 8 /* name */
            aload 2 /* l */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 8 /* name */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String name
        end local 7 // sun.font.Font2D font2D
        end local 5 // sun.font.FontFamily f
        14: .line 2897
      StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.util.TreeMap top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        15: .line 2905
            aload 4 /* map */
            aload 3
            monitorexit
        16: areturn
        end local 4 // java.util.TreeMap map
        17: .line 2895
      StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        18: athrow
        end local 2 // java.util.Locale l
        end local 1 // java.util.Hashtable familyTable
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lsun/font/SunFontManager;
            2    3     1  familyTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
            4   19     1  familyTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
            5   19     2            l  Ljava/util/Locale;
            7   17     4          map  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
            9   14     5            f  Lsun/font/FontFamily;
           10   14     7       font2D  Lsun/font/Font2D;
           13   14     8         name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6    16      17  any
          17    18      17  any
    Signature: ()Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;

  public java.awt.Font[] getCreatedFonts();
    descriptor: ()[Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 2912
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontsAreRegistered:Z
            ifeq 3
         1: .line 2913
            aload 0 /* this */
            getfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
            astore 1 /* nameTable */
        start local 1 // java.util.Hashtable nameTable
         2: .line 2914
            goto 4
        end local 1 // java.util.Hashtable nameTable
         3: .line 2915
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 1 // java.util.Hashtable nameTable
         4: .line 2918
      StackMap locals: java.util.Hashtable
      StackMap stack:
            invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
            astore 2 /* l */
        start local 2 // java.util.Locale l
         5: .line 2919
            aload 1 /* nameTable */
            dup
            astore 3
            monitorenter
         6: .line 2920
            aload 1 /* nameTable */
            invokevirtual java.util.Hashtable.size:()I
            anewarray java.awt.Font
            astore 4 /* fonts */
        start local 4 // java.awt.Font[] fonts
         7: .line 2921
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: .line 2922
            aload 1 /* nameTable */
            invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.awt.Font[] int top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 6 /* font2D */
        start local 6 // sun.font.Font2D font2D
        10: .line 2923
            aload 4 /* fonts */
            iload 5 /* i */
            iinc 5 /* i */ 1
            new java.awt.Font
            dup
            aload 6 /* font2D */
            aload 2 /* l */
            invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            iconst_0
            iconst_1
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            aastore
        end local 6 // sun.font.Font2D font2D
        11: .line 2922
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 2925
            aload 4 /* fonts */
            aload 3
            monitorexit
        13: areturn
        end local 5 // int i
        end local 4 // java.awt.Font[] fonts
        14: .line 2919
      StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        15: athrow
        end local 2 // java.util.Locale l
        end local 1 // java.util.Hashtable nameTable
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lsun/font/SunFontManager;
            2    3     1  nameTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
            4   16     1  nameTable  Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
            5   16     2          l  Ljava/util/Locale;
            7   14     4      fonts  [Ljava/awt/Font;
            8   14     5          i  I
           10   11     6     font2D  Lsun/font/Font2D;
      Exception table:
        from    to  target  type
           6    13      14  any
          14    15      14  any

  protected java.lang.String[] getPlatformFontDirs(boolean);
    descriptor: (Z)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // boolean noType1Fonts
         0: .line 2933
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            ifnull 2
         1: .line 2934
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            areturn
         2: .line 2937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* noType1Fonts */
            invokevirtual sun.font.SunFontManager.getPlatformFontPath:(Z)Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         3: .line 2939
            new java.util.StringTokenizer
            dup
            aload 2 /* path */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 2938
            astore 3 /* parser */
        start local 3 // java.util.StringTokenizer parser
         5: .line 2940
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* pathList */
        start local 4 // java.util.ArrayList pathList
         6: .line 2942
            goto 8
         7: .line 2943
      StackMap locals: java.lang.String java.util.StringTokenizer java.util.ArrayList
      StackMap stack:
            aload 4 /* pathList */
            aload 3 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 2942
      StackMap locals:
      StackMap stack:
            aload 3 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 7
         9: .line 2945
            goto 11
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
        10: pop
        11: .line 2947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* pathList */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
        12: .line 2948
            aload 0 /* this */
            getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
            areturn
        end local 4 // java.util.ArrayList pathList
        end local 3 // java.util.StringTokenizer parser
        end local 2 // java.lang.String path
        end local 1 // boolean noType1Fonts
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lsun/font/SunFontManager;
            0   13     1  noType1Fonts  Z
            3   13     2          path  Ljava/lang/String;
            5   13     3        parser  Ljava/util/StringTokenizer;
            6   13     4      pathList  Ljava/util/ArrayList<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           6     9      10  Class java.util.NoSuchElementException
    MethodParameters:
              Name  Flags
      noType1Fonts  

  protected abstract java.lang.String[] getDefaultPlatformFont();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  private void addDirFonts(java.lang.String, java.io.File, java.io.FilenameFilter, int, boolean, int, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=19, args_size=9
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String dirName
        start local 2 // java.io.File dirFile
        start local 3 // java.io.FilenameFilter filter
        start local 4 // int fontFormat
        start local 5 // boolean useJavaRasterizer
        start local 6 // int fontRank
        start local 7 // boolean defer
        start local 8 // boolean resolveSymLinks
         0: .line 2967
            aload 2 /* dirFile */
            aload 3 /* filter */
            invokevirtual java.io.File.list:(Ljava/io/FilenameFilter;)[Ljava/lang/String;
            astore 9 /* ls */
        start local 9 // java.lang.String[] ls
         1: .line 2968
            aload 9 /* ls */
            ifnull 2
            aload 9 /* ls */
            arraylength
            ifne 3
         2: .line 2969
      StackMap locals: java.lang.String[]
      StackMap stack:
            return
         3: .line 2971
      StackMap locals:
      StackMap stack:
            aload 9 /* ls */
            arraylength
            anewarray java.lang.String
            astore 10 /* fontNames */
        start local 10 // java.lang.String[] fontNames
         4: .line 2972
            aload 9 /* ls */
            arraylength
            anewarray java.lang.String[]
            astore 11 /* nativeNames */
        start local 11 // java.lang.String[][] nativeNames
         5: .line 2973
            iconst_0
            istore 12 /* fontCount */
        start local 12 // int fontCount
         6: .line 2975
            iconst_0
            istore 13 /* i */
        start local 13 // int i
         7: goto 41
         8: .line 2976
      StackMap locals: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int int int java.lang.String[] java.lang.String[] java.lang.String[][] int int
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* dirFile */
            aload 9 /* ls */
            iload 13 /* i */
            aaload
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 14 /* theFile */
        start local 14 // java.io.File theFile
         9: .line 2977
            aconst_null
            astore 15 /* fullName */
        start local 15 // java.lang.String fullName
        10: .line 2978
            iload 8 /* resolveSymLinks */
            ifeq 14
        11: .line 2980
            aload 14 /* theFile */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 15 /* fullName */
        12: .line 2981
            goto 14
      StackMap locals: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int int int java.lang.String[] java.lang.String[] java.lang.String[][] int int java.io.File java.lang.String
      StackMap stack: java.io.IOException
        13: pop
        14: .line 2984
      StackMap locals:
      StackMap stack:
            aload 15 /* fullName */
            ifnonnull 16
        15: .line 2985
            new java.lang.StringBuilder
            dup
            aload 1 /* dirName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* ls */
            iload 13 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* fullName */
        16: .line 2989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
            aload 15 /* fullName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 2990
            goto 40
        18: .line 2993
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.badFonts:Ljava/util/ArrayList;
            ifnull 23
            aload 0 /* this */
            getfield sun.font.SunFontManager.badFonts:Ljava/util/ArrayList;
            aload 15 /* fullName */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifeq 23
        19: .line 2994
            invokestatic sun.font.FontUtilities.debugFonts:()Z
            ifeq 40
        20: .line 2995
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        21: .line 2996
            new java.lang.StringBuilder
            dup
            ldc "skip bad font "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* fullName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        22: .line 2998
            goto 40
        23: .line 3001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
            aload 15 /* fullName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        24: .line 3003
            invokestatic sun.font.FontUtilities.debugFonts:()Z
            ifeq 38
        25: .line 3004
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.INFO:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 38
        26: .line 3005
            new java.lang.StringBuilder
            dup
            ldc "Registering font "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* fullName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* message */
        start local 16 // java.lang.String message
        27: .line 3006
            aload 0 /* this */
            aload 15 /* fullName */
            aconst_null
            invokevirtual sun.font.SunFontManager.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* natNames */
        start local 17 // java.lang.String[] natNames
        28: .line 3007
            aload 17 /* natNames */
            ifnonnull 31
        29: .line 3008
            new java.lang.StringBuilder
            dup
            aload 16 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " with no native name"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* message */
        30: .line 3009
            goto 37
        31: .line 3010
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 16 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " with native name(s) "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* natNames */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* message */
        32: .line 3011
            iconst_1
            istore 18 /* nn */
        start local 18 // int nn
        33: goto 36
        34: .line 3012
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 16 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* natNames */
            iload 18 /* nn */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* message */
        35: .line 3011
            iinc 18 /* nn */ 1
      StackMap locals:
      StackMap stack:
        36: iload 18 /* nn */
            aload 17 /* natNames */
            arraylength
            if_icmplt 34
        end local 18 // int nn
        37: .line 3015
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            aload 16 /* message */
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 17 // java.lang.String[] natNames
        end local 16 // java.lang.String message
        38: .line 3017
      StackMap locals:
      StackMap stack:
            aload 10 /* fontNames */
            iload 12 /* fontCount */
            aload 15 /* fullName */
            aastore
        39: .line 3018
            aload 11 /* nativeNames */
            iload 12 /* fontCount */
            iinc 12 /* fontCount */ 1
            aload 0 /* this */
            aload 15 /* fullName */
            aconst_null
            invokevirtual sun.font.SunFontManager.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            aastore
        end local 15 // java.lang.String fullName
        end local 14 // java.io.File theFile
        40: .line 2975
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 13 /* i */
            aload 9 /* ls */
            arraylength
            if_icmplt 8
        end local 13 // int i
        42: .line 3020
            aload 0 /* this */
            aload 10 /* fontNames */
            aload 11 /* nativeNames */
            iload 12 /* fontCount */
            iload 4 /* fontFormat */
        43: .line 3021
            iload 5 /* useJavaRasterizer */
            iload 6 /* fontRank */
            iload 7 /* defer */
        44: .line 3020
            invokevirtual sun.font.SunFontManager.registerFonts:([Ljava/lang/String;[[Ljava/lang/String;IIZIZ)V
        45: .line 3022
            return
        end local 12 // int fontCount
        end local 11 // java.lang.String[][] nativeNames
        end local 10 // java.lang.String[] fontNames
        end local 9 // java.lang.String[] ls
        end local 8 // boolean resolveSymLinks
        end local 7 // boolean defer
        end local 6 // int fontRank
        end local 5 // boolean useJavaRasterizer
        end local 4 // int fontFormat
        end local 3 // java.io.FilenameFilter filter
        end local 2 // java.io.File dirFile
        end local 1 // java.lang.String dirName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   46     0               this  Lsun/font/SunFontManager;
            0   46     1            dirName  Ljava/lang/String;
            0   46     2            dirFile  Ljava/io/File;
            0   46     3             filter  Ljava/io/FilenameFilter;
            0   46     4         fontFormat  I
            0   46     5  useJavaRasterizer  Z
            0   46     6           fontRank  I
            0   46     7              defer  Z
            0   46     8    resolveSymLinks  Z
            1   46     9                 ls  [Ljava/lang/String;
            4   46    10          fontNames  [Ljava/lang/String;
            5   46    11        nativeNames  [[Ljava/lang/String;
            6   46    12          fontCount  I
            7   42    13                  i  I
            9   40    14            theFile  Ljava/io/File;
           10   40    15           fullName  Ljava/lang/String;
           27   38    16            message  Ljava/lang/String;
           28   38    17           natNames  [Ljava/lang/String;
           33   37    18                 nn  I
      Exception table:
        from    to  target  type
          11    12      13  Class java.io.IOException
    MethodParameters:
                   Name  Flags
      dirName            
      dirFile            
      filter             
      fontFormat         
      useJavaRasterizer  
      fontRank           
      defer              
      resolveSymLinks    

  protected java.lang.String[] getNativeNames(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fontFileName
        start local 2 // java.lang.String platformName
         0: .line 3027
            aconst_null
            areturn
        end local 2 // java.lang.String platformName
        end local 1 // java.lang.String fontFileName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lsun/font/SunFontManager;
            0    1     1  fontFileName  Ljava/lang/String;
            0    1     2  platformName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      fontFileName  
      platformName  

  protected java.lang.String getFileNameFromPlatformName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String platformFontName
         0: .line 3037
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
            aload 1 /* platformFontName */
            invokevirtual sun.awt.FontConfiguration.getFileNameFromPlatformName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String platformFontName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lsun/font/SunFontManager;
            0    1     1  platformFontName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      platformFontName  

  public sun.awt.FontConfiguration getFontConfiguration();
    descriptor: ()Lsun/awt/FontConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3044
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public java.lang.String getPlatformFontPath(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // boolean noType1Font
         0: .line 3051
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
            ifnonnull 2
         1: .line 3052
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* noType1Font */
            invokevirtual sun.font.SunFontManager.getFontPath:(Z)Ljava/lang/String;
            putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
         2: .line 3054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
            areturn
        end local 1 // boolean noType1Font
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lsun/font/SunFontManager;
            0    3     1  noType1Font  Z
    MethodParameters:
             Name  Flags
      noType1Font  

  protected void loadFonts();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3058
            aload 0 /* this */
            getfield sun.font.SunFontManager.discoveredAllFonts:Z
            ifeq 2
         1: .line 3059
            return
         2: .line 3062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         3: .line 3063
            invokestatic sun.font.FontUtilities.debugFonts:()Z
            ifeq 7
         4: .line 3064
            invokestatic java.lang.Thread.dumpStack:()V
         5: .line 3065
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         6: .line 3066
            ldc "SunGraphicsEnvironment.loadFonts() called"
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         7: .line 3068
      StackMap locals: sun.font.SunFontManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.initialiseDeferredFonts:()V
         8: .line 3071
            new sun.font.SunFontManager$9
            dup
            aload 0 /* this */
            invokespecial sun.font.SunFontManager$9.<init>:(Lsun/font/SunFontManager;)V
         9: .line 3070
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        10: .line 3062
            aload 1
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 1
            monitorexit
        13: athrow
        14: .line 3094
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/font/SunFontManager;
      Exception table:
        from    to  target  type
           3    11      12  any
          12    13      12  any

  protected void registerFontDirs(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String pathName
         0: .line 3097
            return
        end local 1 // java.lang.String pathName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/font/SunFontManager;
            0    1     1  pathName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      pathName  

  private void registerFontsOnPath(java.lang.String, boolean, int, boolean, boolean);
    descriptor: (Ljava/lang/String;ZIZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String pathName
        start local 2 // boolean useJavaRasterizer
        start local 3 // int fontRank
        start local 4 // boolean defer
        start local 5 // boolean resolveSymLinks
         0: .line 3104
            new java.util.StringTokenizer
            dup
            aload 1 /* pathName */
         1: .line 3105
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
         2: .line 3104
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* parser */
        start local 6 // java.util.StringTokenizer parser
         3: .line 3107
            goto 8
         4: .line 3108
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 0 /* this */
            aload 6 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
         5: .line 3109
            iload 2 /* useJavaRasterizer */
            iload 3 /* fontRank */
         6: .line 3110
            iload 4 /* defer */
            iload 5 /* resolveSymLinks */
         7: .line 3108
            invokevirtual sun.font.SunFontManager.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
         8: .line 3107
      StackMap locals:
      StackMap stack:
            aload 6 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
         9: .line 3112
            goto 11
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
        10: pop
        11: .line 3114
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.StringTokenizer parser
        end local 5 // boolean resolveSymLinks
        end local 4 // boolean defer
        end local 3 // int fontRank
        end local 2 // boolean useJavaRasterizer
        end local 1 // java.lang.String pathName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lsun/font/SunFontManager;
            0   12     1           pathName  Ljava/lang/String;
            0   12     2  useJavaRasterizer  Z
            0   12     3           fontRank  I
            0   12     4              defer  Z
            0   12     5    resolveSymLinks  Z
            3   12     6             parser  Ljava/util/StringTokenizer;
      Exception table:
        from    to  target  type
           3     9      10  Class java.util.NoSuchElementException
    MethodParameters:
                   Name  Flags
      pathName           
      useJavaRasterizer  
      fontRank           
      defer              
      resolveSymLinks    

  public void registerFontsInDir(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String dirName
         0: .line 3118
            aload 0 /* this */
            aload 1 /* dirName */
            iconst_1
            iconst_2
            iconst_1
            iconst_0
            invokevirtual sun.font.SunFontManager.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
         1: .line 3119
            return
        end local 1 // java.lang.String dirName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/font/SunFontManager;
            0    2     1  dirName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      dirName  

  protected void registerFontsInDir(java.lang.String, boolean, int, boolean, boolean);
    descriptor: (Ljava/lang/String;ZIZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String dirName
        start local 2 // boolean useJavaRasterizer
        start local 3 // int fontRank
        start local 4 // boolean defer
        start local 5 // boolean resolveSymLinks
         0: .line 3126
            new java.io.File
            dup
            aload 1 /* dirName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* pathFile */
        start local 6 // java.io.File pathFile
         1: .line 3127
            aload 0 /* this */
            aload 1 /* dirName */
            aload 6 /* pathFile */
            getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
         2: .line 3128
            iconst_0
            iload 2 /* useJavaRasterizer */
         3: .line 3129
            iload 3 /* fontRank */
            bipush 6
            if_icmpne 5
         4: .line 3130
            iconst_3
            goto 6
      StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
      StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int
         5: iload 3 /* fontRank */
         6: .line 3131
      StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
      StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int
            iload 4 /* defer */
            iload 5 /* resolveSymLinks */
         7: .line 3127
            invokevirtual sun.font.SunFontManager.addDirFonts:(Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
         8: .line 3132
            aload 0 /* this */
            aload 1 /* dirName */
            aload 6 /* pathFile */
            getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
         9: .line 3133
            iconst_1
            iload 2 /* useJavaRasterizer */
        10: .line 3134
            iload 3 /* fontRank */
            bipush 6
            if_icmpne 12
        11: .line 3135
            iconst_4
            goto 13
      StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
      StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int
        12: iload 3 /* fontRank */
        13: .line 3136
      StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
      StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int
            iload 4 /* defer */
            iload 5 /* resolveSymLinks */
        14: .line 3132
            invokevirtual sun.font.SunFontManager.addDirFonts:(Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
        15: .line 3137
            return
        end local 6 // java.io.File pathFile
        end local 5 // boolean resolveSymLinks
        end local 4 // boolean defer
        end local 3 // int fontRank
        end local 2 // boolean useJavaRasterizer
        end local 1 // java.lang.String dirName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lsun/font/SunFontManager;
            0   16     1            dirName  Ljava/lang/String;
            0   16     2  useJavaRasterizer  Z
            0   16     3           fontRank  I
            0   16     4              defer  Z
            0   16     5    resolveSymLinks  Z
            1   16     6           pathFile  Ljava/io/File;
    MethodParameters:
                   Name  Flags
      dirName            
      useJavaRasterizer  
      fontRank           
      defer              
      resolveSymLinks    

  protected void registerFontDir(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String path
         0: .line 3140
            return
        end local 1 // java.lang.String path
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public synchronized java.lang.String getDefaultFontFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3147
            aload 0 /* this */
            getfield sun.font.SunFontManager.defaultFontFileName:Ljava/lang/String;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  protected boolean useAbsoluteFontFileNames();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3155
            iconst_1
            ireturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  protected abstract sun.awt.FontConfiguration createFontConfiguration();
    descriptor: ()Lsun/awt/FontConfiguration;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public abstract sun.awt.FontConfiguration createFontConfiguration(boolean, boolean);
    descriptor: (ZZ)Lsun/awt/FontConfiguration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                   Name  Flags
      preferLocaleFonts  
      preferPropFonts    

  public synchronized java.lang.String getDefaultFontFaceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3173
            aload 0 /* this */
            getfield sun.font.SunFontManager.defaultFontName:Ljava/lang/String;
            areturn
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  public void loadFontFiles();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3177
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.loadFonts:()V
         1: .line 3178
            aload 0 /* this */
            getfield sun.font.SunFontManager.loadedAllFontFiles:Z
            ifeq 3
         2: .line 3179
            return
         3: .line 3182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 3183
            invokestatic sun.font.FontUtilities.debugFonts:()Z
            ifeq 7
         5: .line 3184
            invokestatic java.lang.Thread.dumpStack:()V
         6: .line 3185
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            ldc "loadAllFontFiles() called"
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         7: .line 3188
      StackMap locals: sun.font.SunFontManager
      StackMap stack:
            new sun.font.SunFontManager$10
            dup
            aload 0 /* this */
            invokespecial sun.font.SunFontManager$10.<init>:(Lsun/font/SunFontManager;)V
         8: .line 3187
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         9: .line 3182
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 3206
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/font/SunFontManager;
      Exception table:
        from    to  target  type
           4    10      11  any
          11    12      11  any

  private void initCompositeFonts(sun.awt.FontConfiguration, java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D>);
    descriptor: (Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.awt.FontConfiguration fontConfig
        start local 2 // java.util.concurrent.ConcurrentHashMap altNameCache
         0: .line 3219
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 3
         1: .line 3220
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         2: .line 3221
            ldc "Initialising composite fonts"
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         3: .line 3224
      StackMap locals:
      StackMap stack:
            aload 1 /* fontConfig */
            invokevirtual sun.awt.FontConfiguration.getNumberCoreFonts:()I
            istore 3 /* numCoreFonts */
        start local 3 // int numCoreFonts
         4: .line 3225
            aload 1 /* fontConfig */
            invokevirtual sun.awt.FontConfiguration.getPlatformFontNames:()[Ljava/lang/String;
            astore 4 /* fcFonts */
        start local 4 // java.lang.String[] fcFonts
         5: .line 3226
            iconst_0
            istore 5 /* f */
        start local 5 // int f
         6: goto 22
         7: .line 3227
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 4 /* fcFonts */
            iload 5 /* f */
            aaload
            astore 6 /* platformFontName */
        start local 6 // java.lang.String platformFontName
         8: .line 3229
            aload 0 /* this */
            aload 6 /* platformFontName */
            invokevirtual sun.font.SunFontManager.getFileNameFromPlatformName:(Ljava/lang/String;)Ljava/lang/String;
         9: .line 3228
            astore 7 /* fontFileName */
        start local 7 // java.lang.String fontFileName
        10: .line 3230
            aconst_null
            astore 8 /* nativeNames */
        start local 8 // java.lang.String[] nativeNames
        11: .line 3231
            aload 7 /* fontFileName */
            ifnull 13
        12: .line 3232
            aload 7 /* fontFileName */
            aload 6 /* platformFontName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 3236
      StackMap locals: java.lang.String java.lang.String java.lang.String[]
      StackMap stack:
            aload 6 /* platformFontName */
            astore 7 /* fontFileName */
        14: .line 3237
            goto 18
        15: .line 3238
      StackMap locals:
      StackMap stack:
            iload 5 /* f */
            iload 3 /* numCoreFonts */
            if_icmpge 17
        16: .line 3253
            aload 0 /* this */
            aload 6 /* platformFontName */
            invokevirtual sun.font.SunFontManager.addFontToPlatformFontPath:(Ljava/lang/String;)V
        17: .line 3255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* fontFileName */
            aload 6 /* platformFontName */
            invokevirtual sun.font.SunFontManager.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* nativeNames */
        18: .line 3264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* fontFileName */
            aload 8 /* nativeNames */
        19: .line 3265
            iconst_2
            iconst_1
        20: .line 3264
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZ)V
        end local 8 // java.lang.String[] nativeNames
        end local 7 // java.lang.String fontFileName
        end local 6 // java.lang.String platformFontName
        21: .line 3226
            iinc 5 /* f */ 1
      StackMap locals:
      StackMap stack:
        22: iload 5 /* f */
            aload 4 /* fcFonts */
            arraylength
            if_icmplt 7
        end local 5 // int f
        23: .line 3276
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.registerPlatformFontsUsedByFontConfiguration:()V
        24: .line 3279
            aload 1 /* fontConfig */
            invokevirtual sun.awt.FontConfiguration.get2DCompositeFontInfo:()[Lsun/font/CompositeFontDescriptor;
        25: .line 3278
            astore 5 /* compositeFontInfo */
        start local 5 // sun.font.CompositeFontDescriptor[] compositeFontInfo
        26: .line 3280
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 60
        28: .line 3281
      StackMap locals: sun.font.SunFontManager sun.awt.FontConfiguration java.util.concurrent.ConcurrentHashMap int java.lang.String[] sun.font.CompositeFontDescriptor[] int
      StackMap stack:
            aload 5 /* compositeFontInfo */
            iload 6 /* i */
            aaload
            astore 7 /* descriptor */
        start local 7 // sun.font.CompositeFontDescriptor descriptor
        29: .line 3282
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getComponentFileNames:()[Ljava/lang/String;
            astore 8 /* componentFileNames */
        start local 8 // java.lang.String[] componentFileNames
        30: .line 3283
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getComponentFaceNames:()[Ljava/lang/String;
            astore 9 /* componentFaceNames */
        start local 9 // java.lang.String[] componentFaceNames
        31: .line 3288
            getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
            ifnull 39
        32: .line 3289
            iconst_0
            istore 10 /* ii */
        start local 10 // int ii
        33: goto 38
        34: .line 3290
      StackMap locals: sun.font.SunFontManager sun.awt.FontConfiguration java.util.concurrent.ConcurrentHashMap int java.lang.String[] sun.font.CompositeFontDescriptor[] int sun.font.CompositeFontDescriptor java.lang.String[] java.lang.String[] int
      StackMap stack:
            getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
            aload 8 /* componentFileNames */
            iload 10 /* ii */
            aaload
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 37
        35: .line 3291
            aload 8 /* componentFileNames */
            iload 10 /* ii */
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getDefaultFontFile:()Ljava/lang/String;
            aastore
        36: .line 3292
            aload 9 /* componentFaceNames */
            iload 10 /* ii */
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getDefaultFontFaceName:()Ljava/lang/String;
            aastore
        37: .line 3289
      StackMap locals:
      StackMap stack:
            iinc 10 /* ii */ 1
      StackMap locals:
      StackMap stack:
        38: iload 10 /* ii */
            aload 8 /* componentFileNames */
            arraylength
            if_icmplt 34
        end local 10 // int ii
        39: .line 3303
      StackMap locals:
      StackMap stack:
            aload 2 /* altNameCache */
            ifnull 49
        40: .line 3305
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
        41: .line 3306
            aload 8 /* componentFileNames */
            aload 9 /* componentFaceNames */
        42: .line 3307
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getCoreComponentCount:()I
        43: .line 3308
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRanges:()[I
        44: .line 3309
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRangeLimits:()[I
        45: .line 3310
            iconst_1
        46: .line 3311
            aload 2 /* altNameCache */
        47: .line 3304
            invokestatic sun.font.SunFontManager.registerCompositeFont:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap;)V
        48: .line 3312
            goto 56
        49: .line 3313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
        50: .line 3314
            aload 8 /* componentFileNames */
            aload 9 /* componentFaceNames */
        51: .line 3315
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getCoreComponentCount:()I
        52: .line 3316
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRanges:()[I
        53: .line 3317
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRangeLimits:()[I
        54: .line 3318
            iconst_1
        55: .line 3313
            invokevirtual sun.font.SunFontManager.registerCompositeFont:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZ)V
        56: .line 3320
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.debugFonts:()Z
            ifeq 59
        57: .line 3321
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        58: .line 3322
            new java.lang.StringBuilder
            dup
            ldc "registered "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
        end local 9 // java.lang.String[] componentFaceNames
        end local 8 // java.lang.String[] componentFileNames
        end local 7 // sun.font.CompositeFontDescriptor descriptor
        59: .line 3280
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 6 /* i */
            aload 5 /* compositeFontInfo */
            arraylength
            if_icmplt 28
        end local 6 // int i
        61: .line 3325
            return
        end local 5 // sun.font.CompositeFontDescriptor[] compositeFontInfo
        end local 4 // java.lang.String[] fcFonts
        end local 3 // int numCoreFonts
        end local 2 // java.util.concurrent.ConcurrentHashMap altNameCache
        end local 1 // sun.awt.FontConfiguration fontConfig
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   62     0                this  Lsun/font/SunFontManager;
            0   62     1          fontConfig  Lsun/awt/FontConfiguration;
            0   62     2        altNameCache  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
            4   62     3        numCoreFonts  I
            5   62     4             fcFonts  [Ljava/lang/String;
            6   23     5                   f  I
            8   21     6    platformFontName  Ljava/lang/String;
           10   21     7        fontFileName  Ljava/lang/String;
           11   21     8         nativeNames  [Ljava/lang/String;
           26   62     5   compositeFontInfo  [Lsun/font/CompositeFontDescriptor;
           27   61     6                   i  I
           29   59     7          descriptor  Lsun/font/CompositeFontDescriptor;
           30   59     8  componentFileNames  [Ljava/lang/String;
           31   59     9  componentFaceNames  [Ljava/lang/String;
           33   39    10                  ii  I
    Signature: (Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;)V
    MethodParameters:
              Name  Flags
      fontConfig    
      altNameCache  

  protected void addFontToPlatformFontPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String platformFontName
         0: .line 3333
            return
        end local 1 // java.lang.String platformFontName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lsun/font/SunFontManager;
            0    1     1  platformFontName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      platformFontName  

  protected void registerFontFile(java.lang.String, java.lang.String[], int, boolean);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;IZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fontFileName
        start local 2 // java.lang.String[] nativeNames
        start local 3 // int fontRank
        start local 4 // boolean defer
         0: .line 3338
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
            aload 1 /* fontFileName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 3339
            return
         2: .line 3342
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
            aconst_null
            aload 1 /* fontFileName */
            invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
            ifeq 5
         3: .line 3343
            iconst_0
            istore 5 /* fontFormat */
        start local 5 // int fontFormat
         4: .line 3344
            goto 9
        end local 5 // int fontFormat
      StackMap locals:
      StackMap stack:
         5: getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
            aconst_null
            aload 1 /* fontFileName */
            invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
            ifeq 8
         6: .line 3345
            iconst_1
            istore 5 /* fontFormat */
        start local 5 // int fontFormat
         7: .line 3346
            goto 9
        end local 5 // int fontFormat
         8: .line 3347
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 5 /* fontFormat */
        start local 5 // int fontFormat
         9: .line 3349
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
            aload 1 /* fontFileName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 3350
            iload 4 /* defer */
            ifeq 15
        11: .line 3351
            aload 0 /* this */
            aload 1 /* fontFileName */
            aload 1 /* fontFileName */
            aload 2 /* nativeNames */
        12: .line 3352
            iload 5 /* fontFormat */
            iconst_0
            iload 3 /* fontRank */
        13: .line 3351
            invokevirtual sun.font.SunFontManager.registerDeferredFont:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
        14: .line 3353
            goto 18
        15: .line 3354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fontFileName */
            aload 2 /* nativeNames */
            iload 5 /* fontFormat */
            iconst_0
        16: .line 3355
            iload 3 /* fontRank */
        17: .line 3354
            invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            pop
        18: .line 3357
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int fontFormat
        end local 4 // boolean defer
        end local 3 // int fontRank
        end local 2 // java.lang.String[] nativeNames
        end local 1 // java.lang.String fontFileName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lsun/font/SunFontManager;
            0   19     1  fontFileName  Ljava/lang/String;
            0   19     2   nativeNames  [Ljava/lang/String;
            0   19     3      fontRank  I
            0   19     4         defer  Z
            4    5     5    fontFormat  I
            7    8     5    fontFormat  I
            9   19     5    fontFormat  I
    MethodParameters:
              Name  Flags
      fontFileName  
      nativeNames   
      fontRank      
      defer         

  protected void registerPlatformFontsUsedByFontConfiguration();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3360
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/SunFontManager;

  protected void addToMissingFontFileList(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fileName
         0: .line 3377
            getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
            ifnonnull 2
         1: .line 3378
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
         2: .line 3380
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
            aload 1 /* fileName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 3381
            return
        end local 1 // java.lang.String fileName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/font/SunFontManager;
            0    4     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  private boolean isNameForRegisteredFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String fontName
         0: .line 3402
            aload 0 /* this */
            aload 1 /* fontName */
            invokevirtual sun.font.SunFontManager.getFileNameForFontName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
         1: .line 3403
            aload 2 /* fileName */
            ifnonnull 3
         2: .line 3404
            iconst_0
            ireturn
         3: .line 3406
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
            aload 2 /* fileName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.String fileName
        end local 1 // java.lang.String fontName
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/font/SunFontManager;
            0    4     1  fontName  Ljava/lang/String;
            1    4     2  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fontName  

  public void createCompositeFonts(java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D>, boolean, );
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.concurrent.ConcurrentHashMap altNameCache
        start local 2 // boolean preferLocale
        start local 3 // boolean preferProportional
         0: .line 3420
            aload 0 /* this */
            iload 2 /* preferLocale */
            iload 3 /* preferProportional */
            invokevirtual sun.font.SunFontManager.createFontConfiguration:(ZZ)Lsun/awt/FontConfiguration;
         1: .line 3419
            astore 4 /* fontConfig */
        start local 4 // sun.awt.FontConfiguration fontConfig
         2: .line 3421
            aload 0 /* this */
            aload 4 /* fontConfig */
            aload 1 /* altNameCache */
            invokevirtual sun.font.SunFontManager.initCompositeFonts:(Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap;)V
         3: .line 3422
            return
        end local 4 // sun.awt.FontConfiguration fontConfig
        end local 3 // boolean preferProportional
        end local 2 // boolean preferLocale
        end local 1 // java.util.concurrent.ConcurrentHashMap altNameCache
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lsun/font/SunFontManager;
            0    4     1        altNameCache  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
            0    4     2        preferLocale  Z
            0    4     3  preferProportional  Z
            2    4     4          fontConfig  Lsun/awt/FontConfiguration;
    Signature: (Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;ZZ)V
    MethodParameters:
                    Name  Flags
      altNameCache        
      preferLocale        
      preferProportional  

  public java.awt.Font[] getAllInstalledFonts();
    descriptor: ()[Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3428
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
            ifnonnull 39
         1: .line 3429
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.loadFonts:()V
         2: .line 3430
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 1 /* fontMapNames */
        start local 1 // java.util.TreeMap fontMapNames
         3: .line 3435
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getRegisteredFonts:()[Lsun/font/Font2D;
            astore 2 /* allfonts */
        start local 2 // sun.font.Font2D[] allfonts
         4: .line 3436
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 3437
      StackMap locals: java.util.TreeMap sun.font.Font2D[] int
      StackMap stack:
            aload 2 /* allfonts */
            iload 3 /* i */
            aaload
            instanceof sun.font.NativeFont
            ifne 10
         7: .line 3438
            aload 1 /* fontMapNames */
            aload 2 /* allfonts */
            iload 3 /* i */
            aaload
            aconst_null
            invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
         8: .line 3439
            aload 2 /* allfonts */
            iload 3 /* i */
            aaload
         9: .line 3438
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 3436
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 2 /* allfonts */
            arraylength
            if_icmplt 6
        end local 3 // int i
        12: .line 3443
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getFontNamesFromPlatform:()[Ljava/lang/String;
            astore 3 /* platformNames */
        start local 3 // java.lang.String[] platformNames
        13: .line 3444
            aload 3 /* platformNames */
            ifnull 20
        14: .line 3445
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 19
        16: .line 3446
      StackMap locals: sun.font.SunFontManager java.util.TreeMap sun.font.Font2D[] java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* platformNames */
            iload 4 /* i */
            aaload
            invokevirtual sun.font.SunFontManager.isNameForRegisteredFile:(Ljava/lang/String;)Z
            ifne 18
        17: .line 3447
            aload 1 /* fontMapNames */
            aload 3 /* platformNames */
            iload 4 /* i */
            aaload
            aconst_null
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 3445
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 3 /* platformNames */
            arraylength
            if_icmplt 16
        end local 4 // int i
        20: .line 3452
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* fontNames */
        start local 4 // java.lang.String[] fontNames
        21: .line 3453
            aload 1 /* fontMapNames */
            invokevirtual java.util.TreeMap.size:()I
            ifle 29
        22: .line 3454
            aload 1 /* fontMapNames */
            invokevirtual java.util.TreeMap.size:()I
            anewarray java.lang.String
            astore 4 /* fontNames */
        23: .line 3455
            aload 1 /* fontMapNames */
            invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            astore 5 /* keyNames */
        start local 5 // java.lang.Object[] keyNames
        24: .line 3456
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        25: goto 28
        26: .line 3457
      StackMap locals: java.lang.String[] java.lang.Object[] int
      StackMap stack:
            aload 4 /* fontNames */
            iload 6 /* i */
            aload 5 /* keyNames */
            iload 6 /* i */
            aaload
            checkcast java.lang.String
            aastore
        27: .line 3456
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            aload 5 /* keyNames */
            arraylength
            if_icmplt 26
        end local 6 // int i
        end local 5 // java.lang.Object[] keyNames
        29: .line 3460
      StackMap locals:
      StackMap stack:
            aload 4 /* fontNames */
            arraylength
            anewarray java.awt.Font
            astore 5 /* fonts */
        start local 5 // java.awt.Font[] fonts
        30: .line 3461
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        31: goto 37
        32: .line 3462
      StackMap locals: java.awt.Font[] int
      StackMap stack:
            aload 5 /* fonts */
            iload 6 /* i */
            new java.awt.Font
            dup
            aload 4 /* fontNames */
            iload 6 /* i */
            aaload
            iconst_0
            iconst_1
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            aastore
        33: .line 3463
            aload 1 /* fontMapNames */
            aload 4 /* fontNames */
            iload 6 /* i */
            aaload
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.font.Font2D
            astore 7 /* f2d */
        start local 7 // sun.font.Font2D f2d
        34: .line 3464
            aload 7 /* f2d */
            ifnull 36
        35: .line 3465
            invokestatic sun.font.FontAccess.getFontAccess:()Lsun/font/FontAccess;
            aload 5 /* fonts */
            iload 6 /* i */
            aaload
            aload 7 /* f2d */
            getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
            invokevirtual sun.font.FontAccess.setFont2D:(Ljava/awt/Font;Lsun/font/Font2DHandle;)V
        end local 7 // sun.font.Font2D f2d
        36: .line 3461
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 6 /* i */
            aload 4 /* fontNames */
            arraylength
            if_icmplt 32
        end local 6 // int i
        38: .line 3468
            aload 0 /* this */
            aload 5 /* fonts */
            putfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
        end local 5 // java.awt.Font[] fonts
        end local 4 // java.lang.String[] fontNames
        end local 3 // java.lang.String[] platformNames
        end local 2 // sun.font.Font2D[] allfonts
        end local 1 // java.util.TreeMap fontMapNames
        39: .line 3471
      StackMap locals: sun.font.SunFontManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
            arraylength
            anewarray java.awt.Font
            astore 1 /* copyFonts */
        start local 1 // java.awt.Font[] copyFonts
        40: .line 3472
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
            iconst_0
            aload 1 /* copyFonts */
            iconst_0
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        41: .line 3473
            aload 1 /* copyFonts */
            areturn
        end local 1 // java.awt.Font[] copyFonts
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Lsun/font/SunFontManager;
            3   39     1   fontMapNames  Ljava/util/TreeMap<Ljava/lang/String;Lsun/font/Font2D;>;
            4   39     2       allfonts  [Lsun/font/Font2D;
            5   12     3              i  I
           13   39     3  platformNames  [Ljava/lang/String;
           15   20     4              i  I
           21   39     4      fontNames  [Ljava/lang/String;
           24   29     5       keyNames  [Ljava/lang/Object;
           25   29     6              i  I
           30   39     5          fonts  [Ljava/awt/Font;
           31   38     6              i  I
           34   36     7            f2d  Lsun/font/Font2D;
           40   42     1      copyFonts  [Ljava/awt/Font;

  public java.lang.String[] getInstalledFontFamilyNames(java.util.Locale);
    descriptor: (Ljava/util/Locale;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.Locale requestedLocale
         0: .line 3485
            aload 1 /* requestedLocale */
            ifnonnull 2
         1: .line 3486
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 1 /* requestedLocale */
         2: .line 3488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
            ifnull 9
            aload 0 /* this */
            getfield sun.font.SunFontManager.lastDefaultLocale:Ljava/util/Locale;
            ifnull 9
         3: .line 3489
            aload 1 /* requestedLocale */
            aload 0 /* this */
            getfield sun.font.SunFontManager.lastDefaultLocale:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 9
         4: .line 3490
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
            arraylength
            anewarray java.lang.String
            astore 2 /* copyFamilies */
        start local 2 // java.lang.String[] copyFamilies
         5: .line 3491
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
            iconst_0
            aload 2 /* copyFamilies */
         6: .line 3492
            iconst_0
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
            arraylength
         7: .line 3491
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 3493
            aload 2 /* copyFamilies */
            areturn
        end local 2 // java.lang.String[] copyFamilies
         9: .line 3496
      StackMap locals:
      StackMap stack:
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* familyNames */
        start local 2 // java.util.TreeMap familyNames
        10: .line 3499
            ldc "Serif"
            astore 3 /* str */
        start local 3 // java.lang.String str
        11: aload 2 /* familyNames */
            aload 3 /* str */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* str */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 3500
            ldc "SansSerif"
            astore 3 /* str */
            aload 2 /* familyNames */
            aload 3 /* str */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* str */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 3501
            ldc "Monospaced"
            astore 3 /* str */
            aload 2 /* familyNames */
            aload 3 /* str */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* str */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 3502
            ldc "Dialog"
            astore 3 /* str */
            aload 2 /* familyNames */
            aload 3 /* str */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* str */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 3503
            ldc "DialogInput"
            astore 3 /* str */
            aload 2 /* familyNames */
            aload 3 /* str */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* str */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 3509
            aload 1 /* requestedLocale */
            invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 20
        17: .line 3510
            aload 0 /* this */
            aload 2 /* familyNames */
            aload 1 /* requestedLocale */
            invokevirtual sun.font.SunFontManager.getFamilyNamesFromPlatform:(Ljava/util/TreeMap;Ljava/util/Locale;)Z
            ifeq 20
        18: .line 3512
            aload 0 /* this */
            aload 2 /* familyNames */
            aload 1 /* requestedLocale */
            invokevirtual sun.font.SunFontManager.getJREFontFamilyNames:(Ljava/util/TreeMap;Ljava/util/Locale;)V
        19: .line 3513
            goto 30
        20: .line 3514
      StackMap locals: java.util.TreeMap java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.loadFontFiles:()V
        21: .line 3515
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 4 /* physicalfonts */
        start local 4 // sun.font.Font2D[] physicalfonts
        22: .line 3516
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        23: goto 29
        24: .line 3517
      StackMap locals: sun.font.Font2D[] int
      StackMap stack:
            aload 4 /* physicalfonts */
            iload 5 /* i */
            aaload
            instanceof sun.font.NativeFont
            ifne 28
        25: .line 3519
            aload 4 /* physicalfonts */
            iload 5 /* i */
            aaload
            aload 1 /* requestedLocale */
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
        26: .line 3518
            astore 6 /* name */
        start local 6 // java.lang.String name
        27: .line 3520
            aload 2 /* familyNames */
            aload 6 /* name */
            aload 1 /* requestedLocale */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 6 /* name */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.String name
        28: .line 3516
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            aload 4 /* physicalfonts */
            arraylength
            if_icmplt 24
        end local 5 // int i
        end local 4 // sun.font.Font2D[] physicalfonts
        30: .line 3526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* familyNames */
            aload 1 /* requestedLocale */
            invokevirtual sun.font.SunFontManager.addNativeFontFamilyNames:(Ljava/util/TreeMap;Ljava/util/Locale;)V
        31: .line 3528
            aload 2 /* familyNames */
            invokevirtual java.util.TreeMap.size:()I
            anewarray java.lang.String
            astore 4 /* retval */
        start local 4 // java.lang.String[] retval
        32: .line 3529
            aload 2 /* familyNames */
            invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            astore 5 /* keyNames */
        start local 5 // java.lang.Object[] keyNames
        33: .line 3530
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        34: goto 37
        35: .line 3531
      StackMap locals: java.lang.String[] java.lang.Object[] int
      StackMap stack:
            aload 4 /* retval */
            iload 6 /* i */
            aload 2 /* familyNames */
            aload 5 /* keyNames */
            iload 6 /* i */
            aaload
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        36: .line 3530
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 6 /* i */
            aload 5 /* keyNames */
            arraylength
            if_icmplt 35
        end local 6 // int i
        38: .line 3533
            aload 1 /* requestedLocale */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 42
        39: .line 3534
            aload 0 /* this */
            aload 1 /* requestedLocale */
            putfield sun.font.SunFontManager.lastDefaultLocale:Ljava/util/Locale;
        40: .line 3535
            aload 0 /* this */
            aload 4 /* retval */
            arraylength
            anewarray java.lang.String
            putfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
        41: .line 3536
            aload 4 /* retval */
            iconst_0
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        42: .line 3538
      StackMap locals:
      StackMap stack:
            aload 4 /* retval */
            areturn
        end local 5 // java.lang.Object[] keyNames
        end local 4 // java.lang.String[] retval
        end local 3 // java.lang.String str
        end local 2 // java.util.TreeMap familyNames
        end local 1 // java.util.Locale requestedLocale
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   43     0             this  Lsun/font/SunFontManager;
            0   43     1  requestedLocale  Ljava/util/Locale;
            5    9     2     copyFamilies  [Ljava/lang/String;
           10   43     2      familyNames  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
           11   43     3              str  Ljava/lang/String;
           22   30     4    physicalfonts  [Lsun/font/Font2D;
           23   30     5                i  I
           27   28     6             name  Ljava/lang/String;
           32   43     4           retval  [Ljava/lang/String;
           33   43     5         keyNames  [Ljava/lang/Object;
           34   38     6                i  I
    MethodParameters:
                 Name  Flags
      requestedLocale  

  protected void addNativeFontFamilyNames(java.util.TreeMap<java.lang.String, java.lang.String>, java.util.Locale);
    descriptor: (Ljava/util/TreeMap;Ljava/util/Locale;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.TreeMap familyNames
        start local 2 // java.util.Locale requestedLocale
         0: .line 3542
            return
        end local 2 // java.util.Locale requestedLocale
        end local 1 // java.util.TreeMap familyNames
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lsun/font/SunFontManager;
            0    1     1      familyNames  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
            0    1     2  requestedLocale  Ljava/util/Locale;
    Signature: (Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Locale;)V
    MethodParameters:
                 Name  Flags
      familyNames      
      requestedLocale  

  public void register1dot0Fonts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.SunFontManager this
         0: .line 3546
            new sun.font.SunFontManager$11
            dup
            aload 0 /* this */
            invokespecial sun.font.SunFontManager$11.<init>:(Lsun/font/SunFontManager;)V
         1: .line 3545
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         2: .line 3554
            return
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/SunFontManager;

  protected void getJREFontFamilyNames(java.util.TreeMap<java.lang.String, java.lang.String>, java.util.Locale);
    descriptor: (Ljava/util/TreeMap;Ljava/util/Locale;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.util.TreeMap familyNames
        start local 2 // java.util.Locale requestedLocale
         0: .line 3562
            aload 0 /* this */
            getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
            invokevirtual sun.font.SunFontManager.registerDeferredJREFonts:(Ljava/lang/String;)V
         1: .line 3563
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 3 /* physicalfonts */
        start local 3 // sun.font.Font2D[] physicalfonts
         2: .line 3564
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 3565
      StackMap locals: sun.font.Font2D[] int
      StackMap stack:
            aload 3 /* physicalfonts */
            iload 4 /* i */
            aaload
            instanceof sun.font.NativeFont
            ifne 8
         5: .line 3567
            aload 3 /* physicalfonts */
            iload 4 /* i */
            aaload
            aload 2 /* requestedLocale */
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
         6: .line 3566
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 3568
            aload 1 /* familyNames */
            aload 5 /* name */
            aload 2 /* requestedLocale */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 5 /* name */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String name
         8: .line 3564
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* physicalfonts */
            arraylength
            if_icmplt 4
        end local 4 // int i
        10: .line 3571
            return
        end local 3 // sun.font.Font2D[] physicalfonts
        end local 2 // java.util.Locale requestedLocale
        end local 1 // java.util.TreeMap familyNames
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lsun/font/SunFontManager;
            0   11     1      familyNames  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
            0   11     2  requestedLocale  Ljava/util/Locale;
            2   11     3    physicalfonts  [Lsun/font/Font2D;
            3   10     4                i  I
            7    8     5             name  Ljava/lang/String;
    Signature: (Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Locale;)V
    MethodParameters:
                 Name  Flags
      familyNames      
      requestedLocale  

  private static java.util.Locale getSystemStartupLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 3585
            getstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
            ifnonnull 4
         1: .line 3588
            new sun.font.SunFontManager$12
            dup
            invokespecial sun.font.SunFontManager$12.<init>:()V
         2: .line 3587
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.Locale
         3: .line 3586
            putstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
         4: .line 3613
      StackMap locals:
      StackMap stack:
            getstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void addToPool(sun.font.FileFont);
    descriptor: (Lsun/font/FileFont;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.font.SunFontManager this
        start local 1 // sun.font.FileFont font
         0: .line 3618
            aconst_null
            astore 2 /* fontFileToClose */
        start local 2 // sun.font.FileFont fontFileToClose
         1: .line 3619
            iconst_m1
            istore 3 /* freeSlot */
        start local 3 // int freeSlot
         2: .line 3621
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
            dup
            astore 4
            monitorenter
         3: .line 3629
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 3630
      StackMap locals: sun.font.SunFontManager sun.font.FileFont sun.font.FileFont int sun.font.FileFont[] int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
            iload 5 /* i */
            aaload
            aload 1 /* font */
            if_acmpne 8
         6: .line 3631
            aload 4
            monitorexit
         7: return
         8: .line 3633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
            iload 5 /* i */
            aaload
            ifnonnull 10
            iload 3 /* freeSlot */
            ifge 10
         9: .line 3634
            iload 5 /* i */
            istore 3 /* freeSlot */
        10: .line 3629
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            bipush 20
            if_icmplt 5
        end local 5 // int i
        12: .line 3637
            iload 3 /* freeSlot */
            iflt 16
        13: .line 3638
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
            iload 3 /* freeSlot */
            aload 1 /* font */
            aastore
        14: .line 3639
            aload 4
            monitorexit
        15: return
        16: .line 3642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
            aload 0 /* this */
            getfield sun.font.SunFontManager.lastPoolIndex:I
            aaload
            astore 2 /* fontFileToClose */
        17: .line 3643
            aload 0 /* this */
            getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
            aload 0 /* this */
            getfield sun.font.SunFontManager.lastPoolIndex:I
            aload 1 /* font */
            aastore
        18: .line 3647
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.SunFontManager.lastPoolIndex:I
            iconst_1
            iadd
            bipush 20
            irem
            putfield sun.font.SunFontManager.lastPoolIndex:I
        19: .line 3621
            aload 4
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 4
            monitorexit
        22: athrow
        23: .line 3660
      StackMap locals:
      StackMap stack:
            aload 2 /* fontFileToClose */
            ifnull 25
        24: .line 3661
            aload 2 /* fontFileToClose */
            invokevirtual sun.font.FileFont.close:()V
        25: .line 3663
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int freeSlot
        end local 2 // sun.font.FileFont fontFileToClose
        end local 1 // sun.font.FileFont font
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lsun/font/SunFontManager;
            0   26     1             font  Lsun/font/FileFont;
            1   26     2  fontFileToClose  Lsun/font/FileFont;
            2   26     3         freeSlot  I
            4   12     5                i  I
      Exception table:
        from    to  target  type
           3     7      21  any
           8    15      21  any
          16    20      21  any
          21    22      21  any
    MethodParameters:
      Name  Flags
      font  

  protected javax.swing.plaf.FontUIResource getFontConfigFUIR(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljavax/swing/plaf/FontUIResource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.font.SunFontManager this
        start local 1 // java.lang.String family
        start local 2 // int style
        start local 3 // int size
         0: .line 3668
            new javax.swing.plaf.FontUIResource
            dup
            aload 1 /* family */
            iload 2 /* style */
            iload 3 /* size */
            invokespecial javax.swing.plaf.FontUIResource.<init>:(Ljava/lang/String;II)V
            areturn
        end local 3 // int size
        end local 2 // int style
        end local 1 // java.lang.String family
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/font/SunFontManager;
            0    1     1  family  Ljava/lang/String;
            0    1     2   style  I
            0    1     3    size  I
    MethodParameters:
        Name  Flags
      family  
      style   
      size    

  private static java.lang.Error lambda$0();
    descriptor: ()Ljava/lang/Error;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 1105
            new java.lang.Error
            dup
            ldc "Probable fatal error: No physical fonts found."
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Void lambda$1(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // sun.font.SunFontManager this
         0: .line 2401
            invokestatic sun.awt.util.ThreadGroupUtils.getRootThreadGroup:()Ljava/lang/ThreadGroup;
            astore 2 /* rootTG */
        start local 2 // java.lang.ThreadGroup rootTG
         1: .line 2402
            aload 0 /* this */
            new java.lang.Thread
            dup
            aload 2 /* rootTG */
            aload 1
         2: .line 2403
            ldc "FileCloser"
            lconst_0
            iconst_0
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
         3: .line 2402
            putfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
         4: .line 2404
            aload 0 /* this */
            getfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
            aconst_null
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         5: .line 2405
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            aload 0 /* this */
            getfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
            invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
         6: .line 2406
            aconst_null
            areturn
        end local 2 // java.lang.ThreadGroup rootTG
        end local 0 // sun.font.SunFontManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/font/SunFontManager;
            1    7     2  rootTG  Ljava/lang/ThreadGroup;
}
SourceFile: "SunFontManager.java"
NestMembers:
  sun.font.SunFontManager$1  sun.font.SunFontManager$10  sun.font.SunFontManager$11  sun.font.SunFontManager$12  sun.font.SunFontManager$2  sun.font.SunFontManager$3  sun.font.SunFontManager$4  sun.font.SunFontManager$5  sun.font.SunFontManager$6  sun.font.SunFontManager$7  sun.font.SunFontManager$8  sun.font.SunFontManager$8$1  sun.font.SunFontManager$9  sun.font.SunFontManager$FamilyDescription  sun.font.SunFontManager$FontRegistrationInfo  sun.font.SunFontManager$T1Filter  sun.font.SunFontManager$TTFilter  sun.font.SunFontManager$TTorT1Filter
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap
  sun.font.SunFontManager$1
  sun.font.SunFontManager$10
  sun.font.SunFontManager$11
  sun.font.SunFontManager$12
  sun.font.SunFontManager$2
  sun.font.SunFontManager$3
  sun.font.SunFontManager$4
  sun.font.SunFontManager$5
  sun.font.SunFontManager$6
  sun.font.SunFontManager$7
  sun.font.SunFontManager$8
  sun.font.SunFontManager$9
  public FamilyDescription = sun.font.SunFontManager$FamilyDescription of sun.font.SunFontManager
  private final FontRegistrationInfo = sun.font.SunFontManager$FontRegistrationInfo of sun.font.SunFontManager
  private T1Filter = sun.font.SunFontManager$T1Filter of sun.font.SunFontManager
  private TTFilter = sun.font.SunFontManager$TTFilter of sun.font.SunFontManager
  private TTorT1Filter = sun.font.SunFontManager$TTorT1Filter of sun.font.SunFontManager
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger