public class java.awt.Font implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.Font
  super_class: java.lang.Object
{
  private java.util.Hashtable<java.lang.Object, java.lang.Object> fRequestedAttributes;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  protected int style;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int size;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected float pointSize;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  private transient java.awt.peer.FontPeer peer;
    descriptor: Ljava/awt/peer/FontPeer;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient long pData;
    descriptor: J
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient sun.font.Font2DHandle font2DHandle;
    descriptor: Lsun/font/Font2DHandle;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient sun.font.AttributeValues values;
    descriptor: Lsun/font/AttributeValues;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean hasLayoutAttributes;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean createdFont;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean nonIdentityTx;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private static final java.awt.geom.AffineTransform identityTx;
    descriptor: Ljava/awt/geom/AffineTransform;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -4206021311591459213

  private static final int RECOGNIZED_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int PRIMARY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int SECONDARY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int LAYOUT_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int EXTRA_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float[] ssinfo;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  transient int hash;
    descriptor: I
    flags: (0x0080) ACC_TRANSIENT

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

  private transient java.lang.ref.SoftReference<sun.font.FontLineMetrics> flmref;
    descriptor: Ljava/lang/ref/SoftReference;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/lang/ref/SoftReference<Lsun/font/FontLineMetrics;>;

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 260
            invokestatic java.awt.Toolkit.loadLibraries:()V
         1: .line 261
            invokestatic java.awt.Font.initIDs:()V
         2: .line 262
            new java.awt.Font$FontAccessImpl
            dup
            invokespecial java.awt.Font$FontAccessImpl.<init>:()V
            invokestatic sun.font.FontAccess.setFontAccess:(Lsun/font/FontAccess;)V
         3: .line 443
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            putstatic java.awt.Font.identityTx:Ljava/awt/geom/AffineTransform;
         4: .line 727
            getstatic sun.font.AttributeValues.MASK_ALL:I
         5: .line 728
            getstatic sun.font.EAttribute.EFONT:Lsun/font/EAttribute;
            invokestatic sun.font.AttributeValues.getMask:(Lsun/font/EAttribute;)I
            iconst_m1
            ixor
         6: .line 727
            iand
            putstatic java.awt.Font.RECOGNIZED_MASK:I
         7: .line 733
            bipush 8
            anewarray sun.font.EAttribute
            dup
            iconst_0
         8: .line 734
            getstatic sun.font.EAttribute.EFAMILY:Lsun/font/EAttribute;
            aastore
            dup
            iconst_1
            getstatic sun.font.EAttribute.EWEIGHT:Lsun/font/EAttribute;
            aastore
            dup
            iconst_2
            getstatic sun.font.EAttribute.EWIDTH:Lsun/font/EAttribute;
            aastore
            dup
            iconst_3
            getstatic sun.font.EAttribute.EPOSTURE:Lsun/font/EAttribute;
            aastore
            dup
            iconst_4
            getstatic sun.font.EAttribute.ESIZE:Lsun/font/EAttribute;
            aastore
            dup
            iconst_5
         9: .line 735
            getstatic sun.font.EAttribute.ETRANSFORM:Lsun/font/EAttribute;
            aastore
            dup
            bipush 6
            getstatic sun.font.EAttribute.ESUPERSCRIPT:Lsun/font/EAttribute;
            aastore
            dup
            bipush 7
            getstatic sun.font.EAttribute.ETRACKING:Lsun/font/EAttribute;
            aastore
        10: .line 734
            invokestatic sun.font.AttributeValues.getMask:([Lsun/font/EAttribute;)I
            putstatic java.awt.Font.PRIMARY_MASK:I
        11: .line 741
            getstatic java.awt.Font.RECOGNIZED_MASK:I
            getstatic java.awt.Font.PRIMARY_MASK:I
            iconst_m1
            ixor
            iand
        12: .line 740
            putstatic java.awt.Font.SECONDARY_MASK:I
        13: .line 746
            bipush 16
            anewarray sun.font.EAttribute
            dup
            iconst_0
        14: .line 747
            getstatic sun.font.EAttribute.ECHAR_REPLACEMENT:Lsun/font/EAttribute;
            aastore
            dup
            iconst_1
            getstatic sun.font.EAttribute.EFOREGROUND:Lsun/font/EAttribute;
            aastore
            dup
            iconst_2
            getstatic sun.font.EAttribute.EBACKGROUND:Lsun/font/EAttribute;
            aastore
            dup
            iconst_3
        15: .line 748
            getstatic sun.font.EAttribute.EUNDERLINE:Lsun/font/EAttribute;
            aastore
            dup
            iconst_4
            getstatic sun.font.EAttribute.ESTRIKETHROUGH:Lsun/font/EAttribute;
            aastore
            dup
            iconst_5
            getstatic sun.font.EAttribute.ERUN_DIRECTION:Lsun/font/EAttribute;
            aastore
            dup
            bipush 6
        16: .line 749
            getstatic sun.font.EAttribute.EBIDI_EMBEDDING:Lsun/font/EAttribute;
            aastore
            dup
            bipush 7
            getstatic sun.font.EAttribute.EJUSTIFICATION:Lsun/font/EAttribute;
            aastore
            dup
            bipush 8
        17: .line 750
            getstatic sun.font.EAttribute.EINPUT_METHOD_HIGHLIGHT:Lsun/font/EAttribute;
            aastore
            dup
            bipush 9
            getstatic sun.font.EAttribute.EINPUT_METHOD_UNDERLINE:Lsun/font/EAttribute;
            aastore
            dup
            bipush 10
        18: .line 751
            getstatic sun.font.EAttribute.ESWAP_COLORS:Lsun/font/EAttribute;
            aastore
            dup
            bipush 11
            getstatic sun.font.EAttribute.ENUMERIC_SHAPING:Lsun/font/EAttribute;
            aastore
            dup
            bipush 12
            getstatic sun.font.EAttribute.EKERNING:Lsun/font/EAttribute;
            aastore
            dup
            bipush 13
        19: .line 752
            getstatic sun.font.EAttribute.ELIGATURES:Lsun/font/EAttribute;
            aastore
            dup
            bipush 14
            getstatic sun.font.EAttribute.ETRACKING:Lsun/font/EAttribute;
            aastore
            dup
            bipush 15
            getstatic sun.font.EAttribute.ESUPERSCRIPT:Lsun/font/EAttribute;
            aastore
        20: .line 747
            invokestatic sun.font.AttributeValues.getMask:([Lsun/font/EAttribute;)I
            putstatic java.awt.Font.LAYOUT_MASK:I
        21: .line 754
            iconst_3
            anewarray sun.font.EAttribute
            dup
            iconst_0
        22: .line 755
            getstatic sun.font.EAttribute.ETRANSFORM:Lsun/font/EAttribute;
            aastore
            dup
            iconst_1
            getstatic sun.font.EAttribute.ESUPERSCRIPT:Lsun/font/EAttribute;
            aastore
            dup
            iconst_2
            getstatic sun.font.EAttribute.EWIDTH:Lsun/font/EAttribute;
            aastore
            invokestatic sun.font.AttributeValues.getMask:([Lsun/font/EAttribute;)I
            putstatic java.awt.Font.EXTRA_MASK:I
        23: .line 1345
            bipush 8
            newarray 6
            dup
            iconst_0
        24: .line 1346
            fconst_0
            fastore
            dup
            iconst_1
        25: .line 1347
            ldc 0.375
            fastore
            dup
            iconst_2
        26: .line 1348
            ldc 0.625
            fastore
            dup
            iconst_3
        27: .line 1349
            ldc 0.7916667
            fastore
            dup
            iconst_4
        28: .line 1350
            ldc 0.9027778
            fastore
            dup
            iconst_5
        29: .line 1351
            ldc 0.9768519
            fastore
            dup
            bipush 6
        30: .line 1352
            ldc 1.0262346
            fastore
            dup
            bipush 7
        31: .line 1353
            ldc 1.0591564
            fastore
        32: .line 1345
            putstatic java.awt.Font.ssinfo:[F
        33: .line 2854
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.awt.peer.FontPeer getFontPeer();
    descriptor: ()Ljava/awt/peer/FontPeer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.awt.Font this
         0: .line 456
            aload 0 /* this */
            getfield java.awt.Font.peer:Ljava/awt/peer/FontPeer;
            ifnonnull 4
         1: .line 457
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 1 /* tk */
        start local 1 // java.awt.Toolkit tk
         2: .line 458
            aload 1 /* tk */
            instanceof sun.awt.ComponentFactory
            ifeq 4
         3: .line 459
            aload 0 /* this */
            aload 1 /* tk */
            checkcast sun.awt.ComponentFactory
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 0 /* this */
            getfield java.awt.Font.style:I
            invokeinterface sun.awt.ComponentFactory.getFontPeer:(Ljava/lang/String;I)Ljava/awt/peer/FontPeer;
            putfield java.awt.Font.peer:Ljava/awt/peer/FontPeer;
        end local 1 // java.awt.Toolkit tk
         4: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.peer:Ljava/awt/peer/FontPeer;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/Font;
            2    4     1    tk  Ljava/awt/Toolkit;

  private sun.font.AttributeValues getAttributeValues();
    descriptor: ()Lsun/font/AttributeValues;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.awt.Font this
         0: .line 477
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnonnull 10
         1: .line 478
            new sun.font.AttributeValues
            dup
            invokespecial sun.font.AttributeValues.<init>:()V
            astore 1 /* valuesTmp */
        start local 1 // sun.font.AttributeValues valuesTmp
         2: .line 479
            aload 1 /* valuesTmp */
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            invokevirtual sun.font.AttributeValues.setFamily:(Ljava/lang/String;)V
         3: .line 480
            aload 1 /* valuesTmp */
            aload 0 /* this */
            getfield java.awt.Font.pointSize:F
            invokevirtual sun.font.AttributeValues.setSize:(F)V
         4: .line 482
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iconst_1
            iand
            ifeq 6
         5: .line 483
            aload 1 /* valuesTmp */
            fconst_2
            invokevirtual sun.font.AttributeValues.setWeight:(F)V
         6: .line 486
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iconst_2
            iand
            ifeq 8
         7: .line 487
            aload 1 /* valuesTmp */
            ldc 0.2
            invokevirtual sun.font.AttributeValues.setPosture:(F)V
         8: .line 489
      StackMap locals:
      StackMap stack:
            aload 1 /* valuesTmp */
            getstatic java.awt.Font.PRIMARY_MASK:I
            invokevirtual sun.font.AttributeValues.defineAll:(I)V
         9: .line 490
            aload 0 /* this */
            aload 1 /* valuesTmp */
            putfield java.awt.Font.values:Lsun/font/AttributeValues;
        end local 1 // sun.font.AttributeValues valuesTmp
        10: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljava/awt/Font;
            2   10     1  valuesTmp  Lsun/font/AttributeValues;

  private sun.font.Font2D getFont2D();
    descriptor: ()Lsun/font/Font2D;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.awt.Font this
         0: .line 497
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 1 /* fm */
        start local 1 // sun.font.FontManager fm
         1: .line 498
            aload 1 /* fm */
            invokeinterface sun.font.FontManager.usingPerAppContextComposites:()Z
            ifeq 8
         2: .line 499
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            ifnull 8
         3: .line 500
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            instanceof sun.font.CompositeFont
            ifeq 8
         4: .line 501
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            checkcast sun.font.CompositeFont
            invokevirtual sun.font.CompositeFont.isStdComposite:()Z
            ifeq 8
         5: .line 502
            aload 1 /* fm */
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 0 /* this */
            getfield java.awt.Font.style:I
         6: .line 503
            iconst_2
         7: .line 502
            invokeinterface sun.font.FontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            areturn
         8: .line 504
      StackMap locals: sun.font.FontManager
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            ifnonnull 15
         9: .line 505
            aload 0 /* this */
        10: .line 506
            aload 1 /* fm */
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 0 /* this */
            getfield java.awt.Font.style:I
        11: .line 507
            iconst_2
        12: .line 506
            invokeinterface sun.font.FontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
        13: .line 507
            getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
        14: .line 505
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        15: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            areturn
        end local 1 // sun.font.FontManager fm
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/awt/Font;
            1   16     1    fm  Lsun/font/FontManager;

  public void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String name
        start local 2 // int style
        start local 3 // int size
         0: .line 572
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 573
            aload 0 /* this */
            aload 1 /* name */
            ifnull 4
            aload 1 /* name */
            goto 5
      StackMap locals: java.awt.Font java.lang.String int int
      StackMap stack: java.awt.Font
         4: ldc "Default"
      StackMap locals: java.awt.Font java.lang.String int int
      StackMap stack: java.awt.Font java.lang.String
         5: putfield java.awt.Font.name:Ljava/lang/String;
         6: .line 574
            aload 0 /* this */
            iload 2 /* style */
            bipush -4
            iand
            ifne 7
            iload 2 /* style */
            goto 8
      StackMap locals:
      StackMap stack: java.awt.Font
         7: iconst_0
      StackMap locals: java.awt.Font java.lang.String int int
      StackMap stack: java.awt.Font int
         8: putfield java.awt.Font.style:I
         9: .line 575
            aload 0 /* this */
            iload 3 /* size */
            putfield java.awt.Font.size:I
        10: .line 576
            aload 0 /* this */
            iload 3 /* size */
            i2f
            putfield java.awt.Font.pointSize:F
        11: .line 577
            return
        end local 3 // int size
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/awt/Font;
            0   12     1   name  Ljava/lang/String;
            0   12     2  style  I
            0   12     3   size  I
    MethodParameters:
       Name  Flags
      name   
      style  
      size   

  private void <init>(java.lang.String, int, float);
    descriptor: (Ljava/lang/String;IF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String name
        start local 2 // int style
        start local 3 // float sizePts
         0: .line 579
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 580
            aload 0 /* this */
            aload 1 /* name */
            ifnull 4
            aload 1 /* name */
            goto 5
      StackMap locals: java.awt.Font java.lang.String int float
      StackMap stack: java.awt.Font
         4: ldc "Default"
      StackMap locals: java.awt.Font java.lang.String int float
      StackMap stack: java.awt.Font java.lang.String
         5: putfield java.awt.Font.name:Ljava/lang/String;
         6: .line 581
            aload 0 /* this */
            iload 2 /* style */
            bipush -4
            iand
            ifne 7
            iload 2 /* style */
            goto 8
      StackMap locals:
      StackMap stack: java.awt.Font
         7: iconst_0
      StackMap locals: java.awt.Font java.lang.String int float
      StackMap stack: java.awt.Font int
         8: putfield java.awt.Font.style:I
         9: .line 582
            aload 0 /* this */
            fload 3 /* sizePts */
            f2d
            ldc 0.5
            dadd
            d2i
            putfield java.awt.Font.size:I
        10: .line 583
            aload 0 /* this */
            fload 3 /* sizePts */
            putfield java.awt.Font.pointSize:F
        11: .line 584
            return
        end local 3 // float sizePts
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljava/awt/Font;
            0   12     1     name  Ljava/lang/String;
            0   12     2    style  I
            0   12     3  sizePts  F
    MethodParameters:
         Name  Flags
      name     
      style    
      sizePts  

  private void <init>(java.lang.String, int, float, boolean, sun.font.Font2DHandle);
    descriptor: (Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String name
        start local 2 // int style
        start local 3 // float sizePts
        start local 4 // boolean created
        start local 5 // sun.font.Font2DHandle handle
         0: .line 589
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* style */
            fload 3 /* sizePts */
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;IF)V
         1: .line 590
            aload 0 /* this */
            iload 4 /* created */
            putfield java.awt.Font.createdFont:Z
         2: .line 600
            iload 4 /* created */
            ifeq 9
         3: .line 601
            aload 5 /* handle */
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            instanceof sun.font.CompositeFont
            ifeq 8
         4: .line 602
            aload 5 /* handle */
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            invokevirtual sun.font.Font2D.getStyle:()I
            iload 2 /* style */
            if_icmpeq 8
         5: .line 603
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 6 /* fm */
        start local 6 // sun.font.FontManager fm
         6: .line 604
            aload 0 /* this */
            aload 6 /* fm */
            aconst_null
            iload 2 /* style */
            aload 5 /* handle */
            invokeinterface sun.font.FontManager.getNewComposite:(Ljava/lang/String;ILsun/font/Font2DHandle;)Lsun/font/Font2DHandle;
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        end local 6 // sun.font.FontManager fm
         7: .line 605
            goto 9
         8: .line 606
      StackMap locals: java.awt.Font java.lang.String int float int sun.font.Font2DHandle
      StackMap stack:
            aload 0 /* this */
            aload 5 /* handle */
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
         9: .line 609
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.font.Font2DHandle handle
        end local 4 // boolean created
        end local 3 // float sizePts
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljava/awt/Font;
            0   10     1     name  Ljava/lang/String;
            0   10     2    style  I
            0   10     3  sizePts  F
            0   10     4  created  Z
            0   10     5   handle  Lsun/font/Font2DHandle;
            6    7     6       fm  Lsun/font/FontManager;
    MethodParameters:
         Name  Flags
      name     
      style    
      sizePts  
      created  
      handle   

  private void <init>(java.io.File, int, boolean, sun.font.CreatedFontTracker);
    descriptor: (Ljava/io/File;IZLsun/font/CreatedFontTracker;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // java.io.File fontFile
        start local 2 // int fontFormat
        start local 3 // boolean isCopy
        start local 4 // sun.font.CreatedFontTracker tracker
         0: .line 612
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 615
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.createdFont:Z
         4: .line 619
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 5 /* fm */
        start local 5 // sun.font.FontManager fm
         5: .line 621
            aload 5 /* fm */
            aload 1 /* fontFile */
            iload 2 /* fontFormat */
            iconst_0
            iload 3 /* isCopy */
            aload 4 /* tracker */
            invokeinterface sun.font.FontManager.createFont2D:(Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
         6: .line 620
            astore 6 /* fonts */
        start local 6 // sun.font.Font2D[] fonts
         7: .line 622
            aload 0 /* this */
            aload 6 /* fonts */
            iconst_0
            aaload
            getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
         8: .line 623
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            putfield java.awt.Font.name:Ljava/lang/String;
         9: .line 624
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.style:I
        10: .line 625
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.size:I
        11: .line 626
            aload 0 /* this */
            fconst_1
            putfield java.awt.Font.pointSize:F
        12: .line 627
            return
        end local 6 // sun.font.Font2D[] fonts
        end local 5 // sun.font.FontManager fm
        end local 4 // sun.font.CreatedFontTracker tracker
        end local 3 // boolean isCopy
        end local 2 // int fontFormat
        end local 1 // java.io.File fontFile
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljava/awt/Font;
            0   13     1    fontFile  Ljava/io/File;
            0   13     2  fontFormat  I
            0   13     3      isCopy  Z
            0   13     4     tracker  Lsun/font/CreatedFontTracker;
            5   13     5          fm  Lsun/font/FontManager;
            7   13     6       fonts  [Lsun/font/Font2D;
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
            Name  Flags
      fontFile    
      fontFormat  
      isCopy      
      tracker     

  private void <init>(sun.font.AttributeValues, java.lang.String, int, boolean, sun.font.Font2DHandle);
    descriptor: (Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // java.awt.Font this
        start local 1 // sun.font.AttributeValues values
        start local 2 // java.lang.String oldName
        start local 3 // int oldStyle
        start local 4 // boolean created
        start local 5 // sun.font.Font2DHandle handle
         0: .line 652
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 655
            aload 0 /* this */
            iload 4 /* created */
            putfield java.awt.Font.createdFont:Z
         4: .line 656
            iload 4 /* created */
            ifeq 27
         5: .line 657
            aload 0 /* this */
            aload 5 /* handle */
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
         6: .line 659
            aconst_null
            astore 6 /* newName */
        start local 6 // java.lang.String newName
         7: .line 660
            aload 2 /* oldName */
            ifnull 10
         8: .line 661
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getFamily:()Ljava/lang/String;
            astore 6 /* newName */
         9: .line 662
            aload 2 /* oldName */
            aload 6 /* newName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
            aconst_null
            astore 6 /* newName */
        10: .line 664
      StackMap locals: java.awt.Font sun.font.AttributeValues java.lang.String int int sun.font.Font2DHandle java.lang.String
      StackMap stack:
            iconst_0
            istore 7 /* newStyle */
        start local 7 // int newStyle
        11: .line 665
            iload 3 /* oldStyle */
            iconst_m1
            if_icmpne 14
        12: .line 666
            iconst_m1
            istore 7 /* newStyle */
        13: .line 667
            goto 17
        14: .line 668
      StackMap locals: int
      StackMap stack:
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getWeight:()F
            fconst_2
            fcmpl
            iflt 15
            iconst_1
            istore 7 /* newStyle */
        15: .line 669
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getPosture:()F
            ldc 0.2
            fcmpl
            iflt 16
            iload 7 /* newStyle */
            iconst_2
            ior
            istore 7 /* newStyle */
        16: .line 670
      StackMap locals:
      StackMap stack:
            iload 3 /* oldStyle */
            iload 7 /* newStyle */
            if_icmpne 17
            iconst_m1
            istore 7 /* newStyle */
        17: .line 672
      StackMap locals:
      StackMap stack:
            aload 5 /* handle */
            getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
            instanceof sun.font.CompositeFont
            ifeq 24
        18: .line 673
            iload 7 /* newStyle */
            iconst_m1
            if_icmpne 19
            aload 6 /* newName */
            ifnull 27
        19: .line 674
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 8 /* fm */
        start local 8 // sun.font.FontManager fm
        20: .line 675
            aload 0 /* this */
        21: .line 676
            aload 8 /* fm */
            aload 6 /* newName */
            iload 7 /* newStyle */
            aload 5 /* handle */
            invokeinterface sun.font.FontManager.getNewComposite:(Ljava/lang/String;ILsun/font/Font2DHandle;)Lsun/font/Font2DHandle;
        22: .line 675
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        end local 8 // sun.font.FontManager fm
        23: .line 678
            goto 27
      StackMap locals:
      StackMap stack:
        24: aload 6 /* newName */
            ifnull 27
        25: .line 679
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
        26: .line 680
            aload 0 /* this */
            aconst_null
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        end local 7 // int newStyle
        end local 6 // java.lang.String newName
        27: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* values */
            invokevirtual java.awt.Font.initFromValues:(Lsun/font/AttributeValues;)V
        28: .line 684
            return
        end local 5 // sun.font.Font2DHandle handle
        end local 4 // boolean created
        end local 3 // int oldStyle
        end local 2 // java.lang.String oldName
        end local 1 // sun.font.AttributeValues values
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Ljava/awt/Font;
            0   29     1    values  Lsun/font/AttributeValues;
            0   29     2   oldName  Ljava/lang/String;
            0   29     3  oldStyle  I
            0   29     4   created  Z
            0   29     5    handle  Lsun/font/Font2DHandle;
            7   27     6   newName  Ljava/lang/String;
           11   27     7  newStyle  I
           20   23     8        fm  Lsun/font/FontManager;
    MethodParameters:
          Name  Flags
      values    
      oldName   
      oldStyle  
      created   
      handle    

  public void <init>(java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.util.Map attributes
         0: .line 700
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 701
            aload 0 /* this */
            aload 1 /* attributes */
            getstatic java.awt.Font.RECOGNIZED_MASK:I
            invokestatic sun.font.AttributeValues.fromMap:(Ljava/util/Map;I)Lsun/font/AttributeValues;
            invokevirtual java.awt.Font.initFromValues:(Lsun/font/AttributeValues;)V
         4: .line 702
            return
        end local 1 // java.util.Map attributes
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljava/awt/Font;
            0    5     1  attributes  Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
    Signature: (Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)V
    MethodParameters:
            Name  Flags
      attributes  

  protected void <init>(java.awt.Font);
    descriptor: (Ljava/awt/Font;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.awt.Font font
         0: .line 711
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 712
            aload 1 /* font */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnull 6
         4: .line 713
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            invokevirtual java.awt.Font.initFromValues:(Lsun/font/AttributeValues;)V
         5: .line 714
            goto 10
         6: .line 715
      StackMap locals: java.awt.Font java.awt.Font
      StackMap stack:
            aload 0 /* this */
            aload 1 /* font */
            getfield java.awt.Font.name:Ljava/lang/String;
            putfield java.awt.Font.name:Ljava/lang/String;
         7: .line 716
            aload 0 /* this */
            aload 1 /* font */
            getfield java.awt.Font.style:I
            putfield java.awt.Font.style:I
         8: .line 717
            aload 0 /* this */
            aload 1 /* font */
            getfield java.awt.Font.size:I
            putfield java.awt.Font.size:I
         9: .line 718
            aload 0 /* this */
            aload 1 /* font */
            getfield java.awt.Font.pointSize:F
            putfield java.awt.Font.pointSize:F
        10: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* font */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        11: .line 721
            aload 0 /* this */
            aload 1 /* font */
            getfield java.awt.Font.createdFont:Z
            putfield java.awt.Font.createdFont:Z
        12: .line 722
            return
        end local 1 // java.awt.Font font
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/awt/Font;
            0   13     1  font  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      font  

  private void initFromValues(sun.font.AttributeValues);
    descriptor: (Lsun/font/AttributeValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // sun.font.AttributeValues values
         0: .line 761
            aload 0 /* this */
            aload 1 /* values */
            putfield java.awt.Font.values:Lsun/font/AttributeValues;
         1: .line 762
            aload 1 /* values */
            getstatic java.awt.Font.PRIMARY_MASK:I
            invokevirtual sun.font.AttributeValues.defineAll:(I)V
         2: .line 764
            aload 0 /* this */
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getFamily:()Ljava/lang/String;
            putfield java.awt.Font.name:Ljava/lang/String;
         3: .line 765
            aload 0 /* this */
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getSize:()F
            putfield java.awt.Font.pointSize:F
         4: .line 766
            aload 0 /* this */
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getSize:()F
            f2d
            ldc 0.5
            dadd
            d2i
            putfield java.awt.Font.size:I
         5: .line 767
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getWeight:()F
            fconst_2
            fcmpl
            iflt 6
            aload 0 /* this */
            dup
            getfield java.awt.Font.style:I
            iconst_1
            ior
            putfield java.awt.Font.style:I
         6: .line 768
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getPosture:()F
            ldc 0.2
            fcmpl
            iflt 7
            aload 0 /* this */
            dup
            getfield java.awt.Font.style:I
            iconst_2
            ior
            putfield java.awt.Font.style:I
         7: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* values */
            getstatic java.awt.Font.EXTRA_MASK:I
            invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
            putfield java.awt.Font.nonIdentityTx:Z
         8: .line 771
            aload 0 /* this */
            aload 1 /* values */
            getstatic java.awt.Font.LAYOUT_MASK:I
            invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
            putfield java.awt.Font.hasLayoutAttributes:Z
         9: .line 772
            return
        end local 1 // sun.font.AttributeValues values
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/awt/Font;
            0   10     1  values  Lsun/font/AttributeValues;
    MethodParameters:
        Name  Flags
      values  

  public static boolean textRequiresLayout(char[], int, int);
    descriptor: ([CII)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // char[] chars
        start local 1 // int start
        start local 2 // int end
         0: .line 808
            aload 0 /* chars */
            ifnonnull 2
         1: .line 809
            new java.lang.NullPointerException
            dup
            ldc "null char array"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 811
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iflt 3
            iload 2 /* end */
            aload 0 /* chars */
            arraylength
            if_icmple 4
         3: .line 812
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            ldc "start < 0 or end > len"
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* start */
            iload 2 /* end */
            invokestatic sun.font.FontUtilities.isComplexScript:([CII)Z
            ireturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  chars  [C
            0    5     1  start  I
            0    5     2    end  I
    MethodParameters:
       Name  Flags
      chars  
      start  
      end    

  public static java.awt.Font getFont(java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
    descriptor: (Ljava/util/Map;)Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.util.Map attributes
         0: .line 839
            aload 0 /* attributes */
            instanceof sun.font.AttributeMap
            ifeq 13
         1: .line 840
            aload 0 /* attributes */
            checkcast sun.font.AttributeMap
            invokevirtual sun.font.AttributeMap.getValues:()Lsun/font/AttributeValues;
            ifnull 13
         2: .line 841
            aload 0 /* attributes */
            checkcast sun.font.AttributeMap
            invokevirtual sun.font.AttributeMap.getValues:()Lsun/font/AttributeValues;
            astore 1 /* values */
        start local 1 // sun.font.AttributeValues values
         3: .line 842
            aload 1 /* values */
            getstatic sun.font.EAttribute.EFONT:Lsun/font/EAttribute;
            invokevirtual sun.font.AttributeValues.isNonDefault:(Lsun/font/EAttribute;)Z
            ifeq 12
         4: .line 843
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getFont:()Ljava/awt/Font;
            astore 2 /* font */
        start local 2 // java.awt.Font font
         5: .line 844
            aload 1 /* values */
            getstatic java.awt.Font.SECONDARY_MASK:I
            invokevirtual sun.font.AttributeValues.anyDefined:(I)Z
            ifne 7
         6: .line 845
            aload 2 /* font */
            areturn
         7: .line 848
      StackMap locals: sun.font.AttributeValues java.awt.Font
      StackMap stack:
            aload 2 /* font */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 1 /* values */
         8: .line 849
            aload 1 /* values */
            aload 0 /* attributes */
            getstatic java.awt.Font.SECONDARY_MASK:I
            invokevirtual sun.font.AttributeValues.merge:(Ljava/util/Map;I)Lsun/font/AttributeValues;
            pop
         9: .line 850
            new java.awt.Font
            dup
            aload 1 /* values */
            aload 2 /* font */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 2 /* font */
            getfield java.awt.Font.style:I
        10: .line 851
            aload 2 /* font */
            getfield java.awt.Font.createdFont:Z
            aload 2 /* font */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        11: .line 850
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 2 // java.awt.Font font
        12: .line 853
      StackMap locals:
      StackMap stack:
            new java.awt.Font
            dup
            aload 0 /* attributes */
            invokespecial java.awt.Font.<init>:(Ljava/util/Map;)V
            areturn
        end local 1 // sun.font.AttributeValues values
        13: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* attributes */
            getstatic java.awt.font.TextAttribute.FONT:Ljava/awt/font/TextAttribute;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.Font
            astore 1 /* font */
        start local 1 // java.awt.Font font
        14: .line 857
            aload 1 /* font */
            ifnull 22
        15: .line 858
            aload 0 /* attributes */
            invokeinterface java.util.Map.size:()I
            iconst_1
            if_icmple 21
        16: .line 859
            aload 1 /* font */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 2 /* values */
        start local 2 // sun.font.AttributeValues values
        17: .line 860
            aload 2 /* values */
            aload 0 /* attributes */
            getstatic java.awt.Font.SECONDARY_MASK:I
            invokevirtual sun.font.AttributeValues.merge:(Ljava/util/Map;I)Lsun/font/AttributeValues;
            pop
        18: .line 861
            new java.awt.Font
            dup
            aload 2 /* values */
            aload 1 /* font */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 1 /* font */
            getfield java.awt.Font.style:I
        19: .line 862
            aload 1 /* font */
            getfield java.awt.Font.createdFont:Z
            aload 1 /* font */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
        20: .line 861
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 2 // sun.font.AttributeValues values
        21: .line 865
      StackMap locals: java.awt.Font
      StackMap stack:
            aload 1 /* font */
            areturn
        22: .line 868
      StackMap locals:
      StackMap stack:
            new java.awt.Font
            dup
            aload 0 /* attributes */
            invokespecial java.awt.Font.<init>:(Ljava/util/Map;)V
            areturn
        end local 1 // java.awt.Font font
        end local 0 // java.util.Map attributes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0  attributes  Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
            3   13     1      values  Lsun/font/AttributeValues;
            5   12     2        font  Ljava/awt/Font;
           14   23     1        font  Ljava/awt/Font;
           17   21     2      values  Lsun/font/AttributeValues;
    Signature: (Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/Font;
    MethodParameters:
            Name  Flags
      attributes  

  private static boolean hasTempPermission();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 878
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 2
         1: .line 879
            iconst_1
            ireturn
         2: .line 881
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 0 /* f */
        start local 0 // java.io.File f
         3: .line 882
            iconst_0
            istore 1 /* hasPerm */
        start local 1 // boolean hasPerm
         4: .line 884
            ldc "+~JT"
            ldc ".tmp"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempFile:(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            astore 0 /* f */
         5: .line 885
            aload 0 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
         6: .line 886
            aconst_null
            astore 0 /* f */
         7: .line 887
            iconst_1
            istore 1 /* hasPerm */
         8: .line 888
            goto 10
      StackMap locals: java.io.File int
      StackMap stack: java.lang.Throwable
         9: pop
        10: .line 891
      StackMap locals:
      StackMap stack:
            iload 1 /* hasPerm */
            ireturn
        end local 1 // boolean hasPerm
        end local 0 // java.io.File f
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            3   11     0        f  Ljava/io/File;
            4   11     1  hasPerm  Z
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.Throwable

  public static java.awt.Font[] createFonts(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)[Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.InputStream fontStream
         0: .line 935
            invokestatic java.awt.Font.hasTempPermission:()Z
            ifeq 2
         1: .line 936
            iconst_0
            aload 0 /* fontStream */
            iconst_1
            aconst_null
            invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
            areturn
         2: .line 941
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.CreatedFontTracker.getTracker:()Lsun/font/CreatedFontTracker;
            astore 1 /* tracker */
        start local 1 // sun.font.CreatedFontTracker tracker
         3: .line 942
            iconst_0
            istore 2 /* acquired */
        start local 2 // boolean acquired
         4: .line 944
            aload 1 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.acquirePermit:()Z
            istore 2 /* acquired */
         5: .line 945
            iload 2 /* acquired */
            ifne 7
         6: .line 946
            new java.io.IOException
            dup
            ldc "Timed out waiting for resources."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 948
      StackMap locals: sun.font.CreatedFontTracker int
      StackMap stack:
            iconst_0
            aload 0 /* fontStream */
            iconst_1
            aload 1 /* tracker */
            invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
            astore 4
         8: .line 952
            iload 2 /* acquired */
            ifeq 10
         9: .line 953
            aload 1 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
        10: .line 948
      StackMap locals: java.io.InputStream sun.font.CreatedFontTracker int top java.awt.Font[]
      StackMap stack:
            aload 4
            areturn
        11: .line 949
      StackMap locals: java.io.InputStream sun.font.CreatedFontTracker int
      StackMap stack: java.lang.InterruptedException
            pop
        12: .line 950
            new java.io.IOException
            dup
            ldc "Problem reading font data."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 951
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        14: .line 952
            iload 2 /* acquired */
            ifeq 16
        15: .line 953
            aload 1 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
        16: .line 955
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        end local 2 // boolean acquired
        end local 1 // sun.font.CreatedFontTracker tracker
        end local 0 // java.io.InputStream fontStream
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0  fontStream  Ljava/io/InputStream;
            3   17     1     tracker  Lsun/font/CreatedFontTracker;
            4   17     2    acquired  Z
      Exception table:
        from    to  target  type
           4     8      11  Class java.lang.InterruptedException
           4     8      13  any
          11    13      13  any
    Exceptions:
      throws java.awt.FontFormatException, java.io.IOException
    MethodParameters:
            Name  Flags
      fontStream  

  private void <init>(sun.font.Font2D);
    descriptor: (Lsun/font/Font2D;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // sun.font.Font2D font2D
         0: .line 959
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.createdFont:Z
         2: .line 1888
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.fontSerializedDataVersion:I
         3: .line 961
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.createdFont:Z
         4: .line 962
            aload 0 /* this */
            aload 1 /* font2D */
            getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
            putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
         5: .line 963
            aload 0 /* this */
            aload 1 /* font2D */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            putfield java.awt.Font.name:Ljava/lang/String;
         6: .line 964
            aload 0 /* this */
            iconst_0
            putfield java.awt.Font.style:I
         7: .line 965
            aload 0 /* this */
            iconst_1
            putfield java.awt.Font.size:I
         8: .line 966
            aload 0 /* this */
            fconst_1
            putfield java.awt.Font.pointSize:F
         9: .line 967
            return
        end local 1 // sun.font.Font2D font2D
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/awt/Font;
            0   10     1  font2D  Lsun/font/Font2D;
    MethodParameters:
        Name  Flags
      font2D  

  public static java.awt.Font[] createFonts(java.io.File);
    descriptor: (Ljava/io/File;)[Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.io.File fontFile
         0: .line 1007
            iconst_0
            istore 1 /* fontFormat */
        start local 1 // int fontFormat
         1: .line 1008
            iload 1 /* fontFormat */
            aload 0 /* fontFile */
            invokestatic java.awt.Font.checkFontFile:(ILjava/io/File;)Ljava/io/File;
            astore 0 /* fontFile */
         2: .line 1009
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 2 /* fm */
        start local 2 // sun.font.FontManager fm
         3: .line 1011
            aload 2 /* fm */
            aload 0 /* fontFile */
            iload 1 /* fontFormat */
            iconst_1
            iconst_0
            aconst_null
            invokeinterface sun.font.FontManager.createFont2D:(Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
         4: .line 1010
            astore 3 /* font2DArr */
        start local 3 // sun.font.Font2D[] font2DArr
         5: .line 1012
            aload 3 /* font2DArr */
            arraylength
            istore 4 /* num */
        start local 4 // int num
         6: .line 1013
            iload 4 /* num */
            anewarray java.awt.Font
            astore 5 /* fonts */
        start local 5 // java.awt.Font[] fonts
         7: .line 1014
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 11
         9: .line 1015
      StackMap locals: java.io.File int sun.font.FontManager sun.font.Font2D[] int java.awt.Font[] int
      StackMap stack:
            aload 5 /* fonts */
            iload 6 /* i */
            new java.awt.Font
            dup
            aload 3 /* font2DArr */
            iload 6 /* i */
            aaload
            invokespecial java.awt.Font.<init>:(Lsun/font/Font2D;)V
            aastore
        10: .line 1014
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 4 /* num */
            if_icmplt 9
        end local 6 // int i
        12: .line 1017
            aload 5 /* fonts */
            areturn
        end local 5 // java.awt.Font[] fonts
        end local 4 // int num
        end local 3 // sun.font.Font2D[] font2DArr
        end local 2 // sun.font.FontManager fm
        end local 1 // int fontFormat
        end local 0 // java.io.File fontFile
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0    fontFile  Ljava/io/File;
            1   13     1  fontFormat  I
            3   13     2          fm  Lsun/font/FontManager;
            5   13     3   font2DArr  [Lsun/font/Font2D;
            6   13     4         num  I
            7   13     5       fonts  [Ljava/awt/Font;
            8   12     6           i  I
    Exceptions:
      throws java.awt.FontFormatException, java.io.IOException
    MethodParameters:
          Name  Flags
      fontFile  

  public static java.awt.Font createFont(int, java.io.InputStream);
    descriptor: (ILjava/io/InputStream;)Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // int fontFormat
        start local 1 // java.io.InputStream fontStream
         0: .line 1051
            invokestatic java.awt.Font.hasTempPermission:()Z
            ifeq 2
         1: .line 1052
            iload 0 /* fontFormat */
            aload 1 /* fontStream */
            iconst_0
            aconst_null
            invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
            iconst_0
            aaload
            areturn
         2: .line 1057
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.CreatedFontTracker.getTracker:()Lsun/font/CreatedFontTracker;
            astore 2 /* tracker */
        start local 2 // sun.font.CreatedFontTracker tracker
         3: .line 1058
            iconst_0
            istore 3 /* acquired */
        start local 3 // boolean acquired
         4: .line 1060
            aload 2 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.acquirePermit:()Z
            istore 3 /* acquired */
         5: .line 1061
            iload 3 /* acquired */
            ifne 7
         6: .line 1062
            new java.io.IOException
            dup
            ldc "Timed out waiting for resources."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1064
      StackMap locals: sun.font.CreatedFontTracker int
      StackMap stack:
            iload 0 /* fontFormat */
            aload 1 /* fontStream */
            iconst_0
            aload 2 /* tracker */
            invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
            iconst_0
            aaload
            astore 5
         8: .line 1068
            iload 3 /* acquired */
            ifeq 10
         9: .line 1069
            aload 2 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
        10: .line 1064
      StackMap locals: int java.io.InputStream sun.font.CreatedFontTracker int top java.awt.Font
      StackMap stack:
            aload 5
            areturn
        11: .line 1065
      StackMap locals: int java.io.InputStream sun.font.CreatedFontTracker int
      StackMap stack: java.lang.InterruptedException
            pop
        12: .line 1066
            new java.io.IOException
            dup
            ldc "Problem reading font data."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1067
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        14: .line 1068
            iload 3 /* acquired */
            ifeq 16
        15: .line 1069
            aload 2 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
        16: .line 1071
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 3 // boolean acquired
        end local 2 // sun.font.CreatedFontTracker tracker
        end local 1 // java.io.InputStream fontStream
        end local 0 // int fontFormat
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0  fontFormat  I
            0   17     1  fontStream  Ljava/io/InputStream;
            3   17     2     tracker  Lsun/font/CreatedFontTracker;
            4   17     3    acquired  Z
      Exception table:
        from    to  target  type
           4     8      11  Class java.lang.InterruptedException
           4     8      13  any
          11    13      13  any
    Exceptions:
      throws java.awt.FontFormatException, java.io.IOException
    MethodParameters:
            Name  Flags
      fontFormat  
      fontStream  

  private static java.awt.Font[] createFont0(int, java.io.InputStream, boolean, sun.font.CreatedFontTracker);
    descriptor: (ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // int fontFormat
        start local 1 // java.io.InputStream fontStream
        start local 2 // boolean allFonts
        start local 3 // sun.font.CreatedFontTracker tracker
         0: .line 1079
            iload 0 /* fontFormat */
            ifeq 3
         1: .line 1080
            iload 0 /* fontFormat */
            iconst_1
            if_icmpeq 3
         2: .line 1081
            new java.lang.IllegalArgumentException
            dup
            ldc "font format not recognized"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1083
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* copiedFontData */
        start local 4 // boolean copiedFontData
         4: .line 1086
            new java.awt.Font$1
            dup
            invokespecial java.awt.Font$1.<init>:()V
         5: .line 1085
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.io.File
            astore 5 /* tFile */
        start local 5 // java.io.File tFile
         6: .line 1092
            aload 3 /* tracker */
            ifnull 8
         7: .line 1093
            aload 3 /* tracker */
            aload 5 /* tFile */
            invokevirtual sun.font.CreatedFontTracker.add:(Ljava/io/File;)V
         8: .line 1096
      StackMap locals: int java.io.File
      StackMap stack:
            iconst_0
            istore 6 /* totalSize */
        start local 6 // int totalSize
         9: .line 1100
            new java.awt.Font$3
            dup
            aload 5 /* tFile */
            invokespecial java.awt.Font$3.<init>:(Ljava/io/File;)V
        10: .line 1099
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.io.OutputStream
        11: .line 1098
            astore 7 /* outStream */
        start local 7 // java.io.OutputStream outStream
        12: .line 1106
            aload 3 /* tracker */
            ifnull 14
        13: .line 1107
            aload 3 /* tracker */
            aload 5 /* tFile */
            aload 7 /* outStream */
            invokevirtual sun.font.CreatedFontTracker.set:(Ljava/io/File;Ljava/io/OutputStream;)V
        14: .line 1110
      StackMap locals: int java.io.OutputStream
      StackMap stack:
            sipush 8192
            newarray 8
            astore 8 /* buf */
        start local 8 // byte[] buf
        15: .line 1112
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* fontStream */
            aload 8 /* buf */
            invokevirtual java.io.InputStream.read:([B)I
            istore 9 /* bytesRead */
        start local 9 // int bytesRead
        16: .line 1113
            iload 9 /* bytesRead */
            ifge 18
        17: .line 1114
            goto 31
        18: .line 1116
      StackMap locals: int
      StackMap stack:
            aload 3 /* tracker */
            ifnull 26
        19: .line 1117
            iload 6 /* totalSize */
            iload 9 /* bytesRead */
            iadd
            ldc 33554432
            if_icmple 21
        20: .line 1118
            new java.io.IOException
            dup
            ldc "File too big."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 1120
      StackMap locals:
      StackMap stack:
            iload 6 /* totalSize */
            aload 3 /* tracker */
            invokevirtual sun.font.CreatedFontTracker.getNumBytes:()I
            iadd
        22: .line 1121
            ldc 335544320
            if_icmple 24
        23: .line 1123
            new java.io.IOException
            dup
            ldc "Total files too big."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 1125
      StackMap locals:
      StackMap stack:
            iload 6 /* totalSize */
            iload 9 /* bytesRead */
            iadd
            istore 6 /* totalSize */
        25: .line 1126
            aload 3 /* tracker */
            iload 9 /* bytesRead */
            invokevirtual sun.font.CreatedFontTracker.addBytes:(I)V
        26: .line 1128
      StackMap locals:
      StackMap stack:
            aload 7 /* outStream */
            aload 8 /* buf */
            iconst_0
            iload 9 /* bytesRead */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 9 // int bytesRead
        27: .line 1111
            goto 15
        end local 8 // byte[] buf
        28: .line 1131
      StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int java.io.OutputStream
      StackMap stack: java.lang.Throwable
            astore 10
        29: .line 1132
            aload 7 /* outStream */
            invokevirtual java.io.OutputStream.close:()V
        30: .line 1133
            aload 10
            athrow
        31: .line 1132
      StackMap locals:
      StackMap stack:
            aload 7 /* outStream */
            invokevirtual java.io.OutputStream.close:()V
        32: .line 1144
            iconst_1
            istore 4 /* copiedFontData */
        33: .line 1145
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 8 /* fm */
        start local 8 // sun.font.FontManager fm
        34: .line 1147
            aload 8 /* fm */
            aload 5 /* tFile */
            iload 0 /* fontFormat */
            iload 2 /* allFonts */
            iconst_1
            aload 3 /* tracker */
            invokeinterface sun.font.FontManager.createFont2D:(Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
        35: .line 1146
            astore 9 /* font2DArr */
        start local 9 // sun.font.Font2D[] font2DArr
        36: .line 1148
            aload 9 /* font2DArr */
            arraylength
            istore 10 /* num */
        start local 10 // int num
        37: .line 1149
            iload 10 /* num */
            anewarray java.awt.Font
            astore 11 /* fonts */
        start local 11 // java.awt.Font[] fonts
        38: .line 1150
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        39: goto 42
        40: .line 1151
      StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int java.io.OutputStream sun.font.FontManager sun.font.Font2D[] int java.awt.Font[] int
      StackMap stack:
            aload 11 /* fonts */
            iload 12 /* i */
            new java.awt.Font
            dup
            aload 9 /* font2DArr */
            iload 12 /* i */
            aaload
            invokespecial java.awt.Font.<init>:(Lsun/font/Font2D;)V
            aastore
        41: .line 1150
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 12 /* i */
            iload 10 /* num */
            if_icmplt 40
        end local 12 // int i
        43: .line 1153
            aload 11 /* fonts */
            astore 14
        44: .line 1155
            aload 3 /* tracker */
            ifnull 46
        45: .line 1156
            aload 3 /* tracker */
            aload 5 /* tFile */
            invokevirtual sun.font.CreatedFontTracker.remove:(Ljava/io/File;)V
        46: .line 1158
      StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int java.io.OutputStream sun.font.FontManager sun.font.Font2D[] int java.awt.Font[] top top java.awt.Font[]
      StackMap stack:
            iload 4 /* copiedFontData */
            ifne 51
        47: .line 1159
            aload 3 /* tracker */
            ifnull 49
        48: .line 1160
            aload 3 /* tracker */
            iload 6 /* totalSize */
            invokevirtual sun.font.CreatedFontTracker.subBytes:(I)V
        49: .line 1163
      StackMap locals:
      StackMap stack:
            new java.awt.Font$2
            dup
            aload 5 /* tFile */
            invokespecial java.awt.Font$2.<init>:(Ljava/io/File;)V
        50: .line 1162
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        51: .line 1153
      StackMap locals:
      StackMap stack:
            aload 14
            areturn
        end local 11 // java.awt.Font[] fonts
        end local 10 // int num
        end local 9 // sun.font.Font2D[] font2DArr
        end local 8 // sun.font.FontManager fm
        end local 7 // java.io.OutputStream outStream
        52: .line 1154
      StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int
      StackMap stack: java.lang.Throwable
            astore 13
        53: .line 1155
            aload 3 /* tracker */
            ifnull 55
        54: .line 1156
            aload 3 /* tracker */
            aload 5 /* tFile */
            invokevirtual sun.font.CreatedFontTracker.remove:(Ljava/io/File;)V
        55: .line 1158
      StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int top top top top top top java.lang.Throwable
      StackMap stack:
            iload 4 /* copiedFontData */
            ifne 60
        56: .line 1159
            aload 3 /* tracker */
            ifnull 58
        57: .line 1160
            aload 3 /* tracker */
            iload 6 /* totalSize */
            invokevirtual sun.font.CreatedFontTracker.subBytes:(I)V
        58: .line 1163
      StackMap locals:
      StackMap stack:
            new java.awt.Font$2
            dup
            aload 5 /* tFile */
            invokespecial java.awt.Font$2.<init>:(Ljava/io/File;)V
        59: .line 1162
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        60: .line 1171
      StackMap locals:
      StackMap stack:
            aload 13
            athrow
        end local 6 // int totalSize
        end local 5 // java.io.File tFile
        61: .line 1172
      StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        62: .line 1173
            aload 5 /* t */
            instanceof java.awt.FontFormatException
            ifeq 64
        63: .line 1174
            aload 5 /* t */
            checkcast java.awt.FontFormatException
            athrow
        64: .line 1176
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5 /* t */
            instanceof java.io.IOException
            ifeq 66
        65: .line 1177
            aload 5 /* t */
            checkcast java.io.IOException
            athrow
        66: .line 1179
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 6 /* cause */
        start local 6 // java.lang.Throwable cause
        67: .line 1180
            aload 6 /* cause */
            instanceof java.awt.FontFormatException
            ifeq 69
        68: .line 1181
            aload 6 /* cause */
            checkcast java.awt.FontFormatException
            athrow
        69: .line 1183
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Problem reading font data."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Throwable cause
        end local 5 // java.lang.Throwable t
        end local 4 // boolean copiedFontData
        end local 3 // sun.font.CreatedFontTracker tracker
        end local 2 // boolean allFonts
        end local 1 // java.io.InputStream fontStream
        end local 0 // int fontFormat
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   70     0      fontFormat  I
            0   70     1      fontStream  Ljava/io/InputStream;
            0   70     2        allFonts  Z
            0   70     3         tracker  Lsun/font/CreatedFontTracker;
            4   70     4  copiedFontData  Z
            6   61     5           tFile  Ljava/io/File;
            9   61     6       totalSize  I
           12   52     7       outStream  Ljava/io/OutputStream;
           15   28     8             buf  [B
           16   27     9       bytesRead  I
           34   52     8              fm  Lsun/font/FontManager;
           36   52     9       font2DArr  [Lsun/font/Font2D;
           37   52    10             num  I
           38   52    11           fonts  [Ljava/awt/Font;
           39   43    12               i  I
           62   70     5               t  Ljava/lang/Throwable;
           67   70     6           cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    28      28  any
           9    44      52  any
           4    51      61  Class java.lang.Throwable
          52    61      61  Class java.lang.Throwable
    Exceptions:
      throws java.awt.FontFormatException, java.io.IOException
    MethodParameters:
            Name  Flags
      fontFormat  
      fontStream  
      allFonts    
      tracker     

  public static java.awt.Font createFont(int, java.io.File);
    descriptor: (ILjava/io/File;)Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // int fontFormat
        start local 1 // java.io.File fontFile
         0: .line 1224
            iload 0 /* fontFormat */
            aload 1 /* fontFile */
            invokestatic java.awt.Font.checkFontFile:(ILjava/io/File;)Ljava/io/File;
            astore 1 /* fontFile */
         1: .line 1225
            new java.awt.Font
            dup
            aload 1 /* fontFile */
            iload 0 /* fontFormat */
            iconst_0
            aconst_null
            invokespecial java.awt.Font.<init>:(Ljava/io/File;IZLsun/font/CreatedFontTracker;)V
            areturn
        end local 1 // java.io.File fontFile
        end local 0 // int fontFormat
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  fontFormat  I
            0    2     1    fontFile  Ljava/io/File;
    Exceptions:
      throws java.awt.FontFormatException, java.io.IOException
    MethodParameters:
            Name  Flags
      fontFormat  
      fontFile    

  private static java.io.File checkFontFile(int, java.io.File);
    descriptor: (ILjava/io/File;)Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int fontFormat
        start local 1 // java.io.File fontFile
         0: .line 1231
            new java.io.File
            dup
            aload 1 /* fontFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* fontFile */
         1: .line 1233
            iload 0 /* fontFormat */
            ifeq 4
         2: .line 1234
            iload 0 /* fontFormat */
            iconst_1
            if_icmpeq 4
         3: .line 1235
            new java.lang.IllegalArgumentException
            dup
            ldc "font format not recognized"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1237
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         5: .line 1238
            aload 2 /* sm */
            ifnull 9
         6: .line 1240
            new java.io.FilePermission
            dup
            aload 1 /* fontFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            ldc "read"
            invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 1239
            astore 3 /* filePermission */
        start local 3 // java.io.FilePermission filePermission
         8: .line 1241
            aload 2 /* sm */
            aload 3 /* filePermission */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 3 // java.io.FilePermission filePermission
         9: .line 1243
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* fontFile */
            invokevirtual java.io.File.canRead:()Z
            ifne 11
        10: .line 1244
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't read "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fontFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1246
      StackMap locals:
      StackMap stack:
            aload 1 /* fontFile */
            areturn
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.io.File fontFile
        end local 0 // int fontFormat
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0      fontFormat  I
            0   12     1        fontFile  Ljava/io/File;
            5   12     2              sm  Ljava/lang/SecurityManager;
            8    9     3  filePermission  Ljava/io/FilePermission;
    Exceptions:
      throws java.awt.FontFormatException, java.io.IOException
    MethodParameters:
            Name  Flags
      fontFormat  
      fontFile    

  public java.awt.geom.AffineTransform getTransform();
    descriptor: ()Ljava/awt/geom/AffineTransform;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1277
            aload 0 /* this */
            getfield java.awt.Font.nonIdentityTx:Z
            ifeq 33
         1: .line 1278
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            astore 1 /* values */
        start local 1 // sun.font.AttributeValues values
         2: .line 1280
            aload 1 /* values */
            getstatic sun.font.EAttribute.ETRANSFORM:Lsun/font/EAttribute;
            invokevirtual sun.font.AttributeValues.isNonDefault:(Lsun/font/EAttribute;)Z
            ifeq 4
         3: .line 1281
            new java.awt.geom.AffineTransform
            dup
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getTransform:()Ljava/awt/geom/AffineTransform;
            invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
            goto 5
         4: .line 1282
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
         5: .line 1280
      StackMap locals:
      StackMap stack: java.awt.geom.AffineTransform
            astore 2 /* at */
        start local 2 // java.awt.geom.AffineTransform at
         6: .line 1284
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getSuperscript:()I
            ifeq 30
         7: .line 1289
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getSuperscript:()I
            istore 3 /* superscript */
        start local 3 // int superscript
         8: .line 1291
            dconst_0
            dstore 4 /* trans */
        start local 4 // double trans
         9: .line 1292
            iconst_0
            istore 6 /* n */
        start local 6 // int n
        10: .line 1293
            iload 3 /* superscript */
            ifle 11
            iconst_1
            goto 12
      StackMap locals: java.awt.Font sun.font.AttributeValues java.awt.geom.AffineTransform int double int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 7 /* up */
        start local 7 // boolean up
        13: .line 1294
            iload 7 /* up */
            ifeq 14
            iconst_m1
            goto 15
      StackMap locals: int
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 8 /* sign */
        start local 8 // int sign
        16: .line 1295
            iload 7 /* up */
            ifeq 17
            iload 3 /* superscript */
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iload 3 /* superscript */
            ineg
      StackMap locals:
      StackMap stack: int
        18: istore 9 /* ss */
        start local 9 // int ss
        19: .line 1297
            goto 25
        20: .line 1298
      StackMap locals: int
      StackMap stack:
            iload 9 /* ss */
            bipush 7
            iand
            istore 10 /* newn */
        start local 10 // int newn
        21: .line 1299
            dload 4 /* trans */
            iload 8 /* sign */
            i2f
            getstatic java.awt.Font.ssinfo:[F
            iload 10 /* newn */
            faload
            getstatic java.awt.Font.ssinfo:[F
            iload 6 /* n */
            faload
            fsub
            fmul
            f2d
            dadd
            dstore 4 /* trans */
        22: .line 1300
            iload 9 /* ss */
            iconst_3
            ishr
            istore 9 /* ss */
        23: .line 1301
            iload 8 /* sign */
            ineg
            istore 8 /* sign */
        24: .line 1302
            iload 10 /* newn */
            istore 6 /* n */
        end local 10 // int newn
        25: .line 1297
      StackMap locals:
      StackMap stack:
            iload 9 /* ss */
            bipush 7
            iand
            iload 6 /* n */
            if_icmpgt 20
        26: .line 1304
            dload 4 /* trans */
            aload 0 /* this */
            getfield java.awt.Font.pointSize:F
            f2d
            dmul
            dstore 4 /* trans */
        27: .line 1305
            ldc 0.6666666666666666
            iload 6 /* n */
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            dstore 10 /* scale */
        start local 10 // double scale
        28: .line 1307
            aload 2 /* at */
            dconst_0
            dload 4 /* trans */
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
        29: .line 1308
            aload 2 /* at */
            dload 10 /* scale */
            dload 10 /* scale */
            invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
        end local 10 // double scale
        end local 9 // int ss
        end local 8 // int sign
        end local 7 // boolean up
        end local 6 // int n
        end local 4 // double trans
        end local 3 // int superscript
        30: .line 1324
      StackMap locals: java.awt.Font sun.font.AttributeValues java.awt.geom.AffineTransform
      StackMap stack:
            aload 1 /* values */
            getstatic sun.font.EAttribute.EWIDTH:Lsun/font/EAttribute;
            invokevirtual sun.font.AttributeValues.isNonDefault:(Lsun/font/EAttribute;)Z
            ifeq 32
        31: .line 1325
            aload 2 /* at */
            aload 1 /* values */
            invokevirtual sun.font.AttributeValues.getWidth:()F
            f2d
            dconst_1
            invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
        32: .line 1328
      StackMap locals:
      StackMap stack:
            aload 2 /* at */
            areturn
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // sun.font.AttributeValues values
        33: .line 1331
      StackMap locals:
      StackMap stack:
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Ljava/awt/Font;
            2   33     1       values  Lsun/font/AttributeValues;
            6   33     2           at  Ljava/awt/geom/AffineTransform;
            8   30     3  superscript  I
            9   30     4        trans  D
           10   30     6            n  I
           13   30     7           up  Z
           16   30     8         sign  I
           19   30     9           ss  I
           21   25    10         newn  I
           28   30    10        scale  D

  public java.lang.String getFamily();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1376
            aload 0 /* this */
            invokevirtual java.awt.Font.getFamily_NoClientCode:()Ljava/lang/String;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  final java.lang.String getFamily_NoClientCode();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1384
            aload 0 /* this */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.awt.Font.getFamily:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public java.lang.String getFamily(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.util.Locale l
         0: .line 1407
            aload 1 /* l */
            ifnonnull 2
         1: .line 1408
            new java.lang.NullPointerException
            dup
            ldc "null locale doesn't mean default"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            aload 1 /* l */
            invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale l
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/Font;
            0    3     1     l  Ljava/util/Locale;
    MethodParameters:
      Name  Flags
      l     

  public java.lang.String getPSName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1422
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            invokevirtual sun.font.Font2D.getPostscriptName:()Ljava/lang/String;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1436
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public java.lang.String getFontName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1451
            aload 0 /* this */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.awt.Font.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public java.lang.String getFontName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.util.Locale l
         0: .line 1466
            aload 1 /* l */
            ifnonnull 2
         1: .line 1467
            new java.lang.NullPointerException
            dup
            ldc "null locale doesn't mean default"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            aload 1 /* l */
            invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale l
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/Font;
            0    3     1     l  Ljava/util/Locale;
    MethodParameters:
      Name  Flags
      l     

  public int getStyle();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1482
            aload 0 /* this */
            getfield java.awt.Font.style:I
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public int getSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1508
            aload 0 /* this */
            getfield java.awt.Font.size:I
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public float getSize2D();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1520
            aload 0 /* this */
            getfield java.awt.Font.pointSize:F
            freturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public boolean isPlain();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1533
            aload 0 /* this */
            getfield java.awt.Font.style:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/Font;

  public boolean isBold();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1546
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/Font;

  public boolean isItalic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1559
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/Font;

  public boolean isTransformed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1573
            aload 0 /* this */
            getfield java.awt.Font.nonIdentityTx:Z
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public boolean hasLayoutAttributes();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1583
            aload 0 /* this */
            getfield java.awt.Font.hasLayoutAttributes:Z
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public static java.awt.Font getFont(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String nm
         0: .line 1603
            aload 0 /* nm */
            aconst_null
            invokestatic java.awt.Font.getFont:(Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font;
            areturn
        end local 0 // java.lang.String nm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    nm  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      nm    

  public static java.awt.Font decode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // java.lang.String str
         0: .line 1680
            aload 0 /* str */
            astore 1 /* fontName */
        start local 1 // java.lang.String fontName
         1: .line 1681
            ldc ""
            astore 2 /* styleName */
        start local 2 // java.lang.String styleName
         2: .line 1682
            bipush 12
            istore 3 /* fontSize */
        start local 3 // int fontSize
         3: .line 1683
            iconst_0
            istore 4 /* fontStyle */
        start local 4 // int fontStyle
         4: .line 1685
            aload 0 /* str */
            ifnonnull 6
         5: .line 1686
            new java.awt.Font
            dup
            ldc "Dialog"
            iload 4 /* fontStyle */
            iload 3 /* fontSize */
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            areturn
         6: .line 1689
      StackMap locals: java.lang.String java.lang.String java.lang.String int int
      StackMap stack:
            aload 0 /* str */
            bipush 45
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* lastHyphen */
        start local 5 // int lastHyphen
         7: .line 1690
            aload 0 /* str */
            bipush 32
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* lastSpace */
        start local 6 // int lastSpace
         8: .line 1691
            iload 5 /* lastHyphen */
            iload 6 /* lastSpace */
            if_icmple 9
            bipush 45
            goto 10
      StackMap locals: int int
      StackMap stack:
         9: bipush 32
      StackMap locals:
      StackMap stack: int
        10: istore 7 /* sepChar */
        start local 7 // char sepChar
        11: .line 1692
            aload 0 /* str */
            iload 7 /* sepChar */
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 8 /* sizeIndex */
        start local 8 // int sizeIndex
        12: .line 1693
            aload 0 /* str */
            iload 7 /* sepChar */
            iload 8 /* sizeIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(II)I
            istore 9 /* styleIndex */
        start local 9 // int styleIndex
        13: .line 1694
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 10 /* strlen */
        start local 10 // int strlen
        14: .line 1696
            iload 8 /* sizeIndex */
            ifle 25
            iload 8 /* sizeIndex */
            iconst_1
            iadd
            iload 10 /* strlen */
            if_icmpge 25
        15: .line 1699
            aload 0 /* str */
            iload 8 /* sizeIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        16: .line 1698
            istore 3 /* fontSize */
        17: .line 1700
            iload 3 /* fontSize */
            ifgt 25
        18: .line 1701
            bipush 12
            istore 3 /* fontSize */
        19: .line 1703
            goto 25
      StackMap locals: java.lang.String java.lang.String java.lang.String int int int int int int int int
      StackMap stack: java.lang.NumberFormatException
        20: pop
        21: .line 1706
            iload 8 /* sizeIndex */
            istore 9 /* styleIndex */
        22: .line 1707
            iload 10 /* strlen */
            istore 8 /* sizeIndex */
        23: .line 1708
            aload 0 /* str */
            iload 8 /* sizeIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            iload 7 /* sepChar */
            if_icmpne 25
        24: .line 1709
            iinc 8 /* sizeIndex */ -1
        25: .line 1714
      StackMap locals:
      StackMap stack:
            iload 9 /* styleIndex */
            iflt 45
            iload 9 /* styleIndex */
            iconst_1
            iadd
            iload 10 /* strlen */
            if_icmpge 45
        26: .line 1715
            aload 0 /* str */
            iload 9 /* styleIndex */
            iconst_1
            iadd
            iload 8 /* sizeIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* styleName */
        27: .line 1716
            aload 2 /* styleName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 2 /* styleName */
        28: .line 1717
            aload 2 /* styleName */
            ldc "bolditalic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 1718
            iconst_3
            istore 4 /* fontStyle */
        30: .line 1719
            goto 43
      StackMap locals:
      StackMap stack:
        31: aload 2 /* styleName */
            ldc "italic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        32: .line 1720
            iconst_2
            istore 4 /* fontStyle */
        33: .line 1721
            goto 43
      StackMap locals:
      StackMap stack:
        34: aload 2 /* styleName */
            ldc "bold"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        35: .line 1722
            iconst_1
            istore 4 /* fontStyle */
        36: .line 1723
            goto 43
      StackMap locals:
      StackMap stack:
        37: aload 2 /* styleName */
            ldc "plain"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 40
        38: .line 1724
            iconst_0
            istore 4 /* fontStyle */
        39: .line 1725
            goto 43
        40: .line 1729
      StackMap locals:
      StackMap stack:
            iload 8 /* sizeIndex */
            istore 9 /* styleIndex */
        41: .line 1730
            aload 0 /* str */
            iload 9 /* styleIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            iload 7 /* sepChar */
            if_icmpne 43
        42: .line 1731
            iinc 9 /* styleIndex */ -1
        43: .line 1734
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iconst_0
            iload 9 /* styleIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* fontName */
        44: .line 1736
            goto 54
        45: .line 1737
      StackMap locals:
      StackMap stack:
            iload 10 /* strlen */
            istore 11 /* fontEnd */
        start local 11 // int fontEnd
        46: .line 1738
            iload 9 /* styleIndex */
            ifle 49
        47: .line 1739
            iload 9 /* styleIndex */
            istore 11 /* fontEnd */
        48: .line 1740
            goto 51
      StackMap locals: int
      StackMap stack:
        49: iload 8 /* sizeIndex */
            ifle 51
        50: .line 1741
            iload 8 /* sizeIndex */
            istore 11 /* fontEnd */
        51: .line 1743
      StackMap locals:
      StackMap stack:
            iload 11 /* fontEnd */
            ifle 53
            aload 0 /* str */
            iload 11 /* fontEnd */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            iload 7 /* sepChar */
            if_icmpne 53
        52: .line 1744
            iinc 11 /* fontEnd */ -1
        53: .line 1746
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iconst_0
            iload 11 /* fontEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* fontName */
        end local 11 // int fontEnd
        54: .line 1749
      StackMap locals:
      StackMap stack:
            new java.awt.Font
            dup
            aload 1 /* fontName */
            iload 4 /* fontStyle */
            iload 3 /* fontSize */
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            areturn
        end local 10 // int strlen
        end local 9 // int styleIndex
        end local 8 // int sizeIndex
        end local 7 // char sepChar
        end local 6 // int lastSpace
        end local 5 // int lastHyphen
        end local 4 // int fontStyle
        end local 3 // int fontSize
        end local 2 // java.lang.String styleName
        end local 1 // java.lang.String fontName
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   55     0         str  Ljava/lang/String;
            1   55     1    fontName  Ljava/lang/String;
            2   55     2   styleName  Ljava/lang/String;
            3   55     3    fontSize  I
            4   55     4   fontStyle  I
            7   55     5  lastHyphen  I
            8   55     6   lastSpace  I
           11   55     7     sepChar  C
           12   55     8   sizeIndex  I
           13   55     9  styleIndex  I
           14   55    10      strlen  I
           46   54    11     fontEnd  I
      Exception table:
        from    to  target  type
          15    19      20  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      str   

  public static java.awt.Font getFont(java.lang.String, java.awt.Font);
    descriptor: (Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // java.lang.String nm
        start local 1 // java.awt.Font font
         0: .line 1773
            aconst_null
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 1775
            aload 0 /* nm */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* str */
         2: .line 1776
            goto 4
      StackMap locals: java.lang.String java.awt.Font java.lang.String
      StackMap stack: java.lang.SecurityException
         3: pop
         4: .line 1778
      StackMap locals:
      StackMap stack:
            aload 2 /* str */
            ifnonnull 6
         5: .line 1779
            aload 1 /* font */
            areturn
         6: .line 1781
      StackMap locals:
      StackMap stack:
            aload 2 /* str */
            invokestatic java.awt.Font.decode:(Ljava/lang/String;)Ljava/awt/Font;
            areturn
        end local 2 // java.lang.String str
        end local 1 // java.awt.Font font
        end local 0 // java.lang.String nm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    nm  Ljava/lang/String;
            0    7     1  font  Ljava/awt/Font;
            1    7     2   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
    MethodParameters:
      Name  Flags
      nm    
      font  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1791
            aload 0 /* this */
            getfield java.awt.Font.hash:I
            ifne 5
         1: .line 1792
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            aload 0 /* this */
            getfield java.awt.Font.style:I
            ixor
            aload 0 /* this */
            getfield java.awt.Font.size:I
            ixor
            putfield java.awt.Font.hash:I
         2: .line 1799
            aload 0 /* this */
            getfield java.awt.Font.nonIdentityTx:Z
            ifeq 5
         3: .line 1800
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnull 5
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getTransform:()Ljava/awt/geom/AffineTransform;
            ifnull 5
         4: .line 1801
            aload 0 /* this */
            dup
            getfield java.awt.Font.hash:I
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getTransform:()Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.hashCode:()I
            ixor
            putfield java.awt.Font.hash:I
         5: .line 1804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.hash:I
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/Font;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.lang.Object obj
         0: .line 1818
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 1819
            iconst_1
            ireturn
         2: .line 1822
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.awt.Font
            ifeq 15
         3: .line 1823
            aload 1 /* obj */
            checkcast java.awt.Font
            astore 2 /* font */
        start local 2 // java.awt.Font font
         4: .line 1824
            aload 0 /* this */
            getfield java.awt.Font.size:I
            aload 2 /* font */
            getfield java.awt.Font.size:I
            if_icmpne 15
         5: .line 1825
            aload 0 /* this */
            getfield java.awt.Font.style:I
            aload 2 /* font */
            getfield java.awt.Font.style:I
            if_icmpne 15
         6: .line 1826
            aload 0 /* this */
            getfield java.awt.Font.nonIdentityTx:Z
            aload 2 /* font */
            getfield java.awt.Font.nonIdentityTx:Z
            if_icmpne 15
         7: .line 1827
            aload 0 /* this */
            getfield java.awt.Font.hasLayoutAttributes:Z
            aload 2 /* font */
            getfield java.awt.Font.hasLayoutAttributes:Z
            if_icmpne 15
         8: .line 1828
            aload 0 /* this */
            getfield java.awt.Font.pointSize:F
            aload 2 /* font */
            getfield java.awt.Font.pointSize:F
            fcmpl
            ifne 15
         9: .line 1829
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 2 /* font */
            getfield java.awt.Font.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        10: .line 1837
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnonnull 14
        11: .line 1838
            aload 2 /* font */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnonnull 13
        12: .line 1839
            iconst_1
            ireturn
        13: .line 1841
      StackMap locals: java.awt.Font
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            aload 2 /* font */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.equals:(Lsun/font/AttributeValues;)Z
            ireturn
        14: .line 1844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            aload 2 /* font */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.equals:(Lsun/font/AttributeValues;)Z
            ireturn
        end local 2 // java.awt.Font font
        15: .line 1848
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/awt/Font;
            0   16     1   obj  Ljava/lang/Object;
            4   15     2  font  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1863
            aload 0 /* this */
            invokevirtual java.awt.Font.isBold:()Z
            ifeq 5
         1: .line 1864
            aload 0 /* this */
            invokevirtual java.awt.Font.isItalic:()Z
            ifeq 2
            ldc "bolditalic"
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc "bold"
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 1 /* strStyle */
        start local 1 // java.lang.String strStyle
         4: .line 1865
            goto 8
        end local 1 // java.lang.String strStyle
         5: .line 1866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.isItalic:()Z
            ifeq 6
            ldc "italic"
            goto 7
      StackMap locals:
      StackMap stack:
         6: ldc "plain"
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 1 /* strStyle */
        start local 1 // java.lang.String strStyle
         8: .line 1869
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "[family="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",style="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1870
            aload 1 /* strStyle */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",size="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.awt.Font.size:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1869
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String strStyle
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljava/awt/Font;
            4    5     1  strStyle  Ljava/lang/String;
            8   11     1  strStyle  Ljava/lang/String;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 1901
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnull 9
         1: .line 1902
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            dup
            astore 2
            monitorenter
         2: .line 1904
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.toSerializableHashtable:()Ljava/util/Hashtable;
            putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
         3: .line 1905
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         4: .line 1906
            aload 0 /* this */
            aconst_null
            putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
         5: .line 1902
            aload 2
            monitorexit
         6: goto 10
      StackMap locals: java.awt.Font java.io.ObjectOutputStream sun.font.AttributeValues
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 1909
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
        10: .line 1911
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/awt/Font;
            0   11     1     s  Ljava/io/ObjectOutputStream;
      Exception table:
        from    to  target  type
           2     6       7  any
           7     8       7  any
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.io.ObjectInputStream s
         0: .line 1925
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 1926
            aload 0 /* this */
            getfield java.awt.Font.pointSize:F
            fconst_0
            fcmpl
            ifne 3
         2: .line 1927
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.Font.size:I
            i2f
            putfield java.awt.Font.pointSize:F
         3: .line 1938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
            ifnull 19
         4: .line 1940
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            putfield java.awt.Font.values:Lsun/font/AttributeValues;
         5: .line 1942
            aload 0 /* this */
            getfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
            invokestatic sun.font.AttributeValues.fromSerializableHashtable:(Ljava/util/Hashtable;)Lsun/font/AttributeValues;
         6: .line 1941
            astore 2 /* extras */
        start local 2 // sun.font.AttributeValues extras
         7: .line 1943
            aload 0 /* this */
            getfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
            invokestatic sun.font.AttributeValues.is16Hashtable:(Ljava/util/Hashtable;)Z
            ifne 9
         8: .line 1944
            aload 2 /* extras */
            invokevirtual sun.font.AttributeValues.unsetDefault:()V
         9: .line 1946
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            aload 2 /* extras */
            invokevirtual sun.font.AttributeValues.merge:(Lsun/font/AttributeValues;)Lsun/font/AttributeValues;
            putfield java.awt.Font.values:Lsun/font/AttributeValues;
        10: .line 1947
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            getstatic java.awt.Font.EXTRA_MASK:I
            invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
            putfield java.awt.Font.nonIdentityTx:Z
        11: .line 1948
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            getstatic java.awt.Font.LAYOUT_MASK:I
            invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
            putfield java.awt.Font.hasLayoutAttributes:Z
        end local 2 // sun.font.AttributeValues extras
        12: .line 1949
            goto 18
      StackMap locals: java.awt.Font java.io.ObjectInputStream
      StackMap stack: java.lang.Throwable
        13: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        14: .line 1950
            new java.io.IOException
            dup
            aload 2 /* t */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable t
        15: .line 1951
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        16: .line 1952
            aload 0 /* this */
            aconst_null
            putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
        17: .line 1953
            aload 3
            athrow
        18: .line 1952
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
        19: .line 1955
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Ljava/awt/Font;
            0   20     1       s  Ljava/io/ObjectInputStream;
            7   12     2  extras  Lsun/font/AttributeValues;
           14   15     2       t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    12      13  Class java.lang.Throwable
           4    15      15  any
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public int getNumGlyphs();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1965
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            invokevirtual sun.font.Font2D.getNumGlyphs:()I
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public int getMissingGlyphCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 1975
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            invokevirtual sun.font.Font2D.getMissingGlyphCode:()I
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  public byte getBaselineFor(char);
    descriptor: (C)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // char c
         0: .line 1995
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            iload 1 /* c */
            invokevirtual sun.font.Font2D.getBaselineFor:(C)B
            ireturn
        end local 1 // char c
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public java.util.Map<java.awt.font.TextAttribute, ?> getAttributes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 2005
            new sun.font.AttributeMap
            dup
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokespecial sun.font.AttributeMap.<init>:(Lsun/font/AttributeValues;)V
            areturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;
    Signature: ()Ljava/util/Map<Ljava/awt/font/TextAttribute;*>;

  public java.text.AttributedCharacterIterator$Attribute[] getAvailableAttributes();
    descriptor: ()[Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.awt.Font this
         0: .line 2019
            bipush 22
            anewarray java.text.AttributedCharacterIterator$Attribute
            dup
            iconst_0
         1: .line 2020
            getstatic java.awt.font.TextAttribute.FAMILY:Ljava/awt/font/TextAttribute;
            aastore
            dup
            iconst_1
         2: .line 2021
            getstatic java.awt.font.TextAttribute.WEIGHT:Ljava/awt/font/TextAttribute;
            aastore
            dup
            iconst_2
         3: .line 2022
            getstatic java.awt.font.TextAttribute.WIDTH:Ljava/awt/font/TextAttribute;
            aastore
            dup
            iconst_3
         4: .line 2023
            getstatic java.awt.font.TextAttribute.POSTURE:Ljava/awt/font/TextAttribute;
            aastore
            dup
            iconst_4
         5: .line 2024
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            aastore
            dup
            iconst_5
         6: .line 2025
            getstatic java.awt.font.TextAttribute.TRANSFORM:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 6
         7: .line 2026
            getstatic java.awt.font.TextAttribute.SUPERSCRIPT:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 7
         8: .line 2027
            getstatic java.awt.font.TextAttribute.CHAR_REPLACEMENT:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 8
         9: .line 2028
            getstatic java.awt.font.TextAttribute.FOREGROUND:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 9
        10: .line 2029
            getstatic java.awt.font.TextAttribute.BACKGROUND:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 10
        11: .line 2030
            getstatic java.awt.font.TextAttribute.UNDERLINE:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 11
        12: .line 2031
            getstatic java.awt.font.TextAttribute.STRIKETHROUGH:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 12
        13: .line 2032
            getstatic java.awt.font.TextAttribute.RUN_DIRECTION:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 13
        14: .line 2033
            getstatic java.awt.font.TextAttribute.BIDI_EMBEDDING:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 14
        15: .line 2034
            getstatic java.awt.font.TextAttribute.JUSTIFICATION:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 15
        16: .line 2035
            getstatic java.awt.font.TextAttribute.INPUT_METHOD_HIGHLIGHT:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 16
        17: .line 2036
            getstatic java.awt.font.TextAttribute.INPUT_METHOD_UNDERLINE:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 17
        18: .line 2037
            getstatic java.awt.font.TextAttribute.SWAP_COLORS:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 18
        19: .line 2038
            getstatic java.awt.font.TextAttribute.NUMERIC_SHAPING:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 19
        20: .line 2039
            getstatic java.awt.font.TextAttribute.KERNING:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 20
        21: .line 2040
            getstatic java.awt.font.TextAttribute.LIGATURES:Ljava/awt/font/TextAttribute;
            aastore
            dup
            bipush 21
        22: .line 2041
            getstatic java.awt.font.TextAttribute.TRACKING:Ljava/awt/font/TextAttribute;
            aastore
        23: .line 2019
            astore 1 /* attributes */
        start local 1 // java.text.AttributedCharacterIterator$Attribute[] attributes
        24: .line 2044
            aload 1 /* attributes */
            areturn
        end local 1 // java.text.AttributedCharacterIterator$Attribute[] attributes
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Ljava/awt/Font;
           24   25     1  attributes  [Ljava/text/AttributedCharacterIterator$Attribute;

  public java.awt.Font deriveFont(int, float);
    descriptor: (IF)Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // int style
        start local 2 // float size
         0: .line 2056
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnonnull 2
         1: .line 2057
            new java.awt.Font
            dup
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            iload 1 /* style */
            fload 2 /* size */
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
            areturn
         2: .line 2059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 3 /* newValues */
        start local 3 // sun.font.AttributeValues newValues
         3: .line 2060
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iload 1 /* style */
            if_icmpeq 4
            aload 0 /* this */
            getfield java.awt.Font.style:I
            goto 5
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
         4: iconst_m1
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* oldStyle */
        start local 4 // int oldStyle
         6: .line 2061
            iload 1 /* style */
            aload 3 /* newValues */
            invokestatic java.awt.Font.applyStyle:(ILsun/font/AttributeValues;)V
         7: .line 2062
            aload 3 /* newValues */
            fload 2 /* size */
            invokevirtual sun.font.AttributeValues.setSize:(F)V
         8: .line 2063
            new java.awt.Font
            dup
            aload 3 /* newValues */
            aconst_null
            iload 4 /* oldStyle */
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 4 // int oldStyle
        end local 3 // sun.font.AttributeValues newValues
        end local 2 // float size
        end local 1 // int style
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Ljava/awt/Font;
            0    9     1      style  I
            0    9     2       size  F
            3    9     3  newValues  Lsun/font/AttributeValues;
            6    9     4   oldStyle  I
    MethodParameters:
       Name  Flags
      style  
      size   

  public java.awt.Font deriveFont(int, java.awt.geom.AffineTransform);
    descriptor: (ILjava/awt/geom/AffineTransform;)Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // int style
        start local 2 // java.awt.geom.AffineTransform trans
         0: .line 2078
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 3 /* newValues */
        start local 3 // sun.font.AttributeValues newValues
         1: .line 2079
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iload 1 /* style */
            if_icmpeq 2
            aload 0 /* this */
            getfield java.awt.Font.style:I
            goto 3
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* oldStyle */
        start local 4 // int oldStyle
         4: .line 2080
            iload 1 /* style */
            aload 3 /* newValues */
            invokestatic java.awt.Font.applyStyle:(ILsun/font/AttributeValues;)V
         5: .line 2081
            aload 2 /* trans */
            aload 3 /* newValues */
            invokestatic java.awt.Font.applyTransform:(Ljava/awt/geom/AffineTransform;Lsun/font/AttributeValues;)V
         6: .line 2082
            new java.awt.Font
            dup
            aload 3 /* newValues */
            aconst_null
            iload 4 /* oldStyle */
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 4 // int oldStyle
        end local 3 // sun.font.AttributeValues newValues
        end local 2 // java.awt.geom.AffineTransform trans
        end local 1 // int style
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljava/awt/Font;
            0    7     1      style  I
            0    7     2      trans  Ljava/awt/geom/AffineTransform;
            1    7     3  newValues  Lsun/font/AttributeValues;
            4    7     4   oldStyle  I
    MethodParameters:
       Name  Flags
      style  
      trans  

  public java.awt.Font deriveFont(float);
    descriptor: (F)Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // float size
         0: .line 2093
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnonnull 2
         1: .line 2094
            new java.awt.Font
            dup
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 0 /* this */
            getfield java.awt.Font.style:I
            fload 1 /* size */
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
            areturn
         2: .line 2096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 2 /* newValues */
        start local 2 // sun.font.AttributeValues newValues
         3: .line 2097
            aload 2 /* newValues */
            fload 1 /* size */
            invokevirtual sun.font.AttributeValues.setSize:(F)V
         4: .line 2098
            new java.awt.Font
            dup
            aload 2 /* newValues */
            aconst_null
            iconst_m1
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 2 // sun.font.AttributeValues newValues
        end local 1 // float size
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/awt/Font;
            0    5     1       size  F
            3    5     2  newValues  Lsun/font/AttributeValues;
    MethodParameters:
      Name  Flags
      size  

  public java.awt.Font deriveFont(java.awt.geom.AffineTransform);
    descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.awt.geom.AffineTransform trans
         0: .line 2112
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 2 /* newValues */
        start local 2 // sun.font.AttributeValues newValues
         1: .line 2113
            aload 1 /* trans */
            aload 2 /* newValues */
            invokestatic java.awt.Font.applyTransform:(Ljava/awt/geom/AffineTransform;Lsun/font/AttributeValues;)V
         2: .line 2114
            new java.awt.Font
            dup
            aload 2 /* newValues */
            aconst_null
            iconst_m1
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 2 // sun.font.AttributeValues newValues
        end local 1 // java.awt.geom.AffineTransform trans
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/awt/Font;
            0    3     1      trans  Ljava/awt/geom/AffineTransform;
            1    3     2  newValues  Lsun/font/AttributeValues;
    MethodParameters:
       Name  Flags
      trans  

  public java.awt.Font deriveFont(int);
    descriptor: (I)Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // int style
         0: .line 2125
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnonnull 2
         1: .line 2126
            new java.awt.Font
            dup
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            iload 1 /* style */
            aload 0 /* this */
            getfield java.awt.Font.size:I
            i2f
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
            areturn
         2: .line 2128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 2 /* newValues */
        start local 2 // sun.font.AttributeValues newValues
         3: .line 2129
            aload 0 /* this */
            getfield java.awt.Font.style:I
            iload 1 /* style */
            if_icmpeq 4
            aload 0 /* this */
            getfield java.awt.Font.style:I
            goto 5
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
         4: iconst_m1
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* oldStyle */
        start local 3 // int oldStyle
         6: .line 2130
            iload 1 /* style */
            aload 2 /* newValues */
            invokestatic java.awt.Font.applyStyle:(ILsun/font/AttributeValues;)V
         7: .line 2131
            new java.awt.Font
            dup
            aload 2 /* newValues */
            aconst_null
            iload 3 /* oldStyle */
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 3 // int oldStyle
        end local 2 // sun.font.AttributeValues newValues
        end local 1 // int style
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljava/awt/Font;
            0    8     1      style  I
            3    8     2  newValues  Lsun/font/AttributeValues;
            6    8     3   oldStyle  I
    MethodParameters:
       Name  Flags
      style  

  public java.awt.Font deriveFont(java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
    descriptor: (Ljava/util/Map;)Ljava/awt/Font;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.util.Map attributes
         0: .line 2145
            aload 1 /* attributes */
            ifnonnull 2
         1: .line 2146
            aload 0 /* this */
            areturn
         2: .line 2148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
            astore 2 /* newValues */
        start local 2 // sun.font.AttributeValues newValues
         3: .line 2149
            aload 2 /* newValues */
            aload 1 /* attributes */
            getstatic java.awt.Font.RECOGNIZED_MASK:I
            invokevirtual sun.font.AttributeValues.merge:(Ljava/util/Map;I)Lsun/font/AttributeValues;
            pop
         4: .line 2151
            new java.awt.Font
            dup
            aload 2 /* newValues */
            aload 0 /* this */
            getfield java.awt.Font.name:Ljava/lang/String;
            aload 0 /* this */
            getfield java.awt.Font.style:I
            aload 0 /* this */
            getfield java.awt.Font.createdFont:Z
            aload 0 /* this */
            getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
            invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
            areturn
        end local 2 // sun.font.AttributeValues newValues
        end local 1 // java.util.Map attributes
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljava/awt/Font;
            0    5     1  attributes  Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
            3    5     2   newValues  Lsun/font/AttributeValues;
    Signature: (Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/Font;
    MethodParameters:
            Name  Flags
      attributes  

  public boolean canDisplay(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // char c
         0: .line 2170
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            iload 1 /* c */
            invokevirtual sun.font.Font2D.canDisplay:(C)Z
            ireturn
        end local 1 // char c
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public boolean canDisplay(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // int codePoint
         0: .line 2187
            iload 1 /* codePoint */
            invokestatic java.lang.Character.isValidCodePoint:(I)Z
            ifne 4
         1: .line 2188
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid code point: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 2189
            iload 1 /* codePoint */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2188
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            iload 1 /* codePoint */
            invokevirtual sun.font.Font2D.canDisplay:(I)Z
            ireturn
        end local 1 // int codePoint
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/awt/Font;
            0    5     1  codePoint  I
    MethodParameters:
           Name  Flags
      codePoint  

  public int canDisplayUpTo(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String str
         0: .line 2212
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            astore 2 /* font2d */
        start local 2 // sun.font.Font2D font2d
         1: .line 2213
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 2214
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 13
         4: .line 2215
      StackMap locals: sun.font.Font2D int int
      StackMap stack:
            aload 1 /* str */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         5: .line 2216
            aload 2 /* font2d */
            iload 5 /* c */
            invokevirtual sun.font.Font2D.canDisplay:(C)Z
            ifeq 7
         6: .line 2217
            goto 12
         7: .line 2219
      StackMap locals: int
      StackMap stack:
            iload 5 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 9
         8: .line 2220
            iload 4 /* i */
            ireturn
         9: .line 2222
      StackMap locals:
      StackMap stack:
            aload 2 /* font2d */
            aload 1 /* str */
            iload 4 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            invokevirtual sun.font.Font2D.canDisplay:(I)Z
            ifne 11
        10: .line 2223
            iload 4 /* i */
            ireturn
        11: .line 2225
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 5 // char c
        12: .line 2214
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 4
        end local 4 // int i
        14: .line 2227
            iconst_m1
            ireturn
        end local 3 // int len
        end local 2 // sun.font.Font2D font2d
        end local 1 // java.lang.String str
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljava/awt/Font;
            0   15     1     str  Ljava/lang/String;
            1   15     2  font2d  Lsun/font/Font2D;
            2   15     3     len  I
            3   14     4       i  I
            5   12     5       c  C
    MethodParameters:
      Name  Flags
      str   

  public int canDisplayUpTo(char[], int, int);
    descriptor: ([CII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.awt.Font this
        start local 1 // char[] text
        start local 2 // int start
        start local 3 // int limit
         0: .line 2250
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            astore 4 /* font2d */
        start local 4 // sun.font.Font2D font2d
         1: .line 2251
            iload 2 /* start */
            istore 5 /* i */
        start local 5 // int i
         2: goto 12
         3: .line 2252
      StackMap locals: sun.font.Font2D int
      StackMap stack:
            aload 1 /* text */
            iload 5 /* i */
            caload
            istore 6 /* c */
        start local 6 // char c
         4: .line 2253
            aload 4 /* font2d */
            iload 6 /* c */
            invokevirtual sun.font.Font2D.canDisplay:(C)Z
            ifeq 6
         5: .line 2254
            goto 11
         6: .line 2256
      StackMap locals: int
      StackMap stack:
            iload 6 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 8
         7: .line 2257
            iload 5 /* i */
            ireturn
         8: .line 2259
      StackMap locals:
      StackMap stack:
            aload 4 /* font2d */
            aload 1 /* text */
            iload 5 /* i */
            iload 3 /* limit */
            invokestatic java.lang.Character.codePointAt:([CII)I
            invokevirtual sun.font.Font2D.canDisplay:(I)Z
            ifne 10
         9: .line 2260
            iload 5 /* i */
            ireturn
        10: .line 2262
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
        end local 6 // char c
        11: .line 2251
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 3 /* limit */
            if_icmplt 3
        end local 5 // int i
        13: .line 2264
            iconst_m1
            ireturn
        end local 4 // sun.font.Font2D font2d
        end local 3 // int limit
        end local 2 // int start
        end local 1 // char[] text
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljava/awt/Font;
            0   14     1    text  [C
            0   14     2   start  I
            0   14     3   limit  I
            1   14     4  font2d  Lsun/font/Font2D;
            2   13     5       i  I
            4   11     6       c  C
    MethodParameters:
       Name  Flags
      text   
      start  
      limit  

  public int canDisplayUpTo(java.text.CharacterIterator, int, int);
    descriptor: (Ljava/text/CharacterIterator;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // java.awt.Font this
        start local 1 // java.text.CharacterIterator iter
        start local 2 // int start
        start local 3 // int limit
         0: .line 2285
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            astore 4 /* font2d */
        start local 4 // sun.font.Font2D font2d
         1: .line 2286
            aload 1 /* iter */
            iload 2 /* start */
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            istore 5 /* c */
        start local 5 // char c
         2: .line 2287
            iload 2 /* start */
            istore 6 /* i */
        start local 6 // int i
         3: goto 15
         4: .line 2288
      StackMap locals: sun.font.Font2D int int
      StackMap stack:
            aload 4 /* font2d */
            iload 5 /* c */
            invokevirtual sun.font.Font2D.canDisplay:(C)Z
            ifeq 6
         5: .line 2289
            goto 14
         6: .line 2291
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 8
         7: .line 2292
            iload 6 /* i */
            ireturn
         8: .line 2294
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.text.CharacterIterator.next:()C
            istore 7 /* c2 */
        start local 7 // char c2
         9: .line 2296
            iload 7 /* c2 */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 11
        10: .line 2297
            iload 6 /* i */
            ireturn
        11: .line 2299
      StackMap locals: int
      StackMap stack:
            aload 4 /* font2d */
            iload 5 /* c */
            iload 7 /* c2 */
            invokestatic java.lang.Character.toCodePoint:(CC)I
            invokevirtual sun.font.Font2D.canDisplay:(I)Z
            ifne 13
        12: .line 2300
            iload 6 /* i */
            ireturn
        13: .line 2302
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 7 // char c2
        14: .line 2287
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
            aload 1 /* iter */
            invokeinterface java.text.CharacterIterator.next:()C
            istore 5 /* c */
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            iload 3 /* limit */
            if_icmplt 4
        end local 6 // int i
        16: .line 2304
            iconst_m1
            ireturn
        end local 5 // char c
        end local 4 // sun.font.Font2D font2d
        end local 3 // int limit
        end local 2 // int start
        end local 1 // java.text.CharacterIterator iter
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Ljava/awt/Font;
            0   17     1    iter  Ljava/text/CharacterIterator;
            0   17     2   start  I
            0   17     3   limit  I
            1   17     4  font2d  Lsun/font/Font2D;
            2   17     5       c  C
            3   16     6       i  I
            9   14     7      c2  C
    MethodParameters:
       Name  Flags
      iter   
      start  
      limit  

  public float getItalicAngle();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 2315
            aload 0 /* this */
            aconst_null
            invokevirtual java.awt.Font.getItalicAngle:(Ljava/awt/font/FontRenderContext;)F
            freturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  private float getItalicAngle(java.awt.font.FontRenderContext);
    descriptor: (Ljava/awt/font/FontRenderContext;)F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
         0: .line 2328
            aload 1 /* frc */
            ifnonnull 4
         1: .line 2329
            getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_OFF:Ljava/lang/Object;
            astore 2 /* aa */
        start local 2 // java.lang.Object aa
         2: .line 2330
            getstatic java.awt.RenderingHints.VALUE_FRACTIONALMETRICS_OFF:Ljava/lang/Object;
            astore 3 /* fm */
        start local 3 // java.lang.Object fm
         3: .line 2331
            goto 6
        end local 3 // java.lang.Object fm
        end local 2 // java.lang.Object aa
         4: .line 2332
      StackMap locals:
      StackMap stack:
            aload 1 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getAntiAliasingHint:()Ljava/lang/Object;
            astore 2 /* aa */
        start local 2 // java.lang.Object aa
         5: .line 2333
            aload 1 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
            astore 3 /* fm */
        start local 3 // java.lang.Object fm
         6: .line 2335
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            aload 0 /* this */
            getstatic java.awt.Font.identityTx:Ljava/awt/geom/AffineTransform;
            aload 2 /* aa */
            aload 3 /* fm */
            invokevirtual sun.font.Font2D.getItalicAngle:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;)F
            freturn
        end local 3 // java.lang.Object fm
        end local 2 // java.lang.Object aa
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/awt/Font;
            0    7     1   frc  Ljava/awt/font/FontRenderContext;
            2    4     2    aa  Ljava/lang/Object;
            5    7     2    aa  Ljava/lang/Object;
            3    4     3    fm  Ljava/lang/Object;
            6    7     3    fm  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      frc   

  public boolean hasUniformLineMetrics();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Font this
         0: .line 2350
            iconst_0
            ireturn
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;

  private sun.font.FontLineMetrics defaultLineMetrics(java.awt.font.FontRenderContext);
    descriptor: (Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=18, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
         0: .line 2355
            aconst_null
            astore 2 /* flm */
        start local 2 // sun.font.FontLineMetrics flm
         1: .line 2356
            aload 0 /* this */
            getfield java.awt.Font.flmref:Ljava/lang/ref/SoftReference;
            ifnull 4
         2: .line 2357
            aload 0 /* this */
            getfield java.awt.Font.flmref:Ljava/lang/ref/SoftReference;
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast sun.font.FontLineMetrics
            dup
            astore 2 /* flm */
            ifnull 4
         3: .line 2358
            aload 2 /* flm */
            getfield sun.font.FontLineMetrics.frc:Ljava/awt/font/FontRenderContext;
            aload 1 /* frc */
            invokevirtual java.awt.font.FontRenderContext.equals:(Ljava/awt/font/FontRenderContext;)Z
            ifne 52
         4: .line 2365
      StackMap locals: sun.font.FontLineMetrics
      StackMap stack:
            bipush 8
            newarray 6
            astore 3 /* metrics */
        start local 3 // float[] metrics
         5: .line 2366
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            aload 0 /* this */
            getstatic java.awt.Font.identityTx:Ljava/awt/geom/AffineTransform;
         6: .line 2367
            aload 1 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getAntiAliasingHint:()Ljava/lang/Object;
         7: .line 2368
            aload 1 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
         8: .line 2369
            aload 3 /* metrics */
         9: .line 2366
            invokevirtual sun.font.Font2D.getFontMetrics:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;[F)V
        10: .line 2370
            aload 3 /* metrics */
            iconst_0
            faload
            fstore 4 /* ascent */
        start local 4 // float ascent
        11: .line 2371
            aload 3 /* metrics */
            iconst_1
            faload
            fstore 5 /* descent */
        start local 5 // float descent
        12: .line 2372
            aload 3 /* metrics */
            iconst_2
            faload
            fstore 6 /* leading */
        start local 6 // float leading
        13: .line 2373
            fconst_0
            fstore 7 /* ssOffset */
        start local 7 // float ssOffset
        14: .line 2374
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnull 18
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getSuperscript:()I
            ifeq 18
        15: .line 2375
            aload 0 /* this */
            invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            d2f
            fstore 7 /* ssOffset */
        16: .line 2376
            fload 4 /* ascent */
            fload 7 /* ssOffset */
            fsub
            fstore 4 /* ascent */
        17: .line 2377
            fload 5 /* descent */
            fload 7 /* ssOffset */
            fadd
            fstore 5 /* descent */
        18: .line 2379
      StackMap locals: java.awt.Font java.awt.font.FontRenderContext sun.font.FontLineMetrics float[] float float float float
      StackMap stack:
            fload 4 /* ascent */
            fload 5 /* descent */
            fadd
            fload 6 /* leading */
            fadd
            fstore 8 /* height */
        start local 8 // float height
        19: .line 2381
            iconst_0
            istore 9 /* baselineIndex */
        start local 9 // int baselineIndex
        20: .line 2383
            iconst_3
            newarray 6
            dup
            iconst_0
            fconst_0
            fastore
            dup
            iconst_1
            fload 5 /* descent */
            fconst_2
            fdiv
            fload 4 /* ascent */
            fsub
            fconst_2
            fdiv
            fastore
            dup
            iconst_2
            fload 4 /* ascent */
            fneg
            fastore
            astore 10 /* baselineOffsets */
        start local 10 // float[] baselineOffsets
        21: .line 2385
            aload 3 /* metrics */
            iconst_4
            faload
            fstore 11 /* strikethroughOffset */
        start local 11 // float strikethroughOffset
        22: .line 2386
            aload 3 /* metrics */
            iconst_5
            faload
            fstore 12 /* strikethroughThickness */
        start local 12 // float strikethroughThickness
        23: .line 2388
            aload 3 /* metrics */
            bipush 6
            faload
            fstore 13 /* underlineOffset */
        start local 13 // float underlineOffset
        24: .line 2389
            aload 3 /* metrics */
            bipush 7
            faload
            fstore 14 /* underlineThickness */
        start local 14 // float underlineThickness
        25: .line 2391
            aload 0 /* this */
            aload 1 /* frc */
            invokevirtual java.awt.Font.getItalicAngle:(Ljava/awt/font/FontRenderContext;)F
            fstore 15 /* italicAngle */
        start local 15 // float italicAngle
        26: .line 2393
            aload 0 /* this */
            invokevirtual java.awt.Font.isTransformed:()Z
            ifeq 42
        27: .line 2394
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getCharTransform:()Ljava/awt/geom/AffineTransform;
            astore 16 /* ctx */
        start local 16 // java.awt.geom.AffineTransform ctx
        28: .line 2395
            aload 16 /* ctx */
            ifnull 42
        29: .line 2396
            new java.awt.geom.Point2D$Float
            dup
            invokespecial java.awt.geom.Point2D$Float.<init>:()V
            astore 17 /* pt */
        start local 17 // java.awt.geom.Point2D$Float pt
        30: .line 2397
            aload 17 /* pt */
            fconst_0
            fload 11 /* strikethroughOffset */
            invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
        31: .line 2398
            aload 16 /* ctx */
            aload 17 /* pt */
            aload 17 /* pt */
            invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
            pop
        32: .line 2399
            aload 17 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fstore 11 /* strikethroughOffset */
        33: .line 2400
            aload 17 /* pt */
            fconst_0
            fload 12 /* strikethroughThickness */
            invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
        34: .line 2401
            aload 16 /* ctx */
            aload 17 /* pt */
            aload 17 /* pt */
            invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
            pop
        35: .line 2402
            aload 17 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fstore 12 /* strikethroughThickness */
        36: .line 2403
            aload 17 /* pt */
            fconst_0
            fload 13 /* underlineOffset */
            invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
        37: .line 2404
            aload 16 /* ctx */
            aload 17 /* pt */
            aload 17 /* pt */
            invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
            pop
        38: .line 2405
            aload 17 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fstore 13 /* underlineOffset */
        39: .line 2406
            aload 17 /* pt */
            fconst_0
            fload 14 /* underlineThickness */
            invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
        40: .line 2407
            aload 16 /* ctx */
            aload 17 /* pt */
            aload 17 /* pt */
            invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
            pop
        41: .line 2408
            aload 17 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fstore 14 /* underlineThickness */
        end local 17 // java.awt.geom.Point2D$Float pt
        end local 16 // java.awt.geom.AffineTransform ctx
        42: .line 2411
      StackMap locals: java.awt.Font java.awt.font.FontRenderContext sun.font.FontLineMetrics float[] float float float float float int float[] float float float float float
      StackMap stack:
            fload 11 /* strikethroughOffset */
            fload 7 /* ssOffset */
            fadd
            fstore 11 /* strikethroughOffset */
        43: .line 2412
            fload 13 /* underlineOffset */
            fload 7 /* ssOffset */
            fadd
            fstore 13 /* underlineOffset */
        44: .line 2414
            new sun.font.CoreMetrics
            dup
            fload 4 /* ascent */
            fload 5 /* descent */
            fload 6 /* leading */
            fload 8 /* height */
        45: .line 2415
            iload 9 /* baselineIndex */
            aload 10 /* baselineOffsets */
        46: .line 2416
            fload 11 /* strikethroughOffset */
            fload 12 /* strikethroughThickness */
        47: .line 2417
            fload 13 /* underlineOffset */
            fload 14 /* underlineThickness */
        48: .line 2418
            fload 7 /* ssOffset */
            fload 15 /* italicAngle */
        49: .line 2414
            invokespecial sun.font.CoreMetrics.<init>:(FFFFI[FFFFFFF)V
            astore 16 /* cm */
        start local 16 // sun.font.CoreMetrics cm
        50: .line 2420
            new sun.font.FontLineMetrics
            dup
            iconst_0
            aload 16 /* cm */
            aload 1 /* frc */
            invokespecial sun.font.FontLineMetrics.<init>:(ILsun/font/CoreMetrics;Ljava/awt/font/FontRenderContext;)V
            astore 2 /* flm */
        51: .line 2421
            aload 0 /* this */
            new java.lang.ref.SoftReference
            dup
            aload 2 /* flm */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield java.awt.Font.flmref:Ljava/lang/ref/SoftReference;
        end local 16 // sun.font.CoreMetrics cm
        end local 15 // float italicAngle
        end local 14 // float underlineThickness
        end local 13 // float underlineOffset
        end local 12 // float strikethroughThickness
        end local 11 // float strikethroughOffset
        end local 10 // float[] baselineOffsets
        end local 9 // int baselineIndex
        end local 8 // float height
        end local 7 // float ssOffset
        end local 6 // float leading
        end local 5 // float descent
        end local 4 // float ascent
        end local 3 // float[] metrics
        52: .line 2424
      StackMap locals: java.awt.Font java.awt.font.FontRenderContext sun.font.FontLineMetrics
      StackMap stack:
            aload 2 /* flm */
            invokevirtual sun.font.FontLineMetrics.clone:()Ljava/lang/Object;
            checkcast sun.font.FontLineMetrics
            areturn
        end local 2 // sun.font.FontLineMetrics flm
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   53     0                    this  Ljava/awt/Font;
            0   53     1                     frc  Ljava/awt/font/FontRenderContext;
            1   53     2                     flm  Lsun/font/FontLineMetrics;
            5   52     3                 metrics  [F
           11   52     4                  ascent  F
           12   52     5                 descent  F
           13   52     6                 leading  F
           14   52     7                ssOffset  F
           19   52     8                  height  F
           20   52     9           baselineIndex  I
           21   52    10         baselineOffsets  [F
           22   52    11     strikethroughOffset  F
           23   52    12  strikethroughThickness  F
           24   52    13         underlineOffset  F
           25   52    14      underlineThickness  F
           26   52    15             italicAngle  F
           28   42    16                     ctx  Ljava/awt/geom/AffineTransform;
           30   42    17                      pt  Ljava/awt/geom/Point2D$Float;
           50   52    16                      cm  Lsun/font/CoreMetrics;
    MethodParameters:
      Name  Flags
      frc   

  public java.awt.font.LineMetrics getLineMetrics(java.lang.String, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String str
        start local 2 // java.awt.font.FontRenderContext frc
         0: .line 2436
            aload 0 /* this */
            aload 2 /* frc */
            invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
            astore 3 /* flm */
        start local 3 // sun.font.FontLineMetrics flm
         1: .line 2437
            aload 3 /* flm */
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            putfield sun.font.FontLineMetrics.numchars:I
         2: .line 2438
            aload 3 /* flm */
            areturn
        end local 3 // sun.font.FontLineMetrics flm
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.lang.String str
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/Font;
            0    3     1   str  Ljava/lang/String;
            0    3     2   frc  Ljava/awt/font/FontRenderContext;
            1    3     3   flm  Lsun/font/FontLineMetrics;
    MethodParameters:
      Name  Flags
      str   
      frc   

  public java.awt.font.LineMetrics getLineMetrics(java.lang.String, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String str
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 2454
            aload 0 /* this */
            aload 4 /* frc */
            invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
            astore 5 /* flm */
        start local 5 // sun.font.FontLineMetrics flm
         1: .line 2455
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            istore 6 /* numChars */
        start local 6 // int numChars
         2: .line 2456
            aload 5 /* flm */
            iload 6 /* numChars */
            ifge 3
            iconst_0
            goto 4
      StackMap locals: java.awt.Font java.lang.String int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
      StackMap stack: sun.font.FontLineMetrics
         3: iload 6 /* numChars */
      StackMap locals: java.awt.Font java.lang.String int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
      StackMap stack: sun.font.FontLineMetrics int
         4: putfield sun.font.FontLineMetrics.numchars:I
         5: .line 2457
            aload 5 /* flm */
            areturn
        end local 6 // int numChars
        end local 5 // sun.font.FontLineMetrics flm
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.lang.String str
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljava/awt/Font;
            0    6     1         str  Ljava/lang/String;
            0    6     2  beginIndex  I
            0    6     3       limit  I
            0    6     4         frc  Ljava/awt/font/FontRenderContext;
            1    6     5         flm  Lsun/font/FontLineMetrics;
            2    6     6    numChars  I
    MethodParameters:
            Name  Flags
      str         
      beginIndex  
      limit       
      frc         

  public java.awt.font.LineMetrics getLineMetrics(char[], int, int, java.awt.font.FontRenderContext);
    descriptor: ([CIILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // char[] chars
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 2473
            aload 0 /* this */
            aload 4 /* frc */
            invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
            astore 5 /* flm */
        start local 5 // sun.font.FontLineMetrics flm
         1: .line 2474
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            istore 6 /* numChars */
        start local 6 // int numChars
         2: .line 2475
            aload 5 /* flm */
            iload 6 /* numChars */
            ifge 3
            iconst_0
            goto 4
      StackMap locals: java.awt.Font char[] int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
      StackMap stack: sun.font.FontLineMetrics
         3: iload 6 /* numChars */
      StackMap locals: java.awt.Font char[] int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
      StackMap stack: sun.font.FontLineMetrics int
         4: putfield sun.font.FontLineMetrics.numchars:I
         5: .line 2476
            aload 5 /* flm */
            areturn
        end local 6 // int numChars
        end local 5 // sun.font.FontLineMetrics flm
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // char[] chars
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljava/awt/Font;
            0    6     1       chars  [C
            0    6     2  beginIndex  I
            0    6     3       limit  I
            0    6     4         frc  Ljava/awt/font/FontRenderContext;
            1    6     5         flm  Lsun/font/FontLineMetrics;
            2    6     6    numChars  I
    MethodParameters:
            Name  Flags
      chars       
      beginIndex  
      limit       
      frc         

  public java.awt.font.LineMetrics getLineMetrics(java.text.CharacterIterator, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // java.text.CharacterIterator ci
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 2492
            aload 0 /* this */
            aload 4 /* frc */
            invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
            astore 5 /* flm */
        start local 5 // sun.font.FontLineMetrics flm
         1: .line 2493
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            istore 6 /* numChars */
        start local 6 // int numChars
         2: .line 2494
            aload 5 /* flm */
            iload 6 /* numChars */
            ifge 3
            iconst_0
            goto 4
      StackMap locals: java.awt.Font java.text.CharacterIterator int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
      StackMap stack: sun.font.FontLineMetrics
         3: iload 6 /* numChars */
      StackMap locals: java.awt.Font java.text.CharacterIterator int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
      StackMap stack: sun.font.FontLineMetrics int
         4: putfield sun.font.FontLineMetrics.numchars:I
         5: .line 2495
            aload 5 /* flm */
            areturn
        end local 6 // int numChars
        end local 5 // sun.font.FontLineMetrics flm
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.text.CharacterIterator ci
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljava/awt/Font;
            0    6     1          ci  Ljava/text/CharacterIterator;
            0    6     2  beginIndex  I
            0    6     3       limit  I
            0    6     4         frc  Ljava/awt/font/FontRenderContext;
            1    6     5         flm  Lsun/font/FontLineMetrics;
            2    6     6    numChars  I
    MethodParameters:
            Name  Flags
      ci          
      beginIndex  
      limit       
      frc         

  public java.awt.geom.Rectangle2D getStringBounds(java.lang.String, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String str
        start local 2 // java.awt.font.FontRenderContext frc
         0: .line 2520
            aload 1 /* str */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 3 /* array */
        start local 3 // char[] array
         1: .line 2521
            aload 0 /* this */
            aload 3 /* array */
            iconst_0
            aload 3 /* array */
            arraylength
            aload 2 /* frc */
            invokevirtual java.awt.Font.getStringBounds:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 3 // char[] array
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.lang.String str
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/awt/Font;
            0    2     1    str  Ljava/lang/String;
            0    2     2    frc  Ljava/awt/font/FontRenderContext;
            1    2     3  array  [C
    MethodParameters:
      Name  Flags
      str   
      frc   

  public java.awt.geom.Rectangle2D getStringBounds(java.lang.String, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // java.lang.String str
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 2554
            aload 1 /* str */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* substr */
        start local 5 // java.lang.String substr
         1: .line 2555
            aload 0 /* this */
            aload 5 /* substr */
            aload 4 /* frc */
            invokevirtual java.awt.Font.getStringBounds:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 5 // java.lang.String substr
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.lang.String str
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljava/awt/Font;
            0    2     1         str  Ljava/lang/String;
            0    2     2  beginIndex  I
            0    2     3       limit  I
            0    2     4         frc  Ljava/awt/font/FontRenderContext;
            1    2     5      substr  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      str         
      beginIndex  
      limit       
      frc         

  public java.awt.geom.Rectangle2D getStringBounds(char[], int, int, java.awt.font.FontRenderContext);
    descriptor: ([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // char[] chars
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 2589
            iload 2 /* beginIndex */
            ifge 2
         1: .line 2590
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "beginIndex: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* beginIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2592
      StackMap locals:
      StackMap stack:
            iload 3 /* limit */
            aload 1 /* chars */
            arraylength
            if_icmple 4
         3: .line 2593
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "limit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* limit */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2595
      StackMap locals:
      StackMap stack:
            iload 2 /* beginIndex */
            iload 3 /* limit */
            if_icmple 8
         5: .line 2596
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "range length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 2597
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 2596
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            ifnull 12
         9: .line 2604
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getKerning:()I
            ifne 11
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getLigatures:()I
            ifne 11
        10: .line 2605
            aload 0 /* this */
            getfield java.awt.Font.values:Lsun/font/AttributeValues;
            invokevirtual sun.font.AttributeValues.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
            ifnull 12
        11: .line 2603
      StackMap locals:
      StackMap stack:
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 5 /* simple */
        start local 5 // boolean simple
        14: .line 2606
            iload 5 /* simple */
            ifeq 18
        15: .line 2607
            aload 1 /* chars */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            invokestatic sun.font.FontUtilities.isComplexText:([CII)Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: int
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: istore 5 /* simple */
        18: .line 2610
      StackMap locals:
      StackMap stack:
            iload 5 /* simple */
            ifeq 21
        19: .line 2611
            aload 0 /* this */
            aload 4 /* frc */
            invokestatic sun.font.FontDesignMetrics.getMetrics:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontDesignMetrics;
            astore 6 /* metrics */
        start local 6 // sun.font.FontDesignMetrics metrics
        20: .line 2612
            aload 6 /* metrics */
            aload 1 /* chars */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            invokevirtual sun.font.FontDesignMetrics.getSimpleBounds:([CII)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 6 // sun.font.FontDesignMetrics metrics
        21: .line 2615
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 1 /* chars */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            invokespecial java.lang.String.<init>:([CII)V
            astore 6 /* str */
        start local 6 // java.lang.String str
        22: .line 2616
            new java.awt.font.TextLayout
            dup
            aload 6 /* str */
            aload 0 /* this */
            aload 4 /* frc */
            invokespecial java.awt.font.TextLayout.<init>:(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V
            astore 7 /* tl */
        start local 7 // java.awt.font.TextLayout tl
        23: .line 2617
            new java.awt.geom.Rectangle2D$Float
            dup
            fconst_0
            aload 7 /* tl */
            invokevirtual java.awt.font.TextLayout.getAscent:()F
            fneg
            aload 7 /* tl */
            invokevirtual java.awt.font.TextLayout.getAdvance:()F
        24: .line 2618
            aload 7 /* tl */
            invokevirtual java.awt.font.TextLayout.getAscent:()F
            aload 7 /* tl */
            invokevirtual java.awt.font.TextLayout.getDescent:()F
            fadd
        25: .line 2619
            aload 7 /* tl */
            invokevirtual java.awt.font.TextLayout.getLeading:()F
        26: .line 2618
            fadd
        27: .line 2617
            invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
            areturn
        end local 7 // java.awt.font.TextLayout tl
        end local 6 // java.lang.String str
        end local 5 // boolean simple
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // char[] chars
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Ljava/awt/Font;
            0   28     1       chars  [C
            0   28     2  beginIndex  I
            0   28     3       limit  I
            0   28     4         frc  Ljava/awt/font/FontRenderContext;
           14   28     5      simple  Z
           20   21     6     metrics  Lsun/font/FontDesignMetrics;
           22   28     6         str  Ljava/lang/String;
           23   28     7          tl  Ljava/awt/font/TextLayout;
    MethodParameters:
            Name  Flags
      chars       
      beginIndex  
      limit       
      frc         

  public java.awt.geom.Rectangle2D getStringBounds(java.text.CharacterIterator, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // java.awt.Font this
        start local 1 // java.text.CharacterIterator ci
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 2655
            aload 1 /* ci */
            invokeinterface java.text.CharacterIterator.getBeginIndex:()I
            istore 5 /* start */
        start local 5 // int start
         1: .line 2656
            aload 1 /* ci */
            invokeinterface java.text.CharacterIterator.getEndIndex:()I
            istore 6 /* end */
        start local 6 // int end
         2: .line 2658
            iload 2 /* beginIndex */
            iload 5 /* start */
            if_icmpge 4
         3: .line 2659
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "beginIndex: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* beginIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2661
      StackMap locals: int int
      StackMap stack:
            iload 3 /* limit */
            iload 6 /* end */
            if_icmple 6
         5: .line 2662
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "limit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* limit */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2664
      StackMap locals:
      StackMap stack:
            iload 2 /* beginIndex */
            iload 3 /* limit */
            if_icmple 10
         7: .line 2665
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "range length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 2666
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 2665
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 2669
      StackMap locals:
      StackMap stack:
            iload 3 /* limit */
            iload 2 /* beginIndex */
            isub
            newarray 5
            astore 7 /* arr */
        start local 7 // char[] arr
        11: .line 2671
            aload 1 /* ci */
            iload 2 /* beginIndex */
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
        12: .line 2672
            iconst_0
            istore 8 /* idx */
        start local 8 // int idx
        13: goto 17
        14: .line 2673
      StackMap locals: char[] int
      StackMap stack:
            aload 7 /* arr */
            iload 8 /* idx */
            aload 1 /* ci */
            invokeinterface java.text.CharacterIterator.current:()C
            castore
        15: .line 2674
            aload 1 /* ci */
            invokeinterface java.text.CharacterIterator.next:()C
            pop
        16: .line 2672
            iinc 8 /* idx */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* idx */
            aload 7 /* arr */
            arraylength
            if_icmplt 14
        end local 8 // int idx
        18: .line 2677
            aload 0 /* this */
            aload 7 /* arr */
            iconst_0
            aload 7 /* arr */
            arraylength
            aload 4 /* frc */
            invokevirtual java.awt.Font.getStringBounds:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 7 // char[] arr
        end local 6 // int end
        end local 5 // int start
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.text.CharacterIterator ci
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljava/awt/Font;
            0   19     1          ci  Ljava/text/CharacterIterator;
            0   19     2  beginIndex  I
            0   19     3       limit  I
            0   19     4         frc  Ljava/awt/font/FontRenderContext;
            1   19     5       start  I
            2   19     6         end  I
           11   19     7         arr  [C
           13   18     8         idx  I
    MethodParameters:
            Name  Flags
      ci          
      beginIndex  
      limit       
      frc         

  public java.awt.geom.Rectangle2D getMaxCharBounds(java.awt.font.FontRenderContext);
    descriptor: (Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
         0: .line 2690
            iconst_4
            newarray 6
            astore 2 /* metrics */
        start local 2 // float[] metrics
         1: .line 2692
            aload 0 /* this */
            invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
            aload 0 /* this */
            aload 1 /* frc */
            aload 2 /* metrics */
            invokevirtual sun.font.Font2D.getFontMetrics:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[F)V
         2: .line 2694
            new java.awt.geom.Rectangle2D$Float
            dup
            fconst_0
            aload 2 /* metrics */
            iconst_0
            faload
            fneg
         3: .line 2695
            aload 2 /* metrics */
            iconst_3
            faload
         4: .line 2696
            aload 2 /* metrics */
            iconst_0
            faload
            aload 2 /* metrics */
            iconst_1
            faload
            fadd
            aload 2 /* metrics */
            iconst_2
            faload
            fadd
         5: .line 2694
            invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
            areturn
        end local 2 // float[] metrics
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljava/awt/Font;
            0    6     1      frc  Ljava/awt/font/FontRenderContext;
            1    6     2  metrics  [F
    MethodParameters:
      Name  Flags
      frc   

  public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.lang.String);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Ljava/awt/font/GlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // java.lang.String str
         0: .line 2715
            new sun.font.StandardGlyphVector
            dup
            aload 0 /* this */
            aload 2 /* str */
            aload 1 /* frc */
            invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;Ljava/lang/String;Ljava/awt/font/FontRenderContext;)V
            areturn
        end local 2 // java.lang.String str
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;
            0    1     1   frc  Ljava/awt/font/FontRenderContext;
            0    1     2   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      frc   
      str   

  public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, char[]);
    descriptor: (Ljava/awt/font/FontRenderContext;[C)Ljava/awt/font/GlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // char[] chars
         0: .line 2734
            new sun.font.StandardGlyphVector
            dup
            aload 0 /* this */
            aload 2 /* chars */
            aload 1 /* frc */
            invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;[CLjava/awt/font/FontRenderContext;)V
            areturn
        end local 2 // char[] chars
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/awt/Font;
            0    1     1    frc  Ljava/awt/font/FontRenderContext;
            0    1     2  chars  [C
    MethodParameters:
       Name  Flags
      frc    
      chars  

  public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.text.CharacterIterator);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Ljava/awt/font/GlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // java.text.CharacterIterator ci
         0: .line 2754
            new sun.font.StandardGlyphVector
            dup
            aload 0 /* this */
            aload 2 /* ci */
            aload 1 /* frc */
            invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;Ljava/text/CharacterIterator;Ljava/awt/font/FontRenderContext;)V
            areturn
        end local 2 // java.text.CharacterIterator ci
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Font;
            0    1     1   frc  Ljava/awt/font/FontRenderContext;
            0    1     2    ci  Ljava/text/CharacterIterator;
    MethodParameters:
      Name  Flags
      frc   
      ci    

  public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, int[]);
    descriptor: (Ljava/awt/font/FontRenderContext;[I)Ljava/awt/font/GlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // int[] glyphCodes
         0: .line 2774
            new sun.font.StandardGlyphVector
            dup
            aload 0 /* this */
            aload 2 /* glyphCodes */
            aload 1 /* frc */
            invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;[ILjava/awt/font/FontRenderContext;)V
            areturn
        end local 2 // int[] glyphCodes
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/awt/Font;
            0    1     1         frc  Ljava/awt/font/FontRenderContext;
            0    1     2  glyphCodes  [I
    MethodParameters:
            Name  Flags
      frc         
      glyphCodes  

  public java.awt.font.GlyphVector layoutGlyphVector(java.awt.font.FontRenderContext, char[], int, int, int);
    descriptor: (Ljava/awt/font/FontRenderContext;[CIII)Ljava/awt/font/GlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // java.awt.Font this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // char[] text
        start local 3 // int start
        start local 4 // int limit
        start local 5 // int flags
         0: .line 2825
            aconst_null
            invokestatic sun.font.GlyphLayout.get:(Lsun/font/GlyphLayout$LayoutEngineFactory;)Lsun/font/GlyphLayout;
            astore 6 /* gl */
        start local 6 // sun.font.GlyphLayout gl
         1: .line 2826
            aload 6 /* gl */
            aload 0 /* this */
            aload 1 /* frc */
            aload 2 /* text */
         2: .line 2827
            iload 3 /* start */
            iload 4 /* limit */
            iload 3 /* start */
            isub
            iload 5 /* flags */
            aconst_null
         3: .line 2826
            invokevirtual sun.font.GlyphLayout.layout:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[CIIILsun/font/StandardGlyphVector;)Lsun/font/StandardGlyphVector;
            astore 7 /* gv */
        start local 7 // sun.font.StandardGlyphVector gv
         4: .line 2828
            aload 6 /* gl */
            invokestatic sun.font.GlyphLayout.done:(Lsun/font/GlyphLayout;)V
         5: .line 2829
            aload 7 /* gv */
            areturn
        end local 7 // sun.font.StandardGlyphVector gv
        end local 6 // sun.font.GlyphLayout gl
        end local 5 // int flags
        end local 4 // int limit
        end local 3 // int start
        end local 2 // char[] text
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.Font this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljava/awt/Font;
            0    6     1    frc  Ljava/awt/font/FontRenderContext;
            0    6     2   text  [C
            0    6     3  start  I
            0    6     4  limit  I
            0    6     5  flags  I
            1    6     6     gl  Lsun/font/GlyphLayout;
            4    6     7     gv  Lsun/font/StandardGlyphVector;
    MethodParameters:
       Name  Flags
      frc    
      text   
      start  
      limit  
      flags  

  private static void applyTransform(java.awt.geom.AffineTransform, sun.font.AttributeValues);
    descriptor: (Ljava/awt/geom/AffineTransform;Lsun/font/AttributeValues;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.geom.AffineTransform trans
        start local 1 // sun.font.AttributeValues values
         0: .line 2858
            aload 0 /* trans */
            ifnonnull 2
         1: .line 2859
            new java.lang.IllegalArgumentException
            dup
            ldc "transform must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2861
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            aload 0 /* trans */
            invokevirtual sun.font.AttributeValues.setTransform:(Ljava/awt/geom/AffineTransform;)V
         3: .line 2862
            return
        end local 1 // sun.font.AttributeValues values
        end local 0 // java.awt.geom.AffineTransform trans
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   trans  Ljava/awt/geom/AffineTransform;
            0    4     1  values  Lsun/font/AttributeValues;
    MethodParameters:
        Name  Flags
      trans   
      values  

  private static void applyStyle(int, sun.font.AttributeValues);
    descriptor: (ILsun/font/AttributeValues;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int style
        start local 1 // sun.font.AttributeValues values
         0: .line 2866
            aload 1 /* values */
            iload 0 /* style */
            iconst_1
            iand
            ifeq 1
            fconst_2
            goto 2
      StackMap locals:
      StackMap stack: sun.font.AttributeValues
         1: fconst_1
      StackMap locals: int sun.font.AttributeValues
      StackMap stack: sun.font.AttributeValues float
         2: invokevirtual sun.font.AttributeValues.setWeight:(F)V
         3: .line 2868
            aload 1 /* values */
            iload 0 /* style */
            iconst_2
            iand
            ifeq 4
            ldc 0.2
            goto 5
      StackMap locals:
      StackMap stack: sun.font.AttributeValues
         4: fconst_0
      StackMap locals: int sun.font.AttributeValues
      StackMap stack: sun.font.AttributeValues float
         5: invokevirtual sun.font.AttributeValues.setPosture:(F)V
         6: .line 2869
            return
        end local 1 // sun.font.AttributeValues values
        end local 0 // int style
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   style  I
            0    7     1  values  Lsun/font/AttributeValues;
    MethodParameters:
        Name  Flags
      style   
      values  

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "Font.java"
NestMembers:
  java.awt.Font$1  java.awt.Font$2  java.awt.Font$3  java.awt.Font$FontAccessImpl
InnerClasses:
  java.awt.Font$1
  java.awt.Font$2
  java.awt.Font$3
  private FontAccessImpl = java.awt.Font$FontAccessImpl of java.awt.Font
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public abstract LayoutEngineFactory = sun.font.GlyphLayout$LayoutEngineFactory of sun.font.GlyphLayout