public abstract class sun.java2d.SunGraphicsEnvironment extends java.awt.GraphicsEnvironment implements sun.java2d.FontSupport, sun.awt.DisplayChangedListener
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.java2d.SunGraphicsEnvironment
  super_class: java.awt.GraphicsEnvironment
{
  public static boolean isLinux;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

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

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

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

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

  private static java.awt.Font defaultFont;
    descriptor: Ljava/awt/Font;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

  public static final java.lang.String lucidaFontName;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Lucida Sans Regular"

  public static final java.lang.String lucidaFileName;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "LucidaSansRegular.ttf"

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

  protected static java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

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

  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 sun.awt.FontConfiguration fontConfig;
    descriptor: Lsun/awt/FontConfiguration;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  protected java.util.HashSet registeredFontFiles;
    descriptor: Ljava/util/HashSet;
    flags: (0x0004) ACC_PROTECTED

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

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

  protected java.awt.GraphicsDevice[] screens;
    descriptor: [Ljava/awt/GraphicsDevice;
    flags: (0x0004) ACC_PROTECTED

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

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

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

  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 final sun.java2d.SunGraphicsEnvironment$TTFilter ttFilter;
    descriptor: Lsun/java2d/SunGraphicsEnvironment$TTFilter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final sun.java2d.SunGraphicsEnvironment$T1Filter t1Filter;
    descriptor: Lsun/java2d/SunGraphicsEnvironment$T1Filter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected sun.awt.SunDisplayChanger displayChanger;
    descriptor: Lsun/awt/SunDisplayChanger;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 90
            iconst_0
            putstatic sun.java2d.SunGraphicsEnvironment.debugFonts:Z
         1: .line 91
            aconst_null
            putstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
         2: .line 95
            aconst_null
            putstatic sun.java2d.SunGraphicsEnvironment.missingFontFiles:Ljava/util/HashSet;
         3: .line 136
            new sun.java2d.SunGraphicsEnvironment$1
            dup
            invokespecial sun.java2d.SunGraphicsEnvironment$1.<init>:()V
         4: .line 135
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 656
            aconst_null
            putstatic sun.java2d.SunGraphicsEnvironment.systemLocale:Ljava/util/Locale;
         6: .line 850
            new sun.java2d.SunGraphicsEnvironment$TTFilter
            dup
            invokespecial sun.java2d.SunGraphicsEnvironment$TTFilter.<init>:()V
            putstatic sun.java2d.SunGraphicsEnvironment.ttFilter:Lsun/java2d/SunGraphicsEnvironment$TTFilter;
         7: .line 851
            new sun.java2d.SunGraphicsEnvironment$T1Filter
            dup
            invokespecial sun.java2d.SunGraphicsEnvironment$T1Filter.<init>:()V
            putstatic sun.java2d.SunGraphicsEnvironment.t1Filter:Lsun/java2d/SunGraphicsEnvironment$T1Filter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isOpenJDK();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 131
            getstatic sun.java2d.SunGraphicsEnvironment.isOpenJDK:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 163
            aload 0 /* this */
            invokespecial java.awt.GraphicsEnvironment.<init>:()V
         1: .line 113
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.SunGraphicsEnvironment.discoveredAllFonts:Z
         2: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.SunGraphicsEnvironment.loadedAllFontFiles:Z
         3: .line 121
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.java2d.SunGraphicsEnvironment.registeredFontFiles:Ljava/util/HashSet;
         4: .line 1286
            aload 0 /* this */
            new sun.awt.SunDisplayChanger
            dup
            invokespecial sun.awt.SunDisplayChanger.<init>:()V
            putfield sun.java2d.SunGraphicsEnvironment.displayChanger:Lsun/awt/SunDisplayChanger;
         5: .line 165
            new sun.java2d.SunGraphicsEnvironment$2
            dup
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment$2.<init>:(Lsun/java2d/SunGraphicsEnvironment;)V
         6: .line 164
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         7: .line 378
            return
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/java2d/SunGraphicsEnvironment;

  public synchronized java.awt.GraphicsDevice[] getScreenDevices();
    descriptor: ()[Ljava/awt/GraphicsDevice;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 386
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.screens:[Ljava/awt/GraphicsDevice;
            astore 1 /* ret */
        start local 1 // java.awt.GraphicsDevice[] ret
         1: .line 387
            aload 1 /* ret */
            ifnonnull 10
         2: .line 388
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getNumScreens:()I
            istore 2 /* num */
        start local 2 // int num
         3: .line 389
            iload 2 /* num */
            anewarray java.awt.GraphicsDevice
            astore 1 /* ret */
         4: .line 390
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 391
      StackMap locals: java.awt.GraphicsDevice[] int int
      StackMap stack:
            aload 1 /* ret */
            iload 3 /* i */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual sun.java2d.SunGraphicsEnvironment.makeScreenDevice:(I)Ljava/awt/GraphicsDevice;
            aastore
         7: .line 390
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* num */
            if_icmplt 6
        end local 3 // int i
         9: .line 393
            aload 0 /* this */
            aload 1 /* ret */
            putfield sun.java2d.SunGraphicsEnvironment.screens:[Ljava/awt/GraphicsDevice;
        end local 2 // int num
        10: .line 395
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            areturn
        end local 1 // java.awt.GraphicsDevice[] ret
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/java2d/SunGraphicsEnvironment;
            1   11     1   ret  [Ljava/awt/GraphicsDevice;
            3   10     2   num  I
            5    9     3     i  I

  protected abstract int getNumScreens();
    descriptor: ()I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.awt.GraphicsDevice makeScreenDevice(int);
    descriptor: (I)Ljava/awt/GraphicsDevice;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      screennum  

  public java.awt.GraphicsDevice getDefaultScreenDevice();
    descriptor: ()Ljava/awt/GraphicsDevice;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 405
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getScreenDevices:()[Ljava/awt/GraphicsDevice;
            iconst_0
            aaload
            areturn
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;

  public java.awt.Graphics2D createGraphics(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)Ljava/awt/Graphics2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.java2d.SunGraphicsEnvironment this
        start local 1 // java.awt.image.BufferedImage img
         0: .line 414
            aload 1 /* img */
            ifnonnull 2
         1: .line 415
            new java.lang.NullPointerException
            dup
            ldc "BufferedImage cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 417
      StackMap locals:
      StackMap stack:
            aload 1 /* img */
            invokestatic sun.java2d.SurfaceData.getPrimarySurfaceData:(Ljava/awt/Image;)Lsun/java2d/SurfaceData;
            astore 2 /* sd */
        start local 2 // sun.java2d.SurfaceData sd
         3: .line 418
            new sun.java2d.SunGraphics2D
            dup
            aload 2 /* sd */
            getstatic java.awt.Color.white:Ljava/awt/Color;
            getstatic java.awt.Color.black:Ljava/awt/Color;
            getstatic sun.java2d.SunGraphicsEnvironment.defaultFont:Ljava/awt/Font;
            invokespecial sun.java2d.SunGraphics2D.<init>:(Lsun/java2d/SurfaceData;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Font;)V
            areturn
        end local 2 // sun.java2d.SurfaceData sd
        end local 1 // java.awt.image.BufferedImage img
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/SunGraphicsEnvironment;
            0    4     1   img  Ljava/awt/image/BufferedImage;
            3    4     2    sd  Lsun/java2d/SurfaceData;
    MethodParameters:
      Name  Flags
      img   

  protected java.lang.String getPlatformFontPath(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.SunGraphicsEnvironment this
        start local 1 // boolean noType1Font
         0: .line 425
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.fontPath:Ljava/lang/String;
            ifnonnull 2
         1: .line 426
            aload 0 /* this */
            iload 1 /* noType1Font */
            invokestatic sun.font.FontManager.getFontPath:(Z)Ljava/lang/String;
            putfield sun.java2d.SunGraphicsEnvironment.fontPath:Ljava/lang/String;
         2: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.fontPath:Ljava/lang/String;
            areturn
        end local 1 // boolean noType1Font
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lsun/java2d/SunGraphicsEnvironment;
            0    3     1  noType1Font  Z
    MethodParameters:
             Name  Flags
      noType1Font  

  public java.lang.String[] getPlatformFontDirs();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 436
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.platformFontDirs:[Ljava/lang/String;
            ifnonnull 11
         1: .line 437
            aload 0 /* this */
            getstatic sun.java2d.SunGraphicsEnvironment.noType1Font:Z
            invokevirtual sun.java2d.SunGraphicsEnvironment.getPlatformFontPath:(Z)Ljava/lang/String;
            astore 1 /* path */
        start local 1 // java.lang.String path
         2: .line 439
            new java.util.StringTokenizer
            dup
            aload 1 /* path */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 438
            astore 2 /* parser */
        start local 2 // java.util.StringTokenizer parser
         4: .line 440
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pathList */
        start local 3 // java.util.ArrayList pathList
         5: .line 442
            goto 7
         6: .line 443
      StackMap locals: java.lang.String java.util.StringTokenizer java.util.ArrayList
      StackMap stack:
            aload 3 /* pathList */
            aload 2 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 442
      StackMap locals:
      StackMap stack:
            aload 2 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 6
         8: .line 445
            goto 10
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
         9: pop
        10: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pathList */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield sun.java2d.SunGraphicsEnvironment.platformFontDirs:[Ljava/lang/String;
        end local 3 // java.util.ArrayList pathList
        end local 2 // java.util.StringTokenizer parser
        end local 1 // java.lang.String path
        11: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.platformFontDirs:[Ljava/lang/String;
            areturn
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lsun/java2d/SunGraphicsEnvironment;
            2   11     1      path  Ljava/lang/String;
            4   11     2    parser  Ljava/util/StringTokenizer;
            5   11     3  pathList  Ljava/util/ArrayList<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           5     8       9  Class java.util.NoSuchElementException

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

  public java.lang.String getDefaultFontFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 465
            getstatic sun.java2d.SunGraphicsEnvironment.defaultFontFileName:Ljava/lang/String;
            areturn
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;

  public java.lang.String getDefaultFontFaceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 474
            getstatic sun.java2d.SunGraphicsEnvironment.defaultFontName:Ljava/lang/String;
            areturn
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;

  public void loadFonts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 478
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.discoveredAllFonts:Z
            ifeq 2
         1: .line 479
            return
         2: .line 482
      StackMap locals:
      StackMap stack:
            ldc Lsun/font/FontManager;
            dup
            astore 1
            monitorenter
         3: .line 483
            getstatic sun.java2d.SunGraphicsEnvironment.debugFonts:Z
            ifeq 6
         4: .line 484
            invokestatic java.lang.Thread.dumpStack:()V
         5: .line 485
            getstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
            ldc "SunGraphicsEnvironment.loadFonts() called"
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
         6: .line 487
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic sun.font.FontManager.initialiseDeferredFonts:()V
         7: .line 490
            new sun.java2d.SunGraphicsEnvironment$3
            dup
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment$3.<init>:(Lsun/java2d/SunGraphicsEnvironment;)V
         8: .line 489
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         9: .line 482
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 513
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/java2d/SunGraphicsEnvironment;
      Exception table:
        from    to  target  type
           3    10      11  any
          11    12      11  any

  public void loadFontFiles();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 517
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.loadFonts:()V
         1: .line 518
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.loadedAllFontFiles:Z
            ifeq 3
         2: .line 519
            return
         3: .line 522
      StackMap locals:
      StackMap stack:
            ldc Lsun/font/FontManager;
            dup
            astore 1
            monitorenter
         4: .line 523
            getstatic sun.java2d.SunGraphicsEnvironment.debugFonts:Z
            ifeq 7
         5: .line 524
            invokestatic java.lang.Thread.dumpStack:()V
         6: .line 525
            getstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
            ldc "loadAllFontFiles() called"
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
         7: .line 528
      StackMap locals: java.lang.Class
      StackMap stack:
            new sun.java2d.SunGraphicsEnvironment$4
            dup
            aload 0 /* this */
            invokespecial sun.java2d.SunGraphicsEnvironment$4.<init>:(Lsun/java2d/SunGraphicsEnvironment;)V
         8: .line 527
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         9: .line 522
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 546
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/java2d/SunGraphicsEnvironment;
      Exception table:
        from    to  target  type
           4    10      11  any
          11    12      11  any

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String fontName
         0: .line 567
            aload 1 /* fontName */
            invokestatic sun.font.FontManager.getFileNameForFontName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
         1: .line 568
            aload 2 /* fileName */
            ifnonnull 3
         2: .line 569
            iconst_0
            ireturn
         3: .line 571
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/java2d/SunGraphicsEnvironment;
            0    4     1  fontName  Ljava/lang/String;
            1    4     2  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fontName  

  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.java2d.SunGraphicsEnvironment this
         0: .line 580
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFonts:[Ljava/awt/Font;
            ifnonnull 39
         1: .line 581
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.loadFonts:()V
         2: .line 582
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 1 /* fontMapNames */
        start local 1 // java.util.TreeMap fontMapNames
         3: .line 588
            invokestatic sun.font.FontManager.getRegisteredFonts:()[Lsun/font/Font2D;
            astore 2 /* allfonts */
        start local 2 // sun.font.Font2D[] allfonts
         4: .line 589
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 590
      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 591
            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 592
            aload 2 /* allfonts */
            iload 3 /* i */
            aaload
         9: .line 591
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 589
      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 596
            invokestatic sun.font.FontManager.getFontNamesFromPlatform:()[Ljava/lang/String;
            astore 3 /* platformNames */
        start local 3 // java.lang.String[] platformNames
        13: .line 597
            aload 3 /* platformNames */
            ifnull 20
        14: .line 598
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: goto 19
        16: .line 599
      StackMap locals: sun.java2d.SunGraphicsEnvironment java.util.TreeMap sun.font.Font2D[] java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* platformNames */
            iload 4 /* i */
            aaload
            invokevirtual sun.java2d.SunGraphicsEnvironment.isNameForRegisteredFile:(Ljava/lang/String;)Z
            ifne 18
        17: .line 600
            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 598
      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 605
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* fontNames */
        start local 4 // java.lang.String[] fontNames
        21: .line 606
            aload 1 /* fontMapNames */
            invokevirtual java.util.TreeMap.size:()I
            ifle 29
        22: .line 607
            aload 1 /* fontMapNames */
            invokevirtual java.util.TreeMap.size:()I
            anewarray java.lang.String
            astore 4 /* fontNames */
        23: .line 608
            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 609
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        25: goto 28
        26: .line 610
      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 609
            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 613
      StackMap locals:
      StackMap stack:
            aload 4 /* fontNames */
            arraylength
            anewarray java.awt.Font
            astore 5 /* fonts */
        start local 5 // java.awt.Font[] fonts
        30: .line 614
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        31: goto 37
        32: .line 615
      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 616
            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 617
            aload 7 /* f2d */
            ifnull 36
        35: .line 618
            aload 5 /* fonts */
            iload 6 /* i */
            aaload
            aload 7 /* f2d */
            getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
            invokestatic sun.font.FontManager.setFont2D:(Ljava/awt/Font;Lsun/font/Font2DHandle;)V
        end local 7 // sun.font.Font2D f2d
        36: .line 614
      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 621
            aload 0 /* this */
            aload 5 /* fonts */
            putfield sun.java2d.SunGraphicsEnvironment.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 624
      StackMap locals: sun.java2d.SunGraphicsEnvironment
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFonts:[Ljava/awt/Font;
            arraylength
            anewarray java.awt.Font
            astore 1 /* copyFonts */
        start local 1 // java.awt.Font[] copyFonts
        40: .line 625
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFonts:[Ljava/awt/Font;
            iconst_0
            aload 1 /* copyFonts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFonts:[Ljava/awt/Font;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        41: .line 626
            aload 1 /* copyFonts */
            areturn
        end local 1 // java.awt.Font[] copyFonts
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Lsun/java2d/SunGraphicsEnvironment;
            3   39     1   fontMapNames  Ljava/util/TreeMap;
            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.awt.Font[] getAllFonts();
    descriptor: ()[Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 633
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getAllInstalledFonts:()[Ljava/awt/Font;
            astore 1 /* installedFonts */
        start local 1 // java.awt.Font[] installedFonts
         1: .line 634
            invokestatic sun.font.FontManager.getCreatedFonts:()[Ljava/awt/Font;
            astore 2 /* created */
        start local 2 // java.awt.Font[] created
         2: .line 635
            aload 2 /* created */
            ifnull 3
            aload 2 /* created */
            arraylength
            ifne 4
         3: .line 636
      StackMap locals: java.awt.Font[] java.awt.Font[]
      StackMap stack:
            aload 1 /* installedFonts */
            areturn
         4: .line 638
      StackMap locals:
      StackMap stack:
            aload 1 /* installedFonts */
            arraylength
            aload 2 /* created */
            arraylength
            iadd
            istore 3 /* newlen */
        start local 3 // int newlen
         5: .line 639
            aload 1 /* installedFonts */
            iload 3 /* newlen */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.awt.Font[]
            astore 4 /* fonts */
        start local 4 // java.awt.Font[] fonts
         6: .line 640
            aload 2 /* created */
            iconst_0
            aload 4 /* fonts */
         7: .line 641
            aload 1 /* installedFonts */
            arraylength
            aload 2 /* created */
            arraylength
         8: .line 640
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 642
            aload 4 /* fonts */
            areturn
        end local 4 // java.awt.Font[] fonts
        end local 3 // int newlen
        end local 2 // java.awt.Font[] created
        end local 1 // java.awt.Font[] installedFonts
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lsun/java2d/SunGraphicsEnvironment;
            1   10     1  installedFonts  [Ljava/awt/Font;
            2   10     2         created  [Ljava/awt/Font;
            5   10     3          newlen  I
            6   10     4           fonts  [Ljava/awt/Font;

  public static java.util.Locale getSystemStartupLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 658
            getstatic sun.java2d.SunGraphicsEnvironment.systemLocale:Ljava/util/Locale;
            ifnonnull 4
         1: .line 661
            new sun.java2d.SunGraphicsEnvironment$5
            dup
            invokespecial sun.java2d.SunGraphicsEnvironment$5.<init>:()V
         2: .line 660
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.Locale
         3: .line 659
            putstatic sun.java2d.SunGraphicsEnvironment.systemLocale:Ljava/util/Locale;
         4: .line 686
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.SunGraphicsEnvironment.systemLocale:Ljava/util/Locale;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.util.TreeMap familyNames
        start local 2 // java.util.Locale requestedLocale
         0: .line 695
            getstatic sun.java2d.SunGraphicsEnvironment.jreFontDirName:Ljava/lang/String;
            invokestatic sun.font.FontManager.registerDeferredJREFonts:(Ljava/lang/String;)V
         1: .line 696
            invokestatic sun.font.FontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 3 /* physicalfonts */
        start local 3 // sun.font.Font2D[] physicalfonts
         2: .line 697
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 698
      StackMap locals: sun.font.Font2D[] int
      StackMap stack:
            aload 3 /* physicalfonts */
            iload 4 /* i */
            aaload
            instanceof sun.font.NativeFont
            ifne 8
         5: .line 700
            aload 3 /* physicalfonts */
            iload 4 /* i */
            aaload
            aload 2 /* requestedLocale */
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
         6: .line 699
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 701
            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 697
      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 704
            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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lsun/java2d/SunGraphicsEnvironment;
            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  

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.util.Locale requestedLocale
         0: .line 710
            aload 1 /* requestedLocale */
            ifnonnull 2
         1: .line 711
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 1 /* requestedLocale */
         2: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
            ifnull 9
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.lastDefaultLocale:Ljava/util/Locale;
            ifnull 9
         3: .line 714
            aload 1 /* requestedLocale */
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.lastDefaultLocale:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 9
         4: .line 715
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
            arraylength
            anewarray java.lang.String
            astore 2 /* copyFamilies */
        start local 2 // java.lang.String[] copyFamilies
         5: .line 716
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
            iconst_0
            aload 2 /* copyFamilies */
         6: .line 717
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
            arraylength
         7: .line 716
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 718
            aload 2 /* copyFamilies */
            areturn
        end local 2 // java.lang.String[] copyFamilies
         9: .line 721
      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 724
            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 725
            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 726
            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 727
            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 728
            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 734
            aload 1 /* requestedLocale */
            invokestatic sun.java2d.SunGraphicsEnvironment.getSystemStartupLocale:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 23
        17: .line 735
            aload 2 /* familyNames */
        18: .line 736
            aload 1 /* requestedLocale */
        19: .line 735
            invokestatic sun.font.FontManager.getFamilyNamesFromPlatform:(Ljava/util/TreeMap;Ljava/util/Locale;)Z
        20: .line 736
            ifeq 23
        21: .line 738
            aload 0 /* this */
            aload 2 /* familyNames */
            aload 1 /* requestedLocale */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getJREFontFamilyNames:(Ljava/util/TreeMap;Ljava/util/Locale;)V
        22: .line 739
            goto 33
        23: .line 740
      StackMap locals: java.util.TreeMap java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.loadFontFiles:()V
        24: .line 741
            invokestatic sun.font.FontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
            astore 4 /* physicalfonts */
        start local 4 // sun.font.Font2D[] physicalfonts
        25: .line 742
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        26: goto 32
        27: .line 743
      StackMap locals: sun.font.Font2D[] int
      StackMap stack:
            aload 4 /* physicalfonts */
            iload 5 /* i */
            aaload
            instanceof sun.font.NativeFont
            ifne 31
        28: .line 745
            aload 4 /* physicalfonts */
            iload 5 /* i */
            aaload
            aload 1 /* requestedLocale */
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
        29: .line 744
            astore 6 /* name */
        start local 6 // java.lang.String name
        30: .line 746
            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
        31: .line 742
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 5 /* i */
            aload 4 /* physicalfonts */
            arraylength
            if_icmplt 27
        end local 5 // int i
        end local 4 // sun.font.Font2D[] physicalfonts
        33: .line 751
      StackMap locals:
      StackMap stack:
            aload 2 /* familyNames */
            invokevirtual java.util.TreeMap.size:()I
            anewarray java.lang.String
            astore 4 /* retval */
        start local 4 // java.lang.String[] retval
        34: .line 752
            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
        35: .line 753
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        36: goto 39
        37: .line 754
      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
        38: .line 753
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 6 /* i */
            aload 5 /* keyNames */
            arraylength
            if_icmplt 37
        end local 6 // int i
        40: .line 756
            aload 1 /* requestedLocale */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 44
        41: .line 757
            aload 0 /* this */
            aload 1 /* requestedLocale */
            putfield sun.java2d.SunGraphicsEnvironment.lastDefaultLocale:Ljava/util/Locale;
        42: .line 758
            aload 0 /* this */
            aload 4 /* retval */
            arraylength
            anewarray java.lang.String
            putfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
        43: .line 759
            aload 4 /* retval */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.allFamilies:[Ljava/lang/String;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        44: .line 761
      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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   45     0             this  Lsun/java2d/SunGraphicsEnvironment;
            0   45     1  requestedLocale  Ljava/util/Locale;
            5    9     2     copyFamilies  [Ljava/lang/String;
           10   45     2      familyNames  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
           11   45     3              str  Ljava/lang/String;
           25   33     4    physicalfonts  [Lsun/font/Font2D;
           26   33     5                i  I
           30   31     6             name  Ljava/lang/String;
           34   45     4           retval  [Ljava/lang/String;
           35   45     5         keyNames  [Ljava/lang/Object;
           36   40     6                i  I
    MethodParameters:
                 Name  Flags
      requestedLocale  

  public java.lang.String[] getAvailableFontFamilyNames(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.java2d.SunGraphicsEnvironment this
        start local 1 // java.util.Locale requestedLocale
         0: .line 765
            aload 0 /* this */
            aload 1 /* requestedLocale */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getInstalledFontFamilyNames:(Ljava/util/Locale;)[Ljava/lang/String;
            astore 2 /* installed */
        start local 2 // java.lang.String[] installed
         1: .line 774
            invokestatic sun.font.FontManager.getCreatedFontFamilyNames:()Ljava/util/TreeMap;
            astore 3 /* map */
        start local 3 // java.util.TreeMap map
         2: .line 775
            aload 3 /* map */
            ifnull 3
            aload 3 /* map */
            invokevirtual java.util.TreeMap.size:()I
            ifne 4
         3: .line 776
      StackMap locals: java.lang.String[] java.util.TreeMap
      StackMap stack:
            aload 2 /* installed */
            areturn
         4: .line 778
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 779
      StackMap locals: int
      StackMap stack:
            aload 3 /* map */
            aload 2 /* installed */
            iload 4 /* i */
            aaload
            aload 1 /* requestedLocale */
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
         7: .line 780
            aload 2 /* installed */
            iload 4 /* i */
            aaload
         8: .line 779
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 778
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* installed */
            arraylength
            if_icmplt 6
        end local 4 // int i
        11: .line 782
            aload 3 /* map */
            invokevirtual java.util.TreeMap.size:()I
            anewarray java.lang.String
            astore 4 /* retval */
        start local 4 // java.lang.String[] retval
        12: .line 783
            aload 3 /* map */
            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
        13: .line 784
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 785
      StackMap locals: sun.java2d.SunGraphicsEnvironment java.util.Locale java.lang.String[] java.util.TreeMap java.lang.String[] java.lang.Object[] int
      StackMap stack:
            aload 4 /* retval */
            iload 6 /* i */
            aload 3 /* map */
            aload 5 /* keyNames */
            iload 6 /* i */
            aaload
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        16: .line 784
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 5 /* keyNames */
            arraylength
            if_icmplt 15
        end local 6 // int i
        18: .line 787
            aload 4 /* retval */
            areturn
        end local 5 // java.lang.Object[] keyNames
        end local 4 // java.lang.String[] retval
        end local 3 // java.util.TreeMap map
        end local 2 // java.lang.String[] installed
        end local 1 // java.util.Locale requestedLocale
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lsun/java2d/SunGraphicsEnvironment;
            0   19     1  requestedLocale  Ljava/util/Locale;
            1   19     2        installed  [Ljava/lang/String;
            2   19     3              map  Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
            5   11     4                i  I
           12   19     4           retval  [Ljava/lang/String;
           13   19     5         keyNames  [Ljava/lang/Object;
           14   18     6                i  I
    MethodParameters:
                 Name  Flags
      requestedLocale  

  public java.lang.String[] getAvailableFontFamilyNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 792
            aload 0 /* this */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames:(Ljava/util/Locale;)[Ljava/lang/String;
            areturn
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String platformFontName
         0: .line 802
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lsun/java2d/SunGraphicsEnvironment;
            0    1     1  platformFontName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      platformFontName  

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

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

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String pathName
         0: .line 888
            return
        end local 1 // java.lang.String pathName
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/java2d/SunGraphicsEnvironment;
            0    1     1  pathName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      pathName  

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String dirName
         0: .line 893
            aload 0 /* this */
            aload 1 /* dirName */
            iconst_1
            iconst_2
            iconst_1
            iconst_0
            invokevirtual sun.java2d.SunGraphicsEnvironment.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
         1: .line 894
            return
        end local 1 // java.lang.String dirName
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/java2d/SunGraphicsEnvironment;
            0    2     1  dirName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      dirName  

  private void registerFontsInDir(java.lang.String, boolean, int, boolean, boolean);
    descriptor: (Ljava/lang/String;ZIZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // sun.java2d.SunGraphicsEnvironment 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 899
            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 900
            aload 0 /* this */
            aload 1 /* dirName */
            aload 6 /* pathFile */
            getstatic sun.java2d.SunGraphicsEnvironment.ttFilter:Lsun/java2d/SunGraphicsEnvironment$TTFilter;
         2: .line 901
            iconst_0
            iload 2 /* useJavaRasterizer */
         3: .line 902
            iload 3 /* fontRank */
            bipush 6
            if_icmpne 5
         4: .line 903
            iconst_3
            goto 6
      StackMap locals: sun.java2d.SunGraphicsEnvironment java.lang.String int int int int java.io.File
      StackMap stack: sun.java2d.SunGraphicsEnvironment java.lang.String java.io.File sun.java2d.SunGraphicsEnvironment$TTFilter int int
         5: iload 3 /* fontRank */
         6: .line 904
      StackMap locals: sun.java2d.SunGraphicsEnvironment java.lang.String int int int int java.io.File
      StackMap stack: sun.java2d.SunGraphicsEnvironment java.lang.String java.io.File sun.java2d.SunGraphicsEnvironment$TTFilter int int int
            iload 4 /* defer */
            iload 5 /* resolveSymLinks */
         7: .line 900
            invokevirtual sun.java2d.SunGraphicsEnvironment.addDirFonts:(Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
         8: .line 905
            aload 0 /* this */
            aload 1 /* dirName */
            aload 6 /* pathFile */
            getstatic sun.java2d.SunGraphicsEnvironment.t1Filter:Lsun/java2d/SunGraphicsEnvironment$T1Filter;
         9: .line 906
            iconst_1
            iload 2 /* useJavaRasterizer */
        10: .line 907
            iload 3 /* fontRank */
            bipush 6
            if_icmpne 12
        11: .line 908
            iconst_4
            goto 13
      StackMap locals: sun.java2d.SunGraphicsEnvironment java.lang.String int int int int java.io.File
      StackMap stack: sun.java2d.SunGraphicsEnvironment java.lang.String java.io.File sun.java2d.SunGraphicsEnvironment$T1Filter int int
        12: iload 3 /* fontRank */
        13: .line 909
      StackMap locals: sun.java2d.SunGraphicsEnvironment java.lang.String int int int int java.io.File
      StackMap stack: sun.java2d.SunGraphicsEnvironment java.lang.String java.io.File sun.java2d.SunGraphicsEnvironment$T1Filter int int int
            iload 4 /* defer */
            iload 5 /* resolveSymLinks */
        14: .line 905
            invokevirtual sun.java2d.SunGraphicsEnvironment.addDirFonts:(Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
        15: .line 910
            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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lsun/java2d/SunGraphicsEnvironment;
            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    

  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.java2d.SunGraphicsEnvironment 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 916
            new java.util.StringTokenizer
            dup
            aload 1 /* pathName */
         1: .line 917
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
         2: .line 916
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* parser */
        start local 6 // java.util.StringTokenizer parser
         3: .line 919
            goto 8
         4: .line 920
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 0 /* this */
            aload 6 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
         5: .line 921
            iload 2 /* useJavaRasterizer */
            iload 3 /* fontRank */
         6: .line 922
            iload 4 /* defer */
            iload 5 /* resolveSymLinks */
         7: .line 920
            invokevirtual sun.java2d.SunGraphicsEnvironment.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
         8: .line 919
      StackMap locals:
      StackMap stack:
            aload 6 /* parser */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
         9: .line 924
            goto 11
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
        10: pop
        11: .line 926
      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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lsun/java2d/SunGraphicsEnvironment;
            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    

  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=6, locals=6, args_size=5
        start local 0 // sun.java2d.SunGraphicsEnvironment 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 931
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.registeredFontFiles:Ljava/util/HashSet;
            aload 1 /* fontFileName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 932
            return
         2: .line 935
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.SunGraphicsEnvironment.ttFilter:Lsun/java2d/SunGraphicsEnvironment$TTFilter;
            aconst_null
            aload 1 /* fontFileName */
            invokevirtual sun.java2d.SunGraphicsEnvironment$TTFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
            ifeq 5
         3: .line 936
            iconst_0
            istore 5 /* fontFormat */
        start local 5 // int fontFormat
         4: .line 937
            goto 9
        end local 5 // int fontFormat
      StackMap locals:
      StackMap stack:
         5: getstatic sun.java2d.SunGraphicsEnvironment.t1Filter:Lsun/java2d/SunGraphicsEnvironment$T1Filter;
            aconst_null
            aload 1 /* fontFileName */
            invokevirtual sun.java2d.SunGraphicsEnvironment$T1Filter.accept:(Ljava/io/File;Ljava/lang/String;)Z
            ifeq 8
         6: .line 938
            iconst_1
            istore 5 /* fontFormat */
        start local 5 // int fontFormat
         7: .line 939
            goto 9
        end local 5 // int fontFormat
         8: .line 940
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 5 /* fontFormat */
        start local 5 // int fontFormat
         9: .line 942
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.registeredFontFiles:Ljava/util/HashSet;
            aload 1 /* fontFileName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 943
            iload 4 /* defer */
            ifeq 16
        11: .line 944
            aload 1 /* fontFileName */
        12: .line 945
            aload 1 /* fontFileName */
            aload 2 /* nativeNames */
        13: .line 946
            iload 5 /* fontFormat */
            iconst_0
            iload 3 /* fontRank */
        14: .line 944
            invokestatic sun.font.FontManager.registerDeferredFont:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
        15: .line 947
            goto 19
        16: .line 948
      StackMap locals:
      StackMap stack:
            aload 1 /* fontFileName */
            aload 2 /* nativeNames */
        17: .line 949
            iload 5 /* fontFormat */
            iconst_0
            iload 3 /* fontRank */
        18: .line 948
            invokestatic sun.font.FontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
            pop
        19: .line 951
      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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lsun/java2d/SunGraphicsEnvironment;
            0   20     1  fontFileName  Ljava/lang/String;
            0   20     2   nativeNames  [Ljava/lang/String;
            0   20     3      fontRank  I
            0   20     4         defer  Z
            4    5     5    fontFormat  I
            7    8     5    fontFormat  I
            9   20     5    fontFormat  I
    MethodParameters:
              Name  Flags
      fontFileName  
      nativeNames   
      fontRank      
      defer         

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String path
         0: .line 954
            return
        end local 1 // java.lang.String path
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String fontFileName
        start local 2 // java.lang.String platformName
         0: .line 958
            aconst_null
            areturn
        end local 2 // java.lang.String platformName
        end local 1 // java.lang.String fontFileName
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lsun/java2d/SunGraphicsEnvironment;
            0    1     1  fontFileName  Ljava/lang/String;
            0    1     2  platformName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      fontFileName  
      platformName  

  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=7, locals=19, args_size=9
        start local 0 // sun.java2d.SunGraphicsEnvironment 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 969
            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 970
            aload 9 /* ls */
            ifnull 2
            aload 9 /* ls */
            arraylength
            ifne 3
         2: .line 971
      StackMap locals: java.lang.String[]
      StackMap stack:
            return
         3: .line 973
      StackMap locals:
      StackMap stack:
            aload 9 /* ls */
            arraylength
            anewarray java.lang.String
            astore 10 /* fontNames */
        start local 10 // java.lang.String[] fontNames
         4: .line 974
            aload 9 /* ls */
            arraylength
            anewarray java.lang.String[]
            astore 11 /* nativeNames */
        start local 11 // java.lang.String[][] nativeNames
         5: .line 975
            iconst_0
            istore 12 /* fontCount */
        start local 12 // int fontCount
         6: .line 977
            iconst_0
            istore 13 /* i */
        start local 13 // int i
         7: goto 39
         8: .line 978
      StackMap locals: sun.java2d.SunGraphicsEnvironment 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 979
            aconst_null
            astore 15 /* fullName */
        start local 15 // java.lang.String fullName
        10: .line 980
            iload 8 /* resolveSymLinks */
            ifeq 14
        11: .line 982
            aload 14 /* theFile */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 15 /* fullName */
        12: .line 983
            goto 14
      StackMap locals: sun.java2d.SunGraphicsEnvironment 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 986
      StackMap locals:
      StackMap stack:
            aload 15 /* fullName */
            ifnonnull 16
        15: .line 987
            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 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.registeredFontFiles:Ljava/util/HashSet;
            aload 15 /* fullName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 992
            goto 38
        18: .line 995
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.SunGraphicsEnvironment.badFonts:Ljava/util/ArrayList;
            ifnull 22
            getstatic sun.java2d.SunGraphicsEnvironment.badFonts:Ljava/util/ArrayList;
            aload 15 /* fullName */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifeq 22
        19: .line 996
            getstatic sun.java2d.SunGraphicsEnvironment.debugFonts:Z
            ifeq 38
        20: .line 997
            getstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
            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 java.util.logging.Logger.warning:(Ljava/lang/String;)V
        21: .line 999
            goto 38
        22: .line 1002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.registeredFontFiles:Ljava/util/HashSet;
            aload 15 /* fullName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        23: .line 1004
            getstatic sun.java2d.SunGraphicsEnvironment.debugFonts:Z
            ifeq 36
            getstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 36
        24: .line 1005
            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
        25: .line 1006
            aload 0 /* this */
            aload 15 /* fullName */
            aconst_null
            invokevirtual sun.java2d.SunGraphicsEnvironment.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* natNames */
        start local 17 // java.lang.String[] natNames
        26: .line 1007
            aload 17 /* natNames */
            ifnonnull 29
        27: .line 1008
            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 */
        28: .line 1009
            goto 35
        29: .line 1010
      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 */
        30: .line 1011
            iconst_1
            istore 18 /* nn */
        start local 18 // int nn
        31: goto 34
        32: .line 1012
      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 */
        33: .line 1011
            iinc 18 /* nn */ 1
      StackMap locals:
      StackMap stack:
        34: iload 18 /* nn */
            aload 17 /* natNames */
            arraylength
            if_icmplt 32
        end local 18 // int nn
        35: .line 1015
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
            aload 16 /* message */
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
        end local 17 // java.lang.String[] natNames
        end local 16 // java.lang.String message
        36: .line 1017
      StackMap locals:
      StackMap stack:
            aload 10 /* fontNames */
            iload 12 /* fontCount */
            aload 15 /* fullName */
            aastore
        37: .line 1018
            aload 11 /* nativeNames */
            iload 12 /* fontCount */
            iinc 12 /* fontCount */ 1
            aload 0 /* this */
            aload 15 /* fullName */
            aconst_null
            invokevirtual sun.java2d.SunGraphicsEnvironment.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
        38: .line 977
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 13 /* i */
            aload 9 /* ls */
            arraylength
            if_icmplt 8
        end local 13 // int i
        40: .line 1020
            aload 10 /* fontNames */
            aload 11 /* nativeNames */
            iload 12 /* fontCount */
        41: .line 1021
            iload 4 /* fontFormat */
            iload 5 /* useJavaRasterizer */
            iload 6 /* fontRank */
        42: .line 1022
            iload 7 /* defer */
        43: .line 1020
            invokestatic sun.font.FontManager.registerFonts:([Ljava/lang/String;[[Ljava/lang/String;IIZIZ)V
        44: .line 1023
            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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0               this  Lsun/java2d/SunGraphicsEnvironment;
            0   45     1            dirName  Ljava/lang/String;
            0   45     2            dirFile  Ljava/io/File;
            0   45     3             filter  Ljava/io/FilenameFilter;
            0   45     4         fontFormat  I
            0   45     5  useJavaRasterizer  Z
            0   45     6           fontRank  I
            0   45     7              defer  Z
            0   45     8    resolveSymLinks  Z
            1   45     9                 ls  [Ljava/lang/String;
            4   45    10          fontNames  [Ljava/lang/String;
            5   45    11        nativeNames  [[Ljava/lang/String;
            6   45    12          fontCount  I
            7   40    13                  i  I
            9   38    14            theFile  Ljava/io/File;
           10   38    15           fullName  Ljava/lang/String;
           25   36    16            message  Ljava/lang/String;
           26   36    17           natNames  [Ljava/lang/String;
           31   35    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 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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String fileName
         0: .line 1041
            getstatic sun.java2d.SunGraphicsEnvironment.missingFontFiles:Ljava/util/HashSet;
            ifnonnull 2
         1: .line 1042
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic sun.java2d.SunGraphicsEnvironment.missingFontFiles:Ljava/util/HashSet;
         2: .line 1044
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.SunGraphicsEnvironment.missingFontFiles:Ljava/util/HashSet;
            aload 1 /* fileName */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1045
            return
        end local 1 // java.lang.String fileName
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/java2d/SunGraphicsEnvironment;
            0    4     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  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    

  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.java2d.SunGraphicsEnvironment this
        start local 1 // sun.awt.FontConfiguration fontConfig
        start local 2 // java.util.concurrent.ConcurrentHashMap altNameCache
         0: .line 1067
            aload 1 /* fontConfig */
            invokevirtual sun.awt.FontConfiguration.getNumberCoreFonts:()I
            istore 3 /* numCoreFonts */
        start local 3 // int numCoreFonts
         1: .line 1068
            aload 1 /* fontConfig */
            invokevirtual sun.awt.FontConfiguration.getPlatformFontNames:()[Ljava/lang/String;
            astore 4 /* fcFonts */
        start local 4 // java.lang.String[] fcFonts
         2: .line 1069
            iconst_0
            istore 5 /* f */
        start local 5 // int f
         3: goto 18
         4: .line 1070
      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
         5: .line 1072
            aload 0 /* this */
            aload 6 /* platformFontName */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getFileNameFromPlatformName:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 1071
            astore 7 /* fontFileName */
        start local 7 // java.lang.String fontFileName
         7: .line 1073
            aconst_null
            astore 8 /* nativeNames */
        start local 8 // java.lang.String[] nativeNames
         8: .line 1074
            aload 7 /* fontFileName */
            ifnull 9
            aload 7 /* fontFileName */
            aload 6 /* platformFontName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1078
      StackMap locals: java.lang.String java.lang.String java.lang.String[]
      StackMap stack:
            aload 6 /* platformFontName */
            astore 7 /* fontFileName */
        10: .line 1079
            goto 14
        11: .line 1080
      StackMap locals:
      StackMap stack:
            iload 5 /* f */
            iload 3 /* numCoreFonts */
            if_icmpge 13
        12: .line 1095
            aload 0 /* this */
            aload 6 /* platformFontName */
            invokevirtual sun.java2d.SunGraphicsEnvironment.addFontToPlatformFontPath:(Ljava/lang/String;)V
        13: .line 1097
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* fontFileName */
            aload 6 /* platformFontName */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* nativeNames */
        14: .line 1106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* fontFileName */
            aload 8 /* nativeNames */
        15: .line 1107
            iconst_2
            iconst_1
        16: .line 1106
            invokevirtual sun.java2d.SunGraphicsEnvironment.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
        17: .line 1069
            iinc 5 /* f */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* f */
            aload 4 /* fcFonts */
            arraylength
            if_icmplt 4
        end local 5 // int f
        19: .line 1118
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.registerPlatformFontsUsedByFontConfiguration:()V
        20: .line 1121
            aload 1 /* fontConfig */
            invokevirtual sun.awt.FontConfiguration.get2DCompositeFontInfo:()[Lsun/font/CompositeFontDescriptor;
        21: .line 1120
            astore 5 /* compositeFontInfo */
        start local 5 // sun.font.CompositeFontDescriptor[] compositeFontInfo
        22: .line 1122
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        23: goto 55
        24: .line 1123
      StackMap locals: sun.java2d.SunGraphicsEnvironment 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
        25: .line 1124
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getComponentFileNames:()[Ljava/lang/String;
            astore 8 /* componentFileNames */
        start local 8 // java.lang.String[] componentFileNames
        26: .line 1125
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getComponentFaceNames:()[Ljava/lang/String;
            astore 9 /* componentFaceNames */
        start local 9 // java.lang.String[] componentFaceNames
        27: .line 1130
            getstatic sun.java2d.SunGraphicsEnvironment.missingFontFiles:Ljava/util/HashSet;
            ifnull 35
        28: .line 1131
            iconst_0
            istore 10 /* ii */
        start local 10 // int ii
        29: goto 34
        30: .line 1132
      StackMap locals: sun.java2d.SunGraphicsEnvironment 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.java2d.SunGraphicsEnvironment.missingFontFiles:Ljava/util/HashSet;
            aload 8 /* componentFileNames */
            iload 10 /* ii */
            aaload
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 1133
            aload 8 /* componentFileNames */
            iload 10 /* ii */
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getDefaultFontFile:()Ljava/lang/String;
            aastore
        32: .line 1134
            aload 9 /* componentFaceNames */
            iload 10 /* ii */
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getDefaultFontFaceName:()Ljava/lang/String;
            aastore
        33: .line 1131
      StackMap locals:
      StackMap stack:
            iinc 10 /* ii */ 1
      StackMap locals:
      StackMap stack:
        34: iload 10 /* ii */
            aload 8 /* componentFileNames */
            arraylength
            if_icmplt 30
        end local 10 // int ii
        35: .line 1145
      StackMap locals:
      StackMap stack:
            aload 2 /* altNameCache */
            ifnull 45
        36: .line 1147
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
        37: .line 1148
            aload 8 /* componentFileNames */
            aload 9 /* componentFaceNames */
        38: .line 1149
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getCoreComponentCount:()I
        39: .line 1150
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRanges:()[I
        40: .line 1151
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRangeLimits:()[I
        41: .line 1152
            iconst_1
        42: .line 1153
            aload 2 /* altNameCache */
        43: .line 1146
            invokestatic sun.font.FontManager.registerCompositeFont:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap;)V
        44: .line 1154
            goto 52
        45: .line 1156
      StackMap locals:
      StackMap stack:
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
        46: .line 1157
            aload 8 /* componentFileNames */
            aload 9 /* componentFaceNames */
        47: .line 1158
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getCoreComponentCount:()I
        48: .line 1159
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRanges:()[I
        49: .line 1160
            aload 7 /* descriptor */
            invokevirtual sun.font.CompositeFontDescriptor.getExclusionRangeLimits:()[I
        50: .line 1161
            iconst_1
        51: .line 1155
            invokestatic sun.font.FontManager.registerCompositeFont:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZ)V
        52: .line 1163
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.SunGraphicsEnvironment.debugFonts:Z
            ifeq 54
        53: .line 1164
            getstatic sun.java2d.SunGraphicsEnvironment.logger:Ljava/util/logging/Logger;
            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 java.util.logging.Logger.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
        54: .line 1122
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 6 /* i */
            aload 5 /* compositeFontInfo */
            arraylength
            if_icmplt 24
        end local 6 // int i
        56: .line 1167
            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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   57     0                this  Lsun/java2d/SunGraphicsEnvironment;
            0   57     1          fontConfig  Lsun/awt/FontConfiguration;
            0   57     2        altNameCache  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
            1   57     3        numCoreFonts  I
            2   57     4             fcFonts  [Ljava/lang/String;
            3   19     5                   f  I
            5   17     6    platformFontName  Ljava/lang/String;
            7   17     7        fontFileName  Ljava/lang/String;
            8   17     8         nativeNames  [Ljava/lang/String;
           22   57     5   compositeFontInfo  [Lsun/font/CompositeFontDescriptor;
           23   56     6                   i  I
           25   54     7          descriptor  Lsun/font/CompositeFontDescriptor;
           26   54     8  componentFileNames  [Ljava/lang/String;
           27   54     9  componentFaceNames  [Ljava/lang/String;
           29   35    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.java2d.SunGraphicsEnvironment this
        start local 1 // java.lang.String platformFontName
         0: .line 1175
            return
        end local 1 // java.lang.String platformFontName
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lsun/java2d/SunGraphicsEnvironment;
            0    1     1  platformFontName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      platformFontName  

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

  public static boolean isLogicalFont(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font f
         0: .line 1184
            aload 0 /* f */
            invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
            invokestatic sun.awt.FontConfiguration.isLogicalFontFamilyName:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.awt.Font f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      f     

  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.java2d.SunGraphicsEnvironment this
         0: .line 1191
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.fontConfig:Lsun/awt/FontConfiguration;
            areturn
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;

  public static java.awt.Rectangle getUsableBounds(java.awt.GraphicsDevice);
    descriptor: (Ljava/awt/GraphicsDevice;)Ljava/awt/Rectangle;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.awt.GraphicsDevice gd
         0: .line 1199
            aload 0 /* gd */
            invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            astore 1 /* gc */
        start local 1 // java.awt.GraphicsConfiguration gc
         1: .line 1200
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            aload 1 /* gc */
            invokevirtual java.awt.Toolkit.getScreenInsets:(Ljava/awt/GraphicsConfiguration;)Ljava/awt/Insets;
            astore 2 /* insets */
        start local 2 // java.awt.Insets insets
         2: .line 1201
            aload 1 /* gc */
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            astore 3 /* usableBounds */
        start local 3 // java.awt.Rectangle usableBounds
         3: .line 1203
            aload 3 /* usableBounds */
            dup
            getfield java.awt.Rectangle.x:I
            aload 2 /* insets */
            getfield java.awt.Insets.left:I
            iadd
            putfield java.awt.Rectangle.x:I
         4: .line 1204
            aload 3 /* usableBounds */
            dup
            getfield java.awt.Rectangle.y:I
            aload 2 /* insets */
            getfield java.awt.Insets.top:I
            iadd
            putfield java.awt.Rectangle.y:I
         5: .line 1205
            aload 3 /* usableBounds */
            dup
            getfield java.awt.Rectangle.width:I
            aload 2 /* insets */
            getfield java.awt.Insets.left:I
            aload 2 /* insets */
            getfield java.awt.Insets.right:I
            iadd
            isub
            putfield java.awt.Rectangle.width:I
         6: .line 1206
            aload 3 /* usableBounds */
            dup
            getfield java.awt.Rectangle.height:I
            aload 2 /* insets */
            getfield java.awt.Insets.top:I
            aload 2 /* insets */
            getfield java.awt.Insets.bottom:I
            iadd
            isub
            putfield java.awt.Rectangle.height:I
         7: .line 1208
            aload 3 /* usableBounds */
            areturn
        end local 3 // java.awt.Rectangle usableBounds
        end local 2 // java.awt.Insets insets
        end local 1 // java.awt.GraphicsConfiguration gc
        end local 0 // java.awt.GraphicsDevice gd
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0            gd  Ljava/awt/GraphicsDevice;
            1    8     1            gc  Ljava/awt/GraphicsConfiguration;
            2    8     2        insets  Ljava/awt/Insets;
            3    8     3  usableBounds  Ljava/awt/Rectangle;
    MethodParameters:
      Name  Flags
      gd    

  public static boolean fontSupportsDefaultEncoding(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font font
         0: .line 1219
            aload 0 /* font */
            invokestatic sun.font.FontManager.fontSupportsDefaultEncoding:(Ljava/awt/Font;)Z
            ireturn
        end local 0 // java.awt.Font font
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  font  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      font  

  public static void useAlternateFontforJALocales();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 1223
            invokestatic sun.font.FontManager.useAlternateFontforJALocales:()V
         1: .line 1224
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.java2d.SunGraphicsEnvironment this
        start local 1 // java.util.concurrent.ConcurrentHashMap altNameCache
        start local 2 // boolean preferLocale
        start local 3 // boolean preferProportional
         0: .line 1237
            aload 0 /* this */
            iload 2 /* preferLocale */
            iload 3 /* preferProportional */
            invokevirtual sun.java2d.SunGraphicsEnvironment.createFontConfiguration:(ZZ)Lsun/awt/FontConfiguration;
         1: .line 1236
            astore 4 /* fontConfig */
        start local 4 // sun.awt.FontConfiguration fontConfig
         2: .line 1238
            aload 0 /* this */
            aload 4 /* fontConfig */
            aload 1 /* altNameCache */
            invokevirtual sun.java2d.SunGraphicsEnvironment.initCompositeFonts:(Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap;)V
         3: .line 1239
            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.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lsun/java2d/SunGraphicsEnvironment;
            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  

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

  public void displayChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 1256
            aload 0 /* this */
            invokevirtual sun.java2d.SunGraphicsEnvironment.getScreenDevices:()[Ljava/awt/GraphicsDevice;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: sun.java2d.SunGraphicsEnvironment top int int java.awt.GraphicsDevice[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* gd */
        start local 1 // java.awt.GraphicsDevice gd
         2: .line 1257
            aload 1 /* gd */
            instanceof sun.awt.DisplayChangedListener
            ifeq 4
         3: .line 1258
            aload 1 /* gd */
            checkcast sun.awt.DisplayChangedListener
            invokeinterface sun.awt.DisplayChangedListener.displayChanged:()V
        end local 1 // java.awt.GraphicsDevice gd
         4: .line 1256
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 1264
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.displayChanger:Lsun/awt/SunDisplayChanger;
            invokevirtual sun.awt.SunDisplayChanger.notifyListeners:()V
         7: .line 1265
            return
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/java2d/SunGraphicsEnvironment;
            2    4     1    gd  Ljava/awt/GraphicsDevice;

  public void paletteChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphicsEnvironment this
         0: .line 1272
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.displayChanger:Lsun/awt/SunDisplayChanger;
            invokevirtual sun.awt.SunDisplayChanger.notifyPaletteChanged:()V
         1: .line 1273
            return
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/SunGraphicsEnvironment;

  public abstract boolean isDisplayLocal();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void addDisplayChangedListener(sun.awt.DisplayChangedListener);
    descriptor: (Lsun/awt/DisplayChangedListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.SunGraphicsEnvironment this
        start local 1 // sun.awt.DisplayChangedListener client
         0: .line 1293
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.displayChanger:Lsun/awt/SunDisplayChanger;
            aload 1 /* client */
            invokevirtual sun.awt.SunDisplayChanger.add:(Lsun/awt/DisplayChangedListener;)V
         1: .line 1294
            return
        end local 1 // sun.awt.DisplayChangedListener client
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/java2d/SunGraphicsEnvironment;
            0    2     1  client  Lsun/awt/DisplayChangedListener;
    MethodParameters:
        Name  Flags
      client  

  public void removeDisplayChangedListener(sun.awt.DisplayChangedListener);
    descriptor: (Lsun/awt/DisplayChangedListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.SunGraphicsEnvironment this
        start local 1 // sun.awt.DisplayChangedListener client
         0: .line 1300
            aload 0 /* this */
            getfield sun.java2d.SunGraphicsEnvironment.displayChanger:Lsun/awt/SunDisplayChanger;
            aload 1 /* client */
            invokevirtual sun.awt.SunDisplayChanger.remove:(Lsun/awt/DisplayChangedListener;)V
         1: .line 1301
            return
        end local 1 // sun.awt.DisplayChangedListener client
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/java2d/SunGraphicsEnvironment;
            0    2     1  client  Lsun/awt/DisplayChangedListener;
    MethodParameters:
        Name  Flags
      client  

  public boolean isFlipStrategyPreferred(java.awt.peer.ComponentPeer);
    descriptor: (Ljava/awt/peer/ComponentPeer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.java2d.SunGraphicsEnvironment this
        start local 1 // java.awt.peer.ComponentPeer peer
         0: .line 1318
            iconst_0
            ireturn
        end local 1 // java.awt.peer.ComponentPeer peer
        end local 0 // sun.java2d.SunGraphicsEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/SunGraphicsEnvironment;
            0    1     1  peer  Ljava/awt/peer/ComponentPeer;
    MethodParameters:
      Name  Flags
      peer  
}
SourceFile: "SunGraphicsEnvironment.java"
NestMembers:
  sun.java2d.SunGraphicsEnvironment$1  sun.java2d.SunGraphicsEnvironment$2  sun.java2d.SunGraphicsEnvironment$3  sun.java2d.SunGraphicsEnvironment$4  sun.java2d.SunGraphicsEnvironment$5  sun.java2d.SunGraphicsEnvironment$6  sun.java2d.SunGraphicsEnvironment$T1Filter  sun.java2d.SunGraphicsEnvironment$TTFilter  sun.java2d.SunGraphicsEnvironment$TTorT1Filter
InnerClasses:
  sun.java2d.SunGraphicsEnvironment$1
  sun.java2d.SunGraphicsEnvironment$2
  sun.java2d.SunGraphicsEnvironment$3
  sun.java2d.SunGraphicsEnvironment$4
  sun.java2d.SunGraphicsEnvironment$5
  sun.java2d.SunGraphicsEnvironment$6
  public T1Filter = sun.java2d.SunGraphicsEnvironment$T1Filter of sun.java2d.SunGraphicsEnvironment
  public TTFilter = sun.java2d.SunGraphicsEnvironment$TTFilter of sun.java2d.SunGraphicsEnvironment
  public TTorT1Filter = sun.java2d.SunGraphicsEnvironment$TTorT1Filter of sun.java2d.SunGraphicsEnvironment