public abstract class sun.font.Font2D
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.font.Font2D
  super_class: java.lang.Object
{
  public static final int FONT_CONFIG_RANK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

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

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

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

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

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

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

  private static final java.lang.String[] boldNames;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] italicNames;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] boldItalicNames;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.awt.font.FontRenderContext DEFAULT_FRC;
    descriptor: Ljava/awt/font/FontRenderContext;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public sun.font.Font2DHandle handle;
    descriptor: Lsun/font/Font2DHandle;
    flags: (0x0001) ACC_PUBLIC

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

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

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

  protected sun.font.FontFamily family;
    descriptor: Lsun/font/FontFamily;
    flags: (0x0004) ACC_PROTECTED

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

  protected sun.font.CharToGlyphMapper mapper;
    descriptor: Lsun/font/CharToGlyphMapper;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.concurrent.ConcurrentHashMap<sun.font.FontStrikeDesc, java.lang.ref.Reference> strikeCache;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Lsun/font/FontStrikeDesc;Ljava/lang/ref/Reference;>;

  protected java.lang.ref.Reference<sun.font.FontStrike> lastFontStrike;
    descriptor: Ljava/lang/ref/Reference;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 59
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 60
            ldc "bold"
            aastore
            dup
            iconst_1
            ldc "demibold"
            aastore
            dup
            iconst_2
            ldc "demi-bold"
            aastore
            dup
            iconst_3
            ldc "demi bold"
            aastore
            dup
            iconst_4
            ldc "negreta"
            aastore
            dup
            iconst_5
            ldc "demi"
            aastore
         2: .line 59
            putstatic sun.font.Font2D.boldNames:[Ljava/lang/String;
         3: .line 62
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         4: .line 63
            ldc "italic"
            aastore
            dup
            iconst_1
            ldc "cursiva"
            aastore
            dup
            iconst_2
            ldc "oblique"
            aastore
            dup
            iconst_3
            ldc "inclined"
            aastore
         5: .line 62
            putstatic sun.font.Font2D.italicNames:[Ljava/lang/String;
         6: .line 65
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
         7: .line 66
            ldc "bolditalic"
            aastore
            dup
            iconst_1
            ldc "bold-italic"
            aastore
            dup
            iconst_2
            ldc "bold italic"
            aastore
            dup
            iconst_3
         8: .line 67
            ldc "boldoblique"
            aastore
            dup
            iconst_4
            ldc "bold-oblique"
            aastore
            dup
            iconst_5
            ldc "bold oblique"
            aastore
            dup
            bipush 6
         9: .line 68
            ldc "demibold italic"
            aastore
            dup
            bipush 7
            ldc "negreta cursiva"
            aastore
            dup
            bipush 8
            ldc "demi oblique"
            aastore
        10: .line 65
            putstatic sun.font.Font2D.boldItalicNames:[Ljava/lang/String;
        11: .line 71
            new java.awt.font.FontRenderContext
            dup
            aconst_null
            iconst_0
            iconst_0
            invokespecial java.awt.font.FontRenderContext.<init>:(Ljava/awt/geom/AffineTransform;ZZ)V
        12: .line 70
            putstatic sun.font.Font2D.DEFAULT_FRC:Ljava/awt/font/FontRenderContext;
        13: .line 179
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_0
            putfield sun.font.Font2D.style:I
         2: .line 78
            aload 0 /* this */
            iconst_4
            putfield sun.font.Font2D.fontRank:I
         3: .line 97
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
         4: .line 110
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aconst_null
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
         5: .line 116
            aload 0 /* this */
            iconst_0
            putfield sun.font.Font2D.strikeCacheMax:I
         6: .line 38
            return
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/Font2D;

  void setUseWeakRefs(boolean, int);
    descriptor: (ZI)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.font.Font2D this
        start local 1 // boolean weak
        start local 2 // int maxStrikes
         0: .line 123
            aload 0 /* this */
            iload 1 /* weak */
            putfield sun.font.Font2D.useWeak:Z
         1: .line 124
            aload 0 /* this */
            iload 1 /* weak */
            ifeq 2
            iload 2 /* maxStrikes */
            ifle 2
            iload 2 /* maxStrikes */
            goto 3
      StackMap locals:
      StackMap stack: sun.font.Font2D
         2: iconst_0
      StackMap locals: sun.font.Font2D int int
      StackMap stack: sun.font.Font2D int
         3: putfield sun.font.Font2D.strikeCacheMax:I
         4: .line 125
            return
        end local 2 // int maxStrikes
        end local 1 // boolean weak
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lsun/font/Font2D;
            0    5     1        weak  Z
            0    5     2  maxStrikes  I
    MethodParameters:
            Name  Flags
      weak        
      maxStrikes  

  public int getStyle();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 149
            aload 0 /* this */
            getfield sun.font.Font2D.style:I
            ireturn
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;

  protected void setStyle();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 153
            aload 0 /* this */
            getfield sun.font.Font2D.fullName:Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* fName */
        start local 1 // java.lang.String fName
         1: .line 155
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 156
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* fName */
            getstatic sun.font.Font2D.boldItalicNames:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 6
         4: .line 157
            aload 0 /* this */
            iconst_3
            putfield sun.font.Font2D.style:I
         5: .line 158
            return
         6: .line 155
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            getstatic sun.font.Font2D.boldItalicNames:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 162
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         9: goto 14
        10: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* fName */
            getstatic sun.font.Font2D.italicNames:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 13
        11: .line 164
            aload 0 /* this */
            iconst_2
            putfield sun.font.Font2D.style:I
        12: .line 165
            return
        13: .line 162
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            getstatic sun.font.Font2D.italicNames:[Ljava/lang/String;
            arraylength
            if_icmplt 10
        end local 2 // int i
        15: .line 169
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        16: goto 21
        17: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* fName */
            getstatic sun.font.Font2D.boldNames:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 20
        18: .line 171
            aload 0 /* this */
            iconst_1
            putfield sun.font.Font2D.style:I
        19: .line 172
            return
        20: .line 169
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 2 /* i */
            getstatic sun.font.Font2D.boldNames:[Ljava/lang/String;
            arraylength
            if_icmplt 17
        end local 2 // int i
        22: .line 175
            return
        end local 1 // java.lang.String fName
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   23     0   this  Lsun/font/Font2D;
            1   23     1  fName  Ljava/lang/String;
            2    8     2      i  I
            9   15     2      i  I
           16   22     2      i  I

  public int getWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 182
            iconst_5
            ireturn
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;

  public int getWeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 186
            aload 0 /* this */
            getfield sun.font.Font2D.style:I
            iconst_1
            iand
            ifeq 2
         1: .line 187
            sipush 700
            ireturn
         2: .line 189
      StackMap locals:
      StackMap stack:
            sipush 400
            ireturn
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/Font2D;

  int getRank();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 194
            aload 0 /* this */
            getfield sun.font.Font2D.fontRank:I
            ireturn
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;

  void setRank(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int rank
         0: .line 198
            aload 0 /* this */
            iload 1 /* rank */
            putfield sun.font.Font2D.fontRank:I
         1: .line 199
            return
        end local 1 // int rank
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/Font2D;
            0    2     1  rank  I
    MethodParameters:
      Name  Flags
      rank  

  abstract sun.font.CharToGlyphMapper getMapper();
    descriptor: ()Lsun/font/CharToGlyphMapper;
    flags: (0x0400) ACC_ABSTRACT

  protected int getValidatedGlyphCode(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int glyphCode
         0: .line 211
            iload 1 /* glyphCode */
            iflt 1
            iload 1 /* glyphCode */
            aload 0 /* this */
            invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
            invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
            if_icmplt 2
         1: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
            invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
            istore 1 /* glyphCode */
         2: .line 214
      StackMap locals:
      StackMap stack:
            iload 1 /* glyphCode */
            ireturn
        end local 1 // int glyphCode
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/font/Font2D;
            0    3     1  glyphCode  I
    MethodParameters:
           Name  Flags
      glyphCode  

  abstract sun.font.FontStrike createStrike(sun.font.FontStrikeDesc);
    descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      desc  

  public sun.font.FontStrike getStrike(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Lsun/font/FontStrike;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
         0: .line 230
            aload 0 /* this */
            getfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast sun.font.FontStrike
            astore 2 /* strike */
        start local 2 // sun.font.FontStrike strike
         1: .line 231
            aload 2 /* strike */
            ifnull 3
         2: .line 232
            aload 2 /* strike */
            areturn
         3: .line 234
      StackMap locals: sun.font.FontStrike
      StackMap stack:
            aload 0 /* this */
            aload 1 /* font */
            getstatic sun.font.Font2D.DEFAULT_FRC:Ljava/awt/font/FontRenderContext;
            invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
            areturn
        end local 2 // sun.font.FontStrike strike
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/font/Font2D;
            0    4     1    font  Ljava/awt/Font;
            1    4     2  strike  Lsun/font/FontStrike;
    MethodParameters:
      Name  Flags
      font  

  public sun.font.FontStrike getStrike(java.awt.Font, java.awt.geom.AffineTransform, int, int);
    descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=9, args_size=5
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.geom.AffineTransform devTx
        start local 3 // int aa
        start local 4 // int fm
         0: .line 270
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            dstore 5 /* ptSize */
        start local 5 // double ptSize
         1: .line 271
            aload 2 /* devTx */
            invokevirtual java.awt.geom.AffineTransform.clone:()Ljava/lang/Object;
            checkcast java.awt.geom.AffineTransform
            astore 7 /* glyphTx */
        start local 7 // java.awt.geom.AffineTransform glyphTx
         2: .line 272
            aload 7 /* glyphTx */
            dload 5 /* ptSize */
            dload 5 /* ptSize */
            invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
         3: .line 273
            aload 1 /* font */
            invokevirtual java.awt.Font.isTransformed:()Z
            ifeq 5
         4: .line 274
            aload 7 /* glyphTx */
            aload 1 /* font */
            invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
         5: .line 276
      StackMap locals: double java.awt.geom.AffineTransform
      StackMap stack:
            aload 7 /* glyphTx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dconst_0
            dcmpl
            ifne 6
            aload 7 /* glyphTx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dconst_0
            dcmpl
            ifeq 12
         6: .line 277
      StackMap locals:
      StackMap stack:
            aload 7 /* glyphTx */
            aload 7 /* glyphTx */
            invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
         7: .line 278
            aload 7 /* glyphTx */
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
         8: .line 279
            aload 7 /* glyphTx */
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
         9: .line 280
            aload 7 /* glyphTx */
            invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
        10: .line 281
            dconst_0
            dconst_0
        11: .line 277
            invokevirtual java.awt.geom.AffineTransform.setTransform:(DDDDDD)V
        12: .line 283
      StackMap locals:
      StackMap stack:
            new sun.font.FontStrikeDesc
            dup
            aload 2 /* devTx */
            aload 7 /* glyphTx */
        13: .line 284
            aload 1 /* font */
            invokevirtual java.awt.Font.getStyle:()I
            iload 3 /* aa */
            iload 4 /* fm */
        14: .line 283
            invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
            astore 8 /* desc */
        start local 8 // sun.font.FontStrikeDesc desc
        15: .line 285
            aload 0 /* this */
            aload 8 /* desc */
            iconst_0
            invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
            areturn
        end local 8 // sun.font.FontStrikeDesc desc
        end local 7 // java.awt.geom.AffineTransform glyphTx
        end local 5 // double ptSize
        end local 4 // int fm
        end local 3 // int aa
        end local 2 // java.awt.geom.AffineTransform devTx
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lsun/font/Font2D;
            0   16     1     font  Ljava/awt/Font;
            0   16     2    devTx  Ljava/awt/geom/AffineTransform;
            0   16     3       aa  I
            0   16     4       fm  I
            1   16     5   ptSize  D
            2   16     7  glyphTx  Ljava/awt/geom/AffineTransform;
           15   16     8     desc  Lsun/font/FontStrikeDesc;
    MethodParameters:
       Name  Flags
      font   
      devTx  
      aa     
      fm     

  public sun.font.FontStrike getStrike(java.awt.Font, java.awt.geom.AffineTransform, java.awt.geom.AffineTransform, int, int);
    descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.geom.AffineTransform devTx
        start local 3 // java.awt.geom.AffineTransform glyphTx
        start local 4 // int aa
        start local 5 // int fm
         0: .line 296
            new sun.font.FontStrikeDesc
            dup
            aload 2 /* devTx */
            aload 3 /* glyphTx */
         1: .line 297
            aload 1 /* font */
            invokevirtual java.awt.Font.getStyle:()I
            iload 4 /* aa */
            iload 5 /* fm */
         2: .line 296
            invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
            astore 6 /* desc */
        start local 6 // sun.font.FontStrikeDesc desc
         3: .line 298
            aload 0 /* this */
            aload 6 /* desc */
            iconst_0
            invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
            areturn
        end local 6 // sun.font.FontStrikeDesc desc
        end local 5 // int fm
        end local 4 // int aa
        end local 3 // java.awt.geom.AffineTransform glyphTx
        end local 2 // java.awt.geom.AffineTransform devTx
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/font/Font2D;
            0    4     1     font  Ljava/awt/Font;
            0    4     2    devTx  Ljava/awt/geom/AffineTransform;
            0    4     3  glyphTx  Ljava/awt/geom/AffineTransform;
            0    4     4       aa  I
            0    4     5       fm  I
            3    4     6     desc  Lsun/font/FontStrikeDesc;
    MethodParameters:
         Name  Flags
      font     
      devTx    
      glyphTx  
      aa       
      fm       

  public sun.font.FontStrike getStrike(java.awt.Font, java.awt.font.FontRenderContext);
    descriptor: (Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=9, args_size=3
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.font.FontRenderContext frc
         0: .line 303
            aload 2 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 3 /* at */
        start local 3 // java.awt.geom.AffineTransform at
         1: .line 304
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            dstore 4 /* ptSize */
        start local 4 // double ptSize
         2: .line 305
            aload 3 /* at */
            dload 4 /* ptSize */
            dload 4 /* ptSize */
            invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
         3: .line 306
            aload 1 /* font */
            invokevirtual java.awt.Font.isTransformed:()Z
            ifeq 12
         4: .line 307
            aload 3 /* at */
            aload 1 /* font */
            invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
         5: .line 308
            aload 3 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dconst_0
            dcmpl
            ifne 6
            aload 3 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dconst_0
            dcmpl
            ifeq 12
         6: .line 309
      StackMap locals: java.awt.geom.AffineTransform double
      StackMap stack:
            aload 3 /* at */
            aload 3 /* at */
            invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
         7: .line 310
            aload 3 /* at */
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
         8: .line 311
            aload 3 /* at */
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
         9: .line 312
            aload 3 /* at */
            invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
        10: .line 313
            dconst_0
            dconst_0
        11: .line 309
            invokevirtual java.awt.geom.AffineTransform.setTransform:(DDDDDD)V
        12: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* font */
            aload 2 /* frc */
            invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Lsun/font/Font2D;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)I
            istore 6 /* aa */
        start local 6 // int aa
        13: .line 317
            aload 2 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
            invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
            istore 7 /* fm */
        start local 7 // int fm
        14: .line 318
            new sun.font.FontStrikeDesc
            dup
            aload 2 /* frc */
            invokevirtual java.awt.font.FontRenderContext.getTransform:()Ljava/awt/geom/AffineTransform;
        15: .line 319
            aload 3 /* at */
            aload 1 /* font */
            invokevirtual java.awt.Font.getStyle:()I
        16: .line 320
            iload 6 /* aa */
            iload 7 /* fm */
        17: .line 318
            invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
            astore 8 /* desc */
        start local 8 // sun.font.FontStrikeDesc desc
        18: .line 321
            aload 0 /* this */
            aload 8 /* desc */
            iconst_0
            invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
            areturn
        end local 8 // sun.font.FontStrikeDesc desc
        end local 7 // int fm
        end local 6 // int aa
        end local 4 // double ptSize
        end local 3 // java.awt.geom.AffineTransform at
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lsun/font/Font2D;
            0   19     1    font  Ljava/awt/Font;
            0   19     2     frc  Ljava/awt/font/FontRenderContext;
            1   19     3      at  Ljava/awt/geom/AffineTransform;
            2   19     4  ptSize  D
           13   19     6      aa  I
           14   19     7      fm  I
           18   19     8    desc  Lsun/font/FontStrikeDesc;
    MethodParameters:
      Name  Flags
      font  
      frc   

  void updateLastStrikeRef(sun.font.FontStrike);
    descriptor: (Lsun/font/FontStrike;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // sun.font.FontStrike strike
         0: .line 325
            aload 0 /* this */
            getfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
            invokevirtual java.lang.ref.Reference.clear:()V
         1: .line 326
            aload 0 /* this */
            getfield sun.font.Font2D.useWeak:Z
            ifeq 4
         2: .line 327
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* strike */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
         3: .line 328
            goto 5
         4: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.ref.SoftReference
            dup
            aload 1 /* strike */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
         5: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.font.FontStrike strike
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/font/Font2D;
            0    6     1  strike  Lsun/font/FontStrike;
    MethodParameters:
        Name  Flags
      strike  

  sun.font.FontStrike getStrike(sun.font.FontStrikeDesc);
    descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // sun.font.FontStrikeDesc desc
         0: .line 334
            aload 0 /* this */
            aload 1 /* desc */
            iconst_1
            invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
            areturn
        end local 1 // sun.font.FontStrikeDesc desc
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;
            0    1     1  desc  Lsun/font/FontStrikeDesc;
    MethodParameters:
      Name  Flags
      desc  

  private sun.font.FontStrike getStrike(sun.font.FontStrikeDesc, boolean);
    descriptor: (Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.font.Font2D this
        start local 1 // sun.font.FontStrikeDesc desc
        start local 2 // boolean copy
         0: .line 351
            aload 0 /* this */
            getfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast sun.font.FontStrike
            astore 3 /* strike */
        start local 3 // sun.font.FontStrike strike
         1: .line 352
            aload 3 /* strike */
            ifnull 3
            aload 1 /* desc */
            aload 3 /* strike */
            getfield sun.font.FontStrike.desc:Lsun/font/FontStrikeDesc;
            invokevirtual sun.font.FontStrikeDesc.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 353
            aload 3 /* strike */
            areturn
         3: .line 355
      StackMap locals: sun.font.FontStrike
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* desc */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 4 /* strikeRef */
        start local 4 // java.lang.ref.Reference strikeRef
         4: .line 356
            aload 4 /* strikeRef */
            ifnull 10
         5: .line 357
            aload 4 /* strikeRef */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast sun.font.FontStrike
            astore 3 /* strike */
         6: .line 358
            aload 3 /* strike */
            ifnull 10
         7: .line 359
            aload 0 /* this */
            aload 3 /* strike */
            invokevirtual sun.font.Font2D.updateLastStrikeRef:(Lsun/font/FontStrike;)V
         8: .line 360
            aload 3 /* strike */
            invokestatic sun.font.StrikeCache.refStrike:(Lsun/font/FontStrike;)V
         9: .line 361
            aload 3 /* strike */
            areturn
        10: .line 380
      StackMap locals: java.lang.ref.Reference
      StackMap stack:
            iload 2 /* copy */
            ifeq 12
        11: .line 381
            new sun.font.FontStrikeDesc
            dup
            aload 1 /* desc */
            invokespecial sun.font.FontStrikeDesc.<init>:(Lsun/font/FontStrikeDesc;)V
            astore 1 /* desc */
        12: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            invokevirtual sun.font.Font2D.createStrike:(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
            astore 3 /* strike */
        13: .line 392
            aload 1 /* desc */
            getfield sun.font.FontStrikeDesc.glyphTx:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.getType:()I
            istore 5 /* txType */
        start local 5 // int txType
        14: .line 393
            aload 0 /* this */
            getfield sun.font.Font2D.useWeak:Z
            ifne 18
        15: .line 394
            iload 5 /* txType */
            bipush 32
            if_icmpeq 18
        16: .line 395
            iload 5 /* txType */
            bipush 16
            iand
            ifeq 20
        17: .line 396
            aload 0 /* this */
            getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            bipush 10
            if_icmple 20
        18: .line 397
      StackMap locals: int
      StackMap stack:
            aload 3 /* strike */
            iconst_1
            invokestatic sun.font.StrikeCache.getStrikeRef:(Lsun/font/FontStrike;Z)Ljava/lang/ref/Reference;
            astore 4 /* strikeRef */
        19: .line 398
            goto 21
        20: .line 399
      StackMap locals:
      StackMap stack:
            aload 3 /* strike */
            aload 0 /* this */
            getfield sun.font.Font2D.useWeak:Z
            invokestatic sun.font.StrikeCache.getStrikeRef:(Lsun/font/FontStrike;Z)Ljava/lang/ref/Reference;
            astore 4 /* strikeRef */
        21: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* desc */
            aload 4 /* strikeRef */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 402
            aload 0 /* this */
            aload 3 /* strike */
            invokevirtual sun.font.Font2D.updateLastStrikeRef:(Lsun/font/FontStrike;)V
        23: .line 403
            aload 3 /* strike */
            invokestatic sun.font.StrikeCache.refStrike:(Lsun/font/FontStrike;)V
        24: .line 404
            aload 3 /* strike */
            areturn
        end local 5 // int txType
        end local 4 // java.lang.ref.Reference strikeRef
        end local 3 // sun.font.FontStrike strike
        end local 2 // boolean copy
        end local 1 // sun.font.FontStrikeDesc desc
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lsun/font/Font2D;
            0   25     1       desc  Lsun/font/FontStrikeDesc;
            0   25     2       copy  Z
            1   25     3     strike  Lsun/font/FontStrike;
            4   25     4  strikeRef  Ljava/lang/ref/Reference;
           14   25     5     txType  I
    MethodParameters:
      Name  Flags
      desc  
      copy  

  public void getFontMetrics(java.awt.Font, java.awt.geom.AffineTransform, java.lang.Object, java.lang.Object, float[]);
    descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;[F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.geom.AffineTransform at
        start local 3 // java.lang.Object aaHint
        start local 4 // java.lang.Object fmHint
        start local 5 // float[] metrics
         0: .line 426
            aload 3 /* aaHint */
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize:()I
            invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Ljava/lang/Object;Lsun/font/Font2D;I)I
            istore 6 /* aa */
        start local 6 // int aa
         1: .line 427
            aload 4 /* fmHint */
            invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
            istore 7 /* fm */
        start local 7 // int fm
         2: .line 428
            aload 0 /* this */
            aload 1 /* font */
            aload 2 /* at */
            iload 6 /* aa */
            iload 7 /* fm */
            invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
            astore 8 /* strike */
        start local 8 // sun.font.FontStrike strike
         3: .line 429
            aload 8 /* strike */
            invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
            astore 9 /* strikeMetrics */
        start local 9 // sun.font.StrikeMetrics strikeMetrics
         4: .line 430
            aload 5 /* metrics */
            iconst_0
            aload 9 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getAscent:()F
            fastore
         5: .line 431
            aload 5 /* metrics */
            iconst_1
            aload 9 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getDescent:()F
            fastore
         6: .line 432
            aload 5 /* metrics */
            iconst_2
            aload 9 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getLeading:()F
            fastore
         7: .line 433
            aload 5 /* metrics */
            iconst_3
            aload 9 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getMaxAdvance:()F
            fastore
         8: .line 435
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            aload 5 /* metrics */
            iconst_4
            invokevirtual sun.font.Font2D.getStyleMetrics:(F[FI)V
         9: .line 436
            return
        end local 9 // sun.font.StrikeMetrics strikeMetrics
        end local 8 // sun.font.FontStrike strike
        end local 7 // int fm
        end local 6 // int aa
        end local 5 // float[] metrics
        end local 4 // java.lang.Object fmHint
        end local 3 // java.lang.Object aaHint
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lsun/font/Font2D;
            0   10     1           font  Ljava/awt/Font;
            0   10     2             at  Ljava/awt/geom/AffineTransform;
            0   10     3         aaHint  Ljava/lang/Object;
            0   10     4         fmHint  Ljava/lang/Object;
            0   10     5        metrics  [F
            1   10     6             aa  I
            2   10     7             fm  I
            3   10     8         strike  Lsun/font/FontStrike;
            4   10     9  strikeMetrics  Lsun/font/StrikeMetrics;
    MethodParameters:
         Name  Flags
      font     
      at       
      aaHint   
      fmHint   
      metrics  

  public void getStyleMetrics(float, float[], int);
    descriptor: (F[FI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.font.Font2D this
        start local 1 // float pointSize
        start local 2 // float[] metrics
        start local 3 // int offset
         0: .line 451
            aload 2 /* metrics */
            iload 3 /* offset */
            aload 2 /* metrics */
            iconst_0
            faload
            fneg
            ldc 2.5
            fdiv
            fastore
         1: .line 452
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_1
            iadd
            fload 1 /* pointSize */
            ldc 12.0
            fdiv
            fastore
         2: .line 453
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_2
            iadd
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_1
            iadd
            faload
            ldc 1.5
            fdiv
            fastore
         3: .line 454
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_3
            iadd
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_1
            iadd
            faload
            fastore
         4: .line 455
            return
        end local 3 // int offset
        end local 2 // float[] metrics
        end local 1 // float pointSize
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/font/Font2D;
            0    5     1  pointSize  F
            0    5     2    metrics  [F
            0    5     3     offset  I
    MethodParameters:
           Name  Flags
      pointSize  
      metrics    
      offset     

  public void getFontMetrics(java.awt.Font, java.awt.font.FontRenderContext, float[]);
    descriptor: (Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.font.FontRenderContext frc
        start local 3 // float[] metrics
         0: .line 467
            aload 0 /* this */
            aload 1 /* font */
            aload 2 /* frc */
            invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
            invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
            astore 4 /* strikeMetrics */
        start local 4 // sun.font.StrikeMetrics strikeMetrics
         1: .line 468
            aload 3 /* metrics */
            iconst_0
            aload 4 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getAscent:()F
            fastore
         2: .line 469
            aload 3 /* metrics */
            iconst_1
            aload 4 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getDescent:()F
            fastore
         3: .line 470
            aload 3 /* metrics */
            iconst_2
            aload 4 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getLeading:()F
            fastore
         4: .line 471
            aload 3 /* metrics */
            iconst_3
            aload 4 /* strikeMetrics */
            invokevirtual sun.font.StrikeMetrics.getMaxAdvance:()F
            fastore
         5: .line 472
            return
        end local 4 // sun.font.StrikeMetrics strikeMetrics
        end local 3 // float[] metrics
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lsun/font/Font2D;
            0    6     1           font  Ljava/awt/Font;
            0    6     2            frc  Ljava/awt/font/FontRenderContext;
            0    6     3        metrics  [F
            1    6     4  strikeMetrics  Lsun/font/StrikeMetrics;
    MethodParameters:
         Name  Flags
      font     
      frc      
      metrics  

  protected byte[] getTableBytes(int);
    descriptor: (I)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int tag
         0: .line 479
            aconst_null
            areturn
        end local 1 // int tag
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;
            0    1     1   tag  I
    MethodParameters:
      Name  Flags
      tag   

  protected long getLayoutTableCache();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 486
            lconst_0
            lreturn
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;

  protected long getUnitsPerEm();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.Font2D this
         0: .line 491
            ldc 2048
            lreturn
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;

  boolean supportsEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // java.lang.String encoding
         0: .line 495
            iconst_0
            ireturn
        end local 1 // java.lang.String encoding
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/font/Font2D;
            0    1     1  encoding  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      encoding  

  public boolean canDoStyle(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int style
         0: .line 499
            iload 1 /* style */
            aload 0 /* this */
            getfield sun.font.Font2D.style:I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int style
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/font/Font2D;
            0    2     1  style  I
    MethodParameters:
       Name  Flags
      style  

  public boolean useAAForPtSize(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int ptsize
         0: .line 507
            iconst_1
            ireturn
        end local 1 // int ptsize
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/font/Font2D;
            0    1     1  ptsize  I
    MethodParameters:
        Name  Flags
      ptsize  

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

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

  public java.lang.String getFontName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // java.util.Locale l
         0: .line 520
            aload 0 /* this */
            getfield sun.font.Font2D.fullName:Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale l
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;
            0    1     1     l  Ljava/util/Locale;
    MethodParameters:
      Name  Flags
      l     

  public java.lang.String getFamilyName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // java.util.Locale l
         0: .line 524
            aload 0 /* this */
            getfield sun.font.Font2D.familyName:Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale l
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;
            0    1     1     l  Ljava/util/Locale;
    MethodParameters:
      Name  Flags
      l     

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

  public int charToGlyph(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int wchar
         0: .line 532
            aload 0 /* this */
            invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
            iload 1 /* wchar */
            invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
            ireturn
        end local 1 // int wchar
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/font/Font2D;
            0    1     1  wchar  I
    MethodParameters:
       Name  Flags
      wchar  

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

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

  public boolean canDisplay(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // int cp
         0: .line 544
            aload 0 /* this */
            invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
            iload 1 /* cp */
            invokevirtual sun.font.CharToGlyphMapper.canDisplay:(I)Z
            ireturn
        end local 1 // int cp
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;
            0    1     1    cp  I
    MethodParameters:
      Name  Flags
      cp    

  public byte getBaselineFor(char);
    descriptor: (C)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.Font2D this
        start local 1 // char c
         0: .line 548
            iconst_0
            ireturn
        end local 1 // char c
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/Font2D;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public float getItalicAngle(java.awt.Font, java.awt.geom.AffineTransform, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // sun.font.Font2D this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.geom.AffineTransform at
        start local 3 // java.lang.Object aaHint
        start local 4 // java.lang.Object fmHint
         0: .line 556
            aload 3 /* aaHint */
            aload 0 /* this */
            bipush 12
            invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Ljava/lang/Object;Lsun/font/Font2D;I)I
            istore 5 /* aa */
        start local 5 // int aa
         1: .line 557
            aload 4 /* fmHint */
            invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
            istore 6 /* fm */
        start local 6 // int fm
         2: .line 558
            aload 0 /* this */
            aload 1 /* font */
            aload 2 /* at */
            iload 5 /* aa */
            iload 6 /* fm */
            invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
            astore 7 /* strike */
        start local 7 // sun.font.FontStrike strike
         3: .line 559
            aload 7 /* strike */
            invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
            astore 8 /* metrics */
        start local 8 // sun.font.StrikeMetrics metrics
         4: .line 560
            aload 8 /* metrics */
            getfield sun.font.StrikeMetrics.ascentY:F
            fconst_0
            fcmpl
            ifeq 5
            aload 8 /* metrics */
            getfield sun.font.StrikeMetrics.ascentX:F
            fconst_0
            fcmpl
            ifne 6
         5: .line 561
      StackMap locals: sun.font.Font2D java.awt.Font java.awt.geom.AffineTransform java.lang.Object java.lang.Object int int sun.font.FontStrike sun.font.StrikeMetrics
      StackMap stack:
            fconst_0
            freturn
         6: .line 566
      StackMap locals:
      StackMap stack:
            aload 8 /* metrics */
            getfield sun.font.StrikeMetrics.ascentX:F
            aload 8 /* metrics */
            getfield sun.font.StrikeMetrics.ascentY:F
            fneg
            fdiv
            freturn
        end local 8 // sun.font.StrikeMetrics metrics
        end local 7 // sun.font.FontStrike strike
        end local 6 // int fm
        end local 5 // int aa
        end local 4 // java.lang.Object fmHint
        end local 3 // java.lang.Object aaHint
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // java.awt.Font font
        end local 0 // sun.font.Font2D this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/font/Font2D;
            0    7     1     font  Ljava/awt/Font;
            0    7     2       at  Ljava/awt/geom/AffineTransform;
            0    7     3   aaHint  Ljava/lang/Object;
            0    7     4   fmHint  Ljava/lang/Object;
            1    7     5       aa  I
            2    7     6       fm  I
            3    7     7   strike  Lsun/font/FontStrike;
            4    7     8  metrics  Lsun/font/StrikeMetrics;
    MethodParameters:
        Name  Flags
      font    
      at      
      aaHint  
      fmHint  
}
SourceFile: "Font2D.java"