class sun.font.FreetypeFontScaler extends sun.font.FontScaler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.font.FreetypeFontScaler
  super_class: sun.font.FontScaler
{
  private static final int TRUETYPE_FONT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            invokestatic sun.font.FontManagerNativeLibrary.load:()V
         1: .line 50
            ldc Lsun/font/FreetypeFontScaler;
            invokestatic sun.font.FreetypeFontScaler.initIDs:(Ljava/lang/Class;)V
         2: .line 51
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void initIDs(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      FFS   

  private void invalidateScaler();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 56
            aload 0 /* this */
            lconst_0
            putfield sun.font.FreetypeFontScaler.nativeScaler:J
         1: .line 57
            aload 0 /* this */
            aconst_null
            putfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
         2: .line 58
            new sun.font.FontScalerException
            dup
            invokespecial sun.font.FontScalerException.<init>:()V
            athrow
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/FreetypeFontScaler;
    Exceptions:
      throws sun.font.FontScalerException

  public void <init>(sun.font.Font2D, int, boolean, int);
    descriptor: (Lsun/font/Font2D;IZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // sun.font.Font2D font
        start local 2 // int indexInCollection
        start local 3 // boolean supportsCJK
        start local 4 // int filesize
         0: .line 61
            aload 0 /* this */
            invokespecial sun.font.FontScaler.<init>:()V
         1: .line 63
            iconst_1
            istore 5 /* fonttype */
        start local 5 // int fonttype
         2: .line 64
            aload 1 /* font */
            instanceof sun.font.Type1Font
            ifeq 4
         3: .line 65
            iconst_2
            istore 5 /* fonttype */
         4: .line 67
      StackMap locals: sun.font.FreetypeFontScaler sun.font.Font2D int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* font */
         5: .line 68
            iload 5 /* fonttype */
         6: .line 69
            iload 2 /* indexInCollection */
         7: .line 70
            iload 3 /* supportsCJK */
         8: .line 71
            iload 4 /* filesize */
         9: .line 67
            invokevirtual sun.font.FreetypeFontScaler.initNativeScaler:(Lsun/font/Font2D;IIZI)J
            putfield sun.font.FreetypeFontScaler.nativeScaler:J
        10: .line 72
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* font */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
        11: .line 73
            return
        end local 5 // int fonttype
        end local 4 // int filesize
        end local 3 // boolean supportsCJK
        end local 2 // int indexInCollection
        end local 1 // sun.font.Font2D font
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lsun/font/FreetypeFontScaler;
            0   12     1               font  Lsun/font/Font2D;
            0   12     2  indexInCollection  I
            0   12     3        supportsCJK  Z
            0   12     4           filesize  I
            2   12     5           fonttype  I
    MethodParameters:
                   Name  Flags
      font               
      indexInCollection  
      supportsCJK        
      filesize           

  synchronized sun.font.StrikeMetrics getFontMetrics(long);
    descriptor: (J)Lsun/font/StrikeMetrics;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
         0: .line 77
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 5
         1: .line 78
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 79
            lload 1 /* pScalerContext */
         3: .line 80
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 78
            invokevirtual sun.font.FreetypeFontScaler.getFontMetricsNative:(Lsun/font/Font2D;JJ)Lsun/font/StrikeMetrics;
            areturn
         5: .line 82
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            lconst_0
            invokevirtual sun.font.FontScaler.getFontMetrics:(J)Lsun/font/StrikeMetrics;
            areturn
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lsun/font/FreetypeFontScaler;
            0    6     1  pScalerContext  J
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  

  synchronized float getGlyphAdvance(long, int);
    descriptor: (JI)F
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 87
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 6
         1: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 89
            lload 1 /* pScalerContext */
         3: .line 90
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 91
            iload 3 /* glyphCode */
         5: .line 88
            invokevirtual sun.font.FreetypeFontScaler.getGlyphAdvanceNative:(Lsun/font/Font2D;JJI)F
            freturn
         6: .line 93
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
         7: .line 94
            lconst_0
            iload 3 /* glyphCode */
            invokevirtual sun.font.FontScaler.getGlyphAdvance:(JI)F
         8: .line 93
            freturn
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lsun/font/FreetypeFontScaler;
            0    9     1  pScalerContext  J
            0    9     3       glyphCode  I
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  synchronized void getGlyphMetrics(long, int, java.awt.geom.Point2D$Float);
    descriptor: (JILjava/awt/geom/Point2D$Float;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // java.awt.geom.Point2D$Float metrics
         0: .line 100
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 8
         1: .line 101
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 102
            lload 1 /* pScalerContext */
         3: .line 103
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 104
            iload 3 /* glyphCode */
         5: .line 105
            aload 4 /* metrics */
         6: .line 101
            invokevirtual sun.font.FreetypeFontScaler.getGlyphMetricsNative:(Lsun/font/Font2D;JJILjava/awt/geom/Point2D$Float;)V
         7: .line 106
            return
         8: .line 108
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
         9: .line 109
            lconst_0
            iload 3 /* glyphCode */
            aload 4 /* metrics */
            invokevirtual sun.font.FontScaler.getGlyphMetrics:(JILjava/awt/geom/Point2D$Float;)V
        10: .line 110
            return
        end local 4 // java.awt.geom.Point2D$Float metrics
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lsun/font/FreetypeFontScaler;
            0   11     1  pScalerContext  J
            0   11     3       glyphCode  I
            0   11     4         metrics  Ljava/awt/geom/Point2D$Float;
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      metrics         

  synchronized long getGlyphImage(long, int);
    descriptor: (JI)J
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 114
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 6
         1: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 116
            lload 1 /* pScalerContext */
         3: .line 117
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 118
            iload 3 /* glyphCode */
         5: .line 115
            invokevirtual sun.font.FreetypeFontScaler.getGlyphImageNative:(Lsun/font/Font2D;JJI)J
            lreturn
         6: .line 120
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
         7: .line 121
            lconst_0
            iload 3 /* glyphCode */
            invokevirtual sun.font.FontScaler.getGlyphImage:(JI)J
         8: .line 120
            lreturn
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lsun/font/FreetypeFontScaler;
            0    9     1  pScalerContext  J
            0    9     3       glyphCode  I
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  synchronized java.awt.geom.Rectangle2D$Float getGlyphOutlineBounds(long, int);
    descriptor: (JI)Ljava/awt/geom/Rectangle2D$Float;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 127
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 6
         1: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 129
            lload 1 /* pScalerContext */
         3: .line 130
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 131
            iload 3 /* glyphCode */
         5: .line 128
            invokevirtual sun.font.FreetypeFontScaler.getGlyphOutlineBoundsNative:(Lsun/font/Font2D;JJI)Ljava/awt/geom/Rectangle2D$Float;
            areturn
         6: .line 133
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
         7: .line 134
            lconst_0
            iload 3 /* glyphCode */
            invokevirtual sun.font.FontScaler.getGlyphOutlineBounds:(JI)Ljava/awt/geom/Rectangle2D$Float;
         8: .line 133
            areturn
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lsun/font/FreetypeFontScaler;
            0    9     1  pScalerContext  J
            0    9     3       glyphCode  I
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  synchronized java.awt.geom.GeneralPath getGlyphOutline(long, int, float, float);
    descriptor: (JIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // float x
        start local 5 // float y
         0: .line 140
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 7
         1: .line 141
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 142
            lload 1 /* pScalerContext */
         3: .line 143
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 144
            iload 3 /* glyphCode */
         5: .line 145
            fload 4 /* x */
            fload 5 /* y */
         6: .line 141
            invokevirtual sun.font.FreetypeFontScaler.getGlyphOutlineNative:(Lsun/font/Font2D;JJIFF)Ljava/awt/geom/GeneralPath;
            areturn
         7: .line 147
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
         8: .line 148
            lconst_0
            iload 3 /* glyphCode */
            fload 4 /* x */
            fload 5 /* y */
            invokevirtual sun.font.FontScaler.getGlyphOutline:(JIFF)Ljava/awt/geom/GeneralPath;
         9: .line 147
            areturn
        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.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lsun/font/FreetypeFontScaler;
            0   10     1  pScalerContext  J
            0   10     3       glyphCode  I
            0   10     4               x  F
            0   10     5               y  F
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      x               
      y               

  synchronized java.awt.geom.GeneralPath getGlyphVectorOutline(long, int[], int, float, float);
    descriptor: (J[IIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=10, locals=7, args_size=6
        start local 0 // sun.font.FreetypeFontScaler 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 154
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 8
         1: .line 155
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
         2: .line 156
            lload 1 /* pScalerContext */
         3: .line 157
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
         4: .line 158
            aload 3 /* glyphs */
         5: .line 159
            iload 4 /* numGlyphs */
         6: .line 160
            fload 5 /* x */
            fload 6 /* y */
         7: .line 155
            invokevirtual sun.font.FreetypeFontScaler.getGlyphVectorOutlineNative:(Lsun/font/Font2D;JJ[IIFF)Ljava/awt/geom/GeneralPath;
            areturn
         8: .line 163
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            lconst_0
            aload 3 /* glyphs */
            iload 4 /* numGlyphs */
            fload 5 /* x */
            fload 6 /* y */
            invokevirtual sun.font.FontScaler.getGlyphVectorOutline:(J[IIFF)Ljava/awt/geom/GeneralPath;
         9: .line 162
            areturn
        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.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lsun/font/FreetypeFontScaler;
            0   10     1  pScalerContext  J
            0   10     3          glyphs  [I
            0   10     4       numGlyphs  I
            0   10     5               x  F
            0   10     6               y  F
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphs          
      numGlyphs       
      x               
      y               

  synchronized long getLayoutTableCache();
    descriptor: ()J
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 167
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            invokevirtual sun.font.FreetypeFontScaler.getLayoutTableCacheNative:(J)J
            lreturn
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/FreetypeFontScaler;
    Exceptions:
      throws sun.font.FontScalerException

  public synchronized void dispose();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 174
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 3
         1: .line 175
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            invokevirtual sun.font.FreetypeFontScaler.disposeNativeScaler:(Lsun/font/Font2D;J)V
         2: .line 176
            aload 0 /* this */
            lconst_0
            putfield sun.font.FreetypeFontScaler.nativeScaler:J
         3: .line 178
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/FreetypeFontScaler;

  public synchronized void disposeScaler();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 181
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 5
         1: .line 191
            new java.lang.Thread
            dup
            aconst_null
            new sun.font.FreetypeFontScaler$1
            dup
            aload 0 /* this */
            invokespecial sun.font.FreetypeFontScaler$1.<init>:(Lsun/font/FreetypeFontScaler;)V
         2: .line 196
            ldc "free scaler"
            lconst_0
         3: .line 191
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         4: .line 196
            invokevirtual java.lang.Thread.start:()V
         5: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/font/FreetypeFontScaler;

  synchronized int getNumGlyphs();
    descriptor: ()I
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 201
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 202
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            invokevirtual sun.font.FreetypeFontScaler.getNumGlyphsNative:(J)I
            ireturn
         2: .line 204
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            invokevirtual sun.font.FontScaler.getNumGlyphs:()I
            ireturn
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/FreetypeFontScaler;
    Exceptions:
      throws sun.font.FontScalerException

  synchronized int getMissingGlyphCode();
    descriptor: ()I
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 208
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 209
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            invokevirtual sun.font.FreetypeFontScaler.getMissingGlyphCodeNative:(J)I
            ireturn
         2: .line 211
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            invokevirtual sun.font.FontScaler.getMissingGlyphCode:()I
            ireturn
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/FreetypeFontScaler;
    Exceptions:
      throws sun.font.FontScalerException

  synchronized int getGlyphCode(char);
    descriptor: (C)I
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // char charCode
         0: .line 215
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 2
         1: .line 216
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            iload 1 /* charCode */
            invokevirtual sun.font.FreetypeFontScaler.getGlyphCodeNative:(Lsun/font/Font2D;JC)I
            ireturn
         2: .line 218
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            iload 1 /* charCode */
            invokevirtual sun.font.FontScaler.getGlyphCode:(C)I
            ireturn
        end local 1 // char charCode
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/font/FreetypeFontScaler;
            0    3     1  charCode  C
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
          Name  Flags
      charCode  

  synchronized java.awt.geom.Point2D$Float getGlyphPoint(long, int, int);
    descriptor: (JII)Ljava/awt/geom/Point2D$Float;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // int ptNumber
         0: .line 224
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 4
         1: .line 225
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.font:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast sun.font.Font2D
            lload 1 /* pScalerContext */
         2: .line 226
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            iload 3 /* glyphCode */
            iload 4 /* ptNumber */
         3: .line 225
            invokevirtual sun.font.FreetypeFontScaler.getGlyphPointNative:(Lsun/font/Font2D;JJII)Ljava/awt/geom/Point2D$Float;
            areturn
         4: .line 228
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
         5: .line 229
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            iload 4 /* ptNumber */
         6: .line 228
            invokevirtual sun.font.FontScaler.getGlyphPoint:(JII)Ljava/awt/geom/Point2D$Float;
            areturn
        end local 4 // int ptNumber
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lsun/font/FreetypeFontScaler;
            0    7     1  pScalerContext  J
            0    7     3       glyphCode  I
            0    7     4        ptNumber  I
    Exceptions:
      throws sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      ptNumber        

  synchronized long getUnitsPerEm();
    descriptor: ()J
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.FreetypeFontScaler this
         0: .line 233
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            invokevirtual sun.font.FreetypeFontScaler.getUnitsPerEMNative:(J)J
            lreturn
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/FreetypeFontScaler;

  synchronized long createScalerContext(double[], int, int, float, float, boolean);
    descriptor: ([DIIFFZ)J
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // double[] matrix
        start local 2 // int aa
        start local 3 // int fm
        start local 4 // float boldness
        start local 5 // float italic
        start local 6 // boolean disableHinting
         0: .line 239
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            lconst_0
            lcmp
            ifeq 4
         1: .line 240
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.FreetypeFontScaler.nativeScaler:J
            aload 1 /* matrix */
         2: .line 241
            iload 2 /* aa */
            iload 3 /* fm */
            fload 4 /* boldness */
            fload 5 /* italic */
         3: .line 240
            invokevirtual sun.font.FreetypeFontScaler.createScalerContextNative:(J[DIIFF)J
            lreturn
         4: .line 243
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.NullFontScaler.getNullScalerContext:()J
            lreturn
        end local 6 // boolean disableHinting
        end local 5 // float italic
        end local 4 // float boldness
        end local 3 // int fm
        end local 2 // int aa
        end local 1 // double[] matrix
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FreetypeFontScaler;
            0    5     1          matrix  [D
            0    5     2              aa  I
            0    5     3              fm  I
            0    5     4        boldness  F
            0    5     5          italic  F
            0    5     6  disableHinting  Z
    MethodParameters:
                Name  Flags
      matrix          
      aa              
      fm              
      boldness        
      italic          
      disableHinting  

  private native long initNativeScaler(sun.font.Font2D, int, int, boolean, int);
    descriptor: (Lsun/font/Font2D;IIZI)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                   Name  Flags
      font               
      type               
      indexInCollection  
      supportsCJK        
      filesize           

  private native sun.font.StrikeMetrics getFontMetricsNative(sun.font.Font2D, long, long);
    descriptor: (Lsun/font/Font2D;JJ)Lsun/font/StrikeMetrics;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         

  private native float getGlyphAdvanceNative(sun.font.Font2D, long, long, int);
    descriptor: (Lsun/font/Font2D;JJI)F
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphCode       

  private native void getGlyphMetricsNative(sun.font.Font2D, long, long, int, java.awt.geom.Point2D$Float);
    descriptor: (Lsun/font/Font2D;JJILjava/awt/geom/Point2D$Float;)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphCode       
      metrics         

  private native long getGlyphImageNative(sun.font.Font2D, long, long, int);
    descriptor: (Lsun/font/Font2D;JJI)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphCode       

  private native java.awt.geom.Rectangle2D$Float getGlyphOutlineBoundsNative(sun.font.Font2D, long, long, int);
    descriptor: (Lsun/font/Font2D;JJI)Ljava/awt/geom/Rectangle2D$Float;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphCode       

  private native java.awt.geom.GeneralPath getGlyphOutlineNative(sun.font.Font2D, long, long, int, float, float);
    descriptor: (Lsun/font/Font2D;JJIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphCode       
      x               
      y               

  private native java.awt.geom.GeneralPath getGlyphVectorOutlineNative(sun.font.Font2D, long, long, int[], int, float, float);
    descriptor: (Lsun/font/Font2D;JJ[IIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphs          
      numGlyphs       
      x               
      y               

  private native java.awt.geom.Point2D$Float getGlyphPointNative(sun.font.Font2D, long, long, int, int);
    descriptor: (Lsun/font/Font2D;JJII)Ljava/awt/geom/Point2D$Float;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
                Name  Flags
      font            
      pScalerContext  
      pScaler         
      glyphCode       
      ptNumber        

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

  private native void disposeNativeScaler(sun.font.Font2D, long);
    descriptor: (Lsun/font/Font2D;J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      font2D   
      pScaler  

  private native int getGlyphCodeNative(sun.font.Font2D, long, char);
    descriptor: (Lsun/font/Font2D;JC)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
          Name  Flags
      font      
      pScaler   
      charCode  

  private native int getNumGlyphsNative(long);
    descriptor: (J)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      pScaler  

  private native int getMissingGlyphCodeNative(long);
    descriptor: (J)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      pScaler  

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

  private native long createScalerContextNative(long, double[], int, int, float, float);
    descriptor: (J[DIIFF)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
          Name  Flags
      pScaler   
      matrix    
      aa        
      fm        
      boldness  
      italic    

  void invalidateScalerContext(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=0, locals=3, args_size=2
        start local 0 // sun.font.FreetypeFontScaler this
        start local 1 // long pScalerContext
         0: .line 284
            return
        end local 1 // long pScalerContext
        end local 0 // sun.font.FreetypeFontScaler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lsun/font/FreetypeFontScaler;
            0    1     1  pScalerContext  J
    MethodParameters:
                Name  Flags
      pScalerContext  
}
SourceFile: "FreetypeFontScaler.java"
NestMembers:
  sun.font.FreetypeFontScaler$1
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
  sun.font.FreetypeFontScaler$1