public abstract class sun.font.FontScaler implements sun.java2d.DisposerRecord
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.font.FontScaler
  super_class: java.lang.Object
{
  protected java.lang.ref.WeakReference<sun.font.Font2D> font;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/lang/ref/WeakReference<Lsun/font/Font2D;>;

  protected long nativeScaler;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected boolean disposed;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.FontScaler this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            aconst_null
            putfield sun.font.FontScaler.font:Ljava/lang/ref/WeakReference;
         2: .line 81
            aload 0 /* this */
            lconst_0
            putfield sun.font.FontScaler.nativeScaler:J
         3: .line 83
            aload 0 /* this */
            iconst_0
            putfield sun.font.FontScaler.disposed:Z
         4: .line 79
            return
        end local 0 // sun.font.FontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/font/FontScaler;

  abstract sun.font.StrikeMetrics getFontMetrics(long);
    descriptor: (J)Lsun/font/StrikeMetrics;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  

  abstract float getGlyphAdvance(long, int);
    descriptor: (JI)F
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  abstract void getGlyphMetrics(long, int, java.awt.geom.Point2D$Float);
    descriptor: (JILjava/awt/geom/Point2D$Float;)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      metrics         

  abstract long getGlyphImage(long, int);
    descriptor: (JI)J
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  abstract java.awt.geom.Rectangle2D$Float getGlyphOutlineBounds(long, int);
    descriptor: (JI)Ljava/awt/geom/Rectangle2D$Float;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
           Name  Flags
      pContext   
      glyphCode  

  abstract java.awt.geom.GeneralPath getGlyphOutline(long, int, float, float);
    descriptor: (JIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      x               
      y               

  abstract java.awt.geom.GeneralPath getGlyphVectorOutline(long, int[], int, float, float);
    descriptor: (J[IIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphs          
      numGlyphs       
      x               
      y               

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.font.FontScaler this
         0: .line 123
            return
        end local 0 // sun.font.FontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/FontScaler;

  abstract int getNumGlyphs();
    descriptor: ()I
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException

  abstract int getMissingGlyphCode();
    descriptor: ()I
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException

  abstract int getGlyphCode(char);
    descriptor: (C)I
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
          Name  Flags
      charCode  

  abstract long getLayoutTableCache();
    descriptor: ()J
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException

  abstract java.awt.geom.Point2D$Float getGlyphPoint(long, int, int);
    descriptor: (JII)Ljava/awt/geom/Point2D$Float;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      ptNumber        

  abstract long getUnitsPerEm();
    descriptor: ()J
    flags: (0x0400) ACC_ABSTRACT

  abstract long createScalerContext(double[], boolean, int, int, float, float);
    descriptor: ([DZIIFF)J
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      matrix    
      fontType  
      aa        
      fm        
      boldness  
      italic    

  abstract void invalidateScalerContext(long);
    descriptor: (J)V
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      ppScalerContext  
}
SourceFile: "FontScaler.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