public final class sun.font.CFont extends sun.font.PhysicalFont implements sun.font.FontSubstitution
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.font.CFont
  super_class: sun.font.PhysicalFont
{
  private boolean isFakeItalic;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private long nativeFontPtr;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 272
            new java.awt.font.FontRenderContext
            dup
            aconst_null
            iconst_0
            iconst_0
            invokespecial java.awt.font.FontRenderContext.<init>:(Ljava/awt/geom/AffineTransform;ZZ)V
         1: .line 271
            putstatic sun.font.CFont.DEFAULT_FRC:Ljava/awt/font/FontRenderContext;
         2: .line 272
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  sun.font.StrikeMetrics getFontMetrics(long);
    descriptor: (J)Lsun/font/StrikeMetrics;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
         0: .line 48
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
    MethodParameters:
                Name  Flags
      pScalerContext  

  float getGlyphAdvance(long, int);
    descriptor: (JI)F
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 52
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
            0    1     3       glyphCode  I
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  void getGlyphMetrics(long, int, java.awt.geom.Point2D$Float);
    descriptor: (JILjava/awt/geom/Point2D$Float;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // java.awt.geom.Point2D$Float metrics
         0: .line 57
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.awt.geom.Point2D$Float metrics
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
            0    1     3       glyphCode  I
            0    1     4         metrics  Ljava/awt/geom/Point2D$Float;
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      metrics         

  long getGlyphImage(long, int);
    descriptor: (JI)J
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 61
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
            0    1     3       glyphCode  I
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  java.awt.geom.Rectangle2D$Float getGlyphOutlineBounds(long, int);
    descriptor: (JI)Ljava/awt/geom/Rectangle2D$Float;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 66
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
            0    1     3       glyphCode  I
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  java.awt.geom.GeneralPath getGlyphOutline(long, int, float, float);
    descriptor: (JIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // float x
        start local 5 // float y
         0: .line 71
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // float y
        end local 4 // float x
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
            0    1     3       glyphCode  I
            0    1     4               x  F
            0    1     5               y  F
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      x               
      y               

  java.awt.geom.GeneralPath getGlyphVectorOutline(long, int[], int, float, float);
    descriptor: (J[IIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // sun.font.CFont this
        start local 1 // long pScalerContext
        start local 3 // int[] glyphs
        start local 4 // int numGlyphs
        start local 5 // float x
        start local 6 // float y
         0: .line 77
            new java.lang.InternalError
            dup
            ldc "Not implemented"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // float y
        end local 5 // float x
        end local 4 // int numGlyphs
        end local 3 // int[] glyphs
        end local 1 // long pScalerContext
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/CFont;
            0    1     1  pScalerContext  J
            0    1     3          glyphs  [I
            0    1     4       numGlyphs  I
            0    1     5               x  F
            0    1     6               y  F
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphs          
      numGlyphs       
      x               
      y               

  protected byte[] getTableBytes(int);
    descriptor: (I)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.font.CFont this
        start local 1 // int tag
         0: .line 82
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.font.CFont.getNativeFontPtr:()J
            iload 1 /* tag */
            invokevirtual sun.font.CFont.getTableBytesNative:(JI)[B
            areturn
        end local 1 // int tag
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/CFont;
            0    1     1   tag  I
    MethodParameters:
      Name  Flags
      tag   

  private native byte[] getTableBytesNative(long, int);
    descriptor: (JI)[B
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      nativeFontPtr  
      tag            

  private static native long createNativeFont(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      nativeFontName  final
      style           final

  private static native void disposeNativeFont(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      nativeFontPtr  final

  private native float getWidthNative(long);
    descriptor: (J)F
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      nativeFontPtr  final

  private native float getWeightNative(long);
    descriptor: (J)F
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      nativeFontPtr  final

  public int getWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 103
            aload 0 /* this */
            getfield sun.font.CFont.fontWidth:I
            iconst_m1
            if_icmpne 31
         1: .line 108
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.font.CFont.getNativeFontPtr:()J
            invokevirtual sun.font.CFont.getWidthNative:(J)F
            fstore 1 /* fw */
        start local 1 // float fw
         2: .line 109
            fload 1 /* fw */
            f2d
            dconst_0
            dcmpl
            ifne 5
         3: .line 110
            aload 0 /* this */
            iconst_5
            putfield sun.font.CFont.fontWidth:I
         4: .line 111
            aload 0 /* this */
            getfield sun.font.CFont.fontWidth:I
            ireturn
         5: .line 113
      StackMap locals: float
      StackMap stack:
            fload 1 /* fw */
            f2d
            dconst_1
            dadd
            d2f
            fstore 1 /* fw */
            fload 1 /* fw */
            f2d
            ldc 100.0
            dmul
            d2f
            fstore 1 /* fw */
         6: .line 114
            fload 1 /* fw */
            f2d
            ldc 50.0
            dcmpg
            ifgt 9
         7: .line 115
            aload 0 /* this */
            iconst_1
            putfield sun.font.CFont.fontWidth:I
         8: .line 116
            goto 31
      StackMap locals:
      StackMap stack:
         9: fload 1 /* fw */
            f2d
            ldc 62.5
            dcmpg
            ifgt 12
        10: .line 117
            aload 0 /* this */
            iconst_2
            putfield sun.font.CFont.fontWidth:I
        11: .line 118
            goto 31
      StackMap locals:
      StackMap stack:
        12: fload 1 /* fw */
            f2d
            ldc 75.0
            dcmpg
            ifgt 15
        13: .line 119
            aload 0 /* this */
            iconst_3
            putfield sun.font.CFont.fontWidth:I
        14: .line 120
            goto 31
      StackMap locals:
      StackMap stack:
        15: fload 1 /* fw */
            f2d
            ldc 87.5
            dcmpg
            ifgt 18
        16: .line 121
            aload 0 /* this */
            iconst_4
            putfield sun.font.CFont.fontWidth:I
        17: .line 122
            goto 31
      StackMap locals:
      StackMap stack:
        18: fload 1 /* fw */
            f2d
            ldc 100.0
            dcmpg
            ifgt 21
        19: .line 123
            aload 0 /* this */
            iconst_5
            putfield sun.font.CFont.fontWidth:I
        20: .line 124
            goto 31
      StackMap locals:
      StackMap stack:
        21: fload 1 /* fw */
            f2d
            ldc 112.5
            dcmpg
            ifgt 24
        22: .line 125
            aload 0 /* this */
            bipush 6
            putfield sun.font.CFont.fontWidth:I
        23: .line 126
            goto 31
      StackMap locals:
      StackMap stack:
        24: fload 1 /* fw */
            f2d
            ldc 125.0
            dcmpg
            ifgt 27
        25: .line 127
            aload 0 /* this */
            bipush 7
            putfield sun.font.CFont.fontWidth:I
        26: .line 128
            goto 31
      StackMap locals:
      StackMap stack:
        27: fload 1 /* fw */
            f2d
            ldc 150.0
            dcmpg
            ifgt 30
        28: .line 129
            aload 0 /* this */
            bipush 8
            putfield sun.font.CFont.fontWidth:I
        29: .line 130
            goto 31
        30: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 9
            putfield sun.font.CFont.fontWidth:I
        end local 1 // float fw
        31: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CFont.fontWidth:I
            ireturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lsun/font/CFont;
            2   31     1    fw  F

  public int getWeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 139
            aload 0 /* this */
            getfield sun.font.CFont.fontWeight:I
            iconst_m1
            if_icmpne 6
         1: .line 144
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.font.CFont.getNativeFontPtr:()J
            invokevirtual sun.font.CFont.getWeightNative:(J)F
            fstore 1 /* fw */
        start local 1 // float fw
         2: .line 145
            fload 1 /* fw */
            fconst_0
            fcmpl
            ifne 4
         3: .line 146
            sipush 400
            ireturn
         4: .line 148
      StackMap locals: float
      StackMap stack:
            fload 1 /* fw */
            f2d
            dconst_1
            dadd
            d2f
            fstore 1 /* fw */
            fload 1 /* fw */
            ldc 500.0
            fmul
            fstore 1 /* fw */
         5: .line 149
            aload 0 /* this */
            fload 1 /* fw */
            f2i
            putfield sun.font.CFont.fontWeight:I
        end local 1 // float fw
         6: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CFont.fontWeight:I
            ireturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/CFont;
            2    6     1    fw  F

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.font.CFont this
        start local 1 // java.lang.String name
         0: .line 156
            aload 0 /* this */
            aload 1 /* name */
            aload 1 /* name */
            invokespecial sun.font.CFont.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 157
            return
        end local 1 // java.lang.String name
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/CFont;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.font.CFont this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String inFamilyName
         0: .line 159
            aload 0 /* this */
            invokespecial sun.font.PhysicalFont.<init>:()V
         1: .line 98
            aload 0 /* this */
            iconst_m1
            putfield sun.font.CFont.fontWidth:I
         2: .line 99
            aload 0 /* this */
            iconst_m1
            putfield sun.font.CFont.fontWeight:I
         3: .line 160
            aload 0 /* this */
            new sun.font.Font2DHandle
            dup
            aload 0 /* this */
            invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
            putfield sun.font.CFont.handle:Lsun/font/Font2DHandle;
         4: .line 161
            aload 0 /* this */
            aload 1 /* name */
            putfield sun.font.CFont.fullName:Ljava/lang/String;
         5: .line 162
            aload 0 /* this */
            aload 2 /* inFamilyName */
            putfield sun.font.CFont.familyName:Ljava/lang/String;
         6: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CFont.fullName:Ljava/lang/String;
            putfield sun.font.CFont.nativeFontName:Ljava/lang/String;
         7: .line 164
            aload 0 /* this */
            invokevirtual sun.font.CFont.setStyle:()V
         8: .line 165
            return
        end local 2 // java.lang.String inFamilyName
        end local 1 // java.lang.String name
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lsun/font/CFont;
            0    9     1          name  Ljava/lang/String;
            0    9     2  inFamilyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      name          
      inFamilyName  

  public void <init>(sun.font.CFont, java.lang.String);
    descriptor: (Lsun/font/CFont;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.font.CFont this
        start local 1 // sun.font.CFont other
        start local 2 // java.lang.String logicalFamilyName
         0: .line 168
            aload 0 /* this */
            invokespecial sun.font.PhysicalFont.<init>:()V
         1: .line 98
            aload 0 /* this */
            iconst_m1
            putfield sun.font.CFont.fontWidth:I
         2: .line 99
            aload 0 /* this */
            iconst_m1
            putfield sun.font.CFont.fontWeight:I
         3: .line 169
            aload 0 /* this */
            new sun.font.Font2DHandle
            dup
            aload 0 /* this */
            invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
            putfield sun.font.CFont.handle:Lsun/font/Font2DHandle;
         4: .line 170
            aload 0 /* this */
            aload 2 /* logicalFamilyName */
            putfield sun.font.CFont.fullName:Ljava/lang/String;
         5: .line 171
            aload 0 /* this */
            aload 2 /* logicalFamilyName */
            putfield sun.font.CFont.familyName:Ljava/lang/String;
         6: .line 172
            aload 0 /* this */
            aload 1 /* other */
            getfield sun.font.CFont.nativeFontName:Ljava/lang/String;
            putfield sun.font.CFont.nativeFontName:Ljava/lang/String;
         7: .line 173
            aload 0 /* this */
            aload 1 /* other */
            getfield sun.font.CFont.style:I
            putfield sun.font.CFont.style:I
         8: .line 174
            aload 0 /* this */
            aload 1 /* other */
            getfield sun.font.CFont.isFakeItalic:Z
            putfield sun.font.CFont.isFakeItalic:Z
         9: .line 175
            return
        end local 2 // java.lang.String logicalFamilyName
        end local 1 // sun.font.CFont other
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lsun/font/CFont;
            0   10     1              other  Lsun/font/CFont;
            0   10     2  logicalFamilyName  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      other              
      logicalFamilyName  

  public sun.font.CFont createItalicVariant();
    descriptor: ()Lsun/font/CFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 178
            new sun.font.CFont
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CFont.familyName:Ljava/lang/String;
            invokespecial sun.font.CFont.<init>:(Lsun/font/CFont;Ljava/lang/String;)V
            astore 1 /* font */
        start local 1 // sun.font.CFont font
         1: .line 179
            aload 1 /* font */
            aload 0 /* this */
            getfield sun.font.CFont.fullName:Ljava/lang/String;
            putfield sun.font.CFont.nativeFontName:Ljava/lang/String;
         2: .line 180
            aload 1 /* font */
         3: .line 181
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.font.CFont.fullName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.CFont.style:I
            iconst_1
            if_icmpne 4
            ldc ""
            goto 5
      StackMap locals: sun.font.CFont sun.font.CFont
      StackMap stack: sun.font.CFont java.lang.StringBuilder
         4: ldc "-"
      StackMap locals: sun.font.CFont sun.font.CFont
      StackMap stack: sun.font.CFont java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Italic-Derived"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 180
            putfield sun.font.CFont.fullName:Ljava/lang/String;
         7: .line 182
            aload 1 /* font */
            dup
            getfield sun.font.CFont.style:I
            iconst_2
            ior
            putfield sun.font.CFont.style:I
         8: .line 183
            aload 1 /* font */
            iconst_1
            putfield sun.font.CFont.isFakeItalic:Z
         9: .line 184
            aload 1 /* font */
            areturn
        end local 1 // sun.font.CFont font
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/font/CFont;
            1   10     1  font  Lsun/font/CFont;

  protected synchronized long getNativeFontPtr();
    descriptor: ()J
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 188
            aload 0 /* this */
            getfield sun.font.CFont.nativeFontPtr:J
            lconst_0
            lcmp
            ifne 2
         1: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CFont.nativeFontName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.font.CFont.style:I
            invokestatic sun.font.CFont.createNativeFont:(Ljava/lang/String;I)J
            putfield sun.font.CFont.nativeFontPtr:J
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CFont.nativeFontPtr:J
            lreturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/CFont;

  private native long getCGFontPtrNative(long);
    descriptor: (J)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
      Name  Flags
      ptr   

  protected synchronized long getPlatformNativeFontPtr();
    descriptor: ()J
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 198
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.font.CFont.getNativeFontPtr:()J
            invokevirtual sun.font.CFont.getCGFontPtrNative:(J)J
            lreturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/CFont;

  static native void getCascadeList(long, java.util.ArrayList<java.lang.String>);
    descriptor: (JLjava/util/ArrayList;)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Signature: (JLjava/util/ArrayList<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      nativeFontPtr  
      listOfString   

  private sun.font.CompositeFont createCompositeFont();
    descriptor: ()Lsun/font/CompositeFont;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 204
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* listOfString */
        start local 1 // java.util.ArrayList listOfString
         1: .line 205
            aload 0 /* this */
            getfield sun.font.CFont.nativeFontPtr:J
            aload 1 /* listOfString */
            invokestatic sun.font.CFont.getCascadeList:(JLjava/util/ArrayList;)V
         2: .line 208
            aload 1 /* listOfString */
            ldc "GeezaPro"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 209
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 2 /* fm */
        start local 2 // sun.font.FontManager fm
         4: .line 210
            iconst_1
            aload 1 /* listOfString */
            invokevirtual java.util.ArrayList.size:()I
            iadd
            istore 3 /* numFonts */
        start local 3 // int numFonts
         5: .line 211
            iload 3 /* numFonts */
            anewarray sun.font.PhysicalFont
            astore 4 /* fonts */
        start local 4 // sun.font.PhysicalFont[] fonts
         6: .line 212
            aload 4 /* fonts */
            iconst_0
            aload 0 /* this */
            aastore
         7: .line 213
            iconst_1
            istore 5 /* idx */
        start local 5 // int idx
         8: .line 214
            aload 1 /* listOfString */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: sun.font.CFont java.util.ArrayList sun.font.FontManager int sun.font.PhysicalFont[] int top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* s */
        start local 6 // java.lang.String s
        10: .line 215
            aload 6 /* s */
            ldc ".AppleSymbolsFB"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 217
            ldc "AppleSymbols"
            astore 6 /* s */
        12: .line 219
      StackMap locals: sun.font.CFont java.util.ArrayList sun.font.FontManager int sun.font.PhysicalFont[] int java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* fm */
            aload 6 /* s */
            iconst_0
            iconst_0
            invokeinterface sun.font.FontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
            astore 8 /* f2d */
        start local 8 // sun.font.Font2D f2d
        13: .line 220
            aload 8 /* f2d */
            ifnull 16
            aload 8 /* f2d */
            aload 0 /* this */
            if_acmpne 15
        14: .line 221
            goto 16
        15: .line 223
      StackMap locals: sun.font.Font2D
      StackMap stack:
            aload 4 /* fonts */
            iload 5 /* idx */
            iinc 5 /* idx */ 1
            aload 8 /* f2d */
            checkcast sun.font.PhysicalFont
            aastore
        end local 8 // sun.font.Font2D f2d
        end local 6 // java.lang.String s
        16: .line 214
      StackMap locals: sun.font.CFont java.util.ArrayList sun.font.FontManager int sun.font.PhysicalFont[] int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 225
            iload 5 /* idx */
            aload 4 /* fonts */
            arraylength
            if_icmpge 21
        18: .line 226
            aload 4 /* fonts */
            astore 6 /* orig */
        start local 6 // sun.font.PhysicalFont[] orig
        19: .line 227
            iload 5 /* idx */
            anewarray sun.font.PhysicalFont
            astore 4 /* fonts */
        20: .line 228
            aload 6 /* orig */
            iconst_0
            aload 4 /* fonts */
            iconst_0
            iload 5 /* idx */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 6 // sun.font.PhysicalFont[] orig
        21: .line 230
      StackMap locals: sun.font.CFont java.util.ArrayList sun.font.FontManager int sun.font.PhysicalFont[] int
      StackMap stack:
            new sun.font.CompositeFont
            dup
            aload 4 /* fonts */
            invokespecial sun.font.CompositeFont.<init>:([Lsun/font/PhysicalFont;)V
            astore 6 /* compFont */
        start local 6 // sun.font.CompositeFont compFont
        22: .line 231
            aload 6 /* compFont */
            new sun.font.CCompositeGlyphMapper
            dup
            aload 6 /* compFont */
            invokespecial sun.font.CCompositeGlyphMapper.<init>:(Lsun/font/CompositeFont;)V
            putfield sun.font.CompositeFont.mapper:Lsun/font/CharToGlyphMapper;
        23: .line 232
            aload 6 /* compFont */
            areturn
        end local 6 // sun.font.CompositeFont compFont
        end local 5 // int idx
        end local 4 // sun.font.PhysicalFont[] fonts
        end local 3 // int numFonts
        end local 2 // sun.font.FontManager fm
        end local 1 // java.util.ArrayList listOfString
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lsun/font/CFont;
            1   24     1  listOfString  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   24     2            fm  Lsun/font/FontManager;
            5   24     3      numFonts  I
            6   24     4         fonts  [Lsun/font/PhysicalFont;
            8   24     5           idx  I
           10   16     6             s  Ljava/lang/String;
           13   16     8           f2d  Lsun/font/Font2D;
           19   21     6          orig  [Lsun/font/PhysicalFont;
           22   24     6      compFont  Lsun/font/CompositeFont;

  public sun.font.CompositeFont getCompositeFont2D();
    descriptor: ()Lsun/font/CompositeFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 238
            aload 0 /* this */
            getfield sun.font.CFont.compFont:Lsun/font/CompositeFont;
            ifnonnull 2
         1: .line 239
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.font.CFont.createCompositeFont:()Lsun/font/CompositeFont;
            putfield sun.font.CFont.compFont:Lsun/font/CompositeFont;
         2: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CFont.compFont:Lsun/font/CompositeFont;
            areturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/CFont;

  protected synchronized void finalize();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 246
            aload 0 /* this */
            getfield sun.font.CFont.nativeFontPtr:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 247
            aload 0 /* this */
            getfield sun.font.CFont.nativeFontPtr:J
            invokestatic sun.font.CFont.disposeNativeFont:(J)V
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.font.CFont.nativeFontPtr:J
         3: .line 250
            return
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/CFont;

  protected sun.font.CharToGlyphMapper getMapper();
    descriptor: ()Lsun/font/CharToGlyphMapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 253
            aload 0 /* this */
            getfield sun.font.CFont.mapper:Lsun/font/CharToGlyphMapper;
            ifnonnull 2
         1: .line 254
            aload 0 /* this */
            new sun.font.CCharToGlyphMapper
            dup
            aload 0 /* this */
            invokespecial sun.font.CCharToGlyphMapper.<init>:(Lsun/font/CFont;)V
            putfield sun.font.CFont.mapper:Lsun/font/CharToGlyphMapper;
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CFont.mapper:Lsun/font/CharToGlyphMapper;
            areturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/CFont;

  protected sun.font.FontStrike createStrike(sun.font.FontStrikeDesc);
    descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.font.CFont this
        start local 1 // sun.font.FontStrikeDesc desc
         0: .line 260
            aload 0 /* this */
            getfield sun.font.CFont.isFakeItalic:Z
            ifeq 3
         1: .line 261
            new sun.font.FontStrikeDesc
            dup
            aload 1 /* desc */
            invokespecial sun.font.FontStrikeDesc.<init>:(Lsun/font/FontStrikeDesc;)V
            astore 1 /* desc */
         2: .line 262
            aload 1 /* desc */
            getfield sun.font.FontStrikeDesc.glyphTx:Ljava/awt/geom/AffineTransform;
            ldc -0.2
            dconst_0
            invokestatic java.awt.geom.AffineTransform.getShearInstance:(DD)Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
         3: .line 264
      StackMap locals:
      StackMap stack:
            new sun.font.CStrike
            dup
            aload 0 /* this */
            aload 1 /* desc */
            invokespecial sun.font.CStrike.<init>:(Lsun/font/CFont;Lsun/font/FontStrikeDesc;)V
            areturn
        end local 1 // sun.font.FontStrikeDesc desc
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/CFont;
            0    4     1  desc  Lsun/font/FontStrikeDesc;
    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=2, args_size=2
        start local 0 // sun.font.CFont this
        start local 1 // java.awt.Font font
         0: .line 274
            aload 0 /* this */
            aload 1 /* font */
            getstatic sun.font.CFont.DEFAULT_FRC:Ljava/awt/font/FontRenderContext;
            invokevirtual sun.font.CFont.getStrike:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
            areturn
        end local 1 // java.awt.Font font
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/CFont;
            0    1     1  font  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      font  final

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.CFont this
        start local 1 // java.lang.Object o
         0: .line 278
            aload 0 /* this */
            aload 1 /* o */
            invokespecial sun.font.PhysicalFont.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 279
            iconst_0
            ireturn
         2: .line 282
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast sun.font.Font2D
            invokevirtual sun.font.Font2D.getStyle:()I
            aload 0 /* this */
            invokevirtual sun.font.CFont.getStyle:()I
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/CFont;
            0    4     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 286
            aload 0 /* this */
            invokespecial sun.font.PhysicalFont.hashCode:()I
            aload 0 /* this */
            invokevirtual sun.font.CFont.getStyle:()I
            ixor
            ireturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/CFont;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.CFont this
         0: .line 290
            new java.lang.StringBuilder
            dup
            ldc "CFont { fullName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.CFont.fullName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 291
            ldc ",  familyName: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.CFont.familyName: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;
            aload 0 /* this */
            getfield sun.font.CFont.style:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 292
            ldc " } aka: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 290
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.font.CFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/CFont;
}
SourceFile: "CFont.java"
InnerClasses:
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D