public abstract class sun.font.FileFont extends sun.font.PhysicalFont
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.font.FileFont
  super_class: sun.font.PhysicalFont
{
  protected boolean useJavaRasterizer;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

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

  protected sun.font.FontScaler scaler;
    descriptor: Lsun/font/FontScaler;
    flags: (0x0004) ACC_PROTECTED

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

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

  protected sun.font.NativeFont[] nativeFonts;
    descriptor: [Lsun/font/NativeFont;
    flags: (0x0004) ACC_PROTECTED

  protected char[] glyphToCharMap;
    descriptor: [C
    flags: (0x0004) ACC_PROTECTED

  void <init>(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.font.FileFont this
        start local 1 // java.lang.String platname
        start local 2 // java.lang.Object nativeNames
         0: .line 88
            aload 0 /* this */
            aload 1 /* platname */
            aload 2 /* nativeNames */
            invokespecial sun.font.PhysicalFont.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 45
            aload 0 /* this */
            iconst_1
            putfield sun.font.FileFont.useJavaRasterizer:Z
         2: .line 89
            return
        end local 2 // java.lang.Object nativeNames
        end local 1 // java.lang.String platname
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lsun/font/FileFont;
            0    3     1     platname  Ljava/lang/String;
            0    3     2  nativeNames  Ljava/lang/Object;
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
             Name  Flags
      platname     
      nativeNames  

  sun.font.FontStrike createStrike(sun.font.FontStrikeDesc);
    descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.font.FileFont this
        start local 1 // sun.font.FontStrikeDesc desc
         0: .line 92
            aload 0 /* this */
            getfield sun.font.FileFont.checkedNatives:Z
            ifne 2
         1: .line 93
            aload 0 /* this */
            invokevirtual sun.font.FileFont.checkUseNatives:()Z
            pop
         2: .line 95
      StackMap locals:
      StackMap stack:
            new sun.font.FileFontStrike
            dup
            aload 0 /* this */
            aload 1 /* desc */
            invokespecial sun.font.FileFontStrike.<init>:(Lsun/font/FileFont;Lsun/font/FontStrikeDesc;)V
            areturn
        end local 1 // sun.font.FontStrikeDesc desc
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/FileFont;
            0    3     1  desc  Lsun/font/FontStrikeDesc;
    MethodParameters:
      Name  Flags
      desc  

  protected boolean checkUseNatives();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.FileFont this
         0: .line 99
            aload 0 /* this */
            iconst_1
            putfield sun.font.FileFont.checkedNatives:Z
         1: .line 100
            aload 0 /* this */
            getfield sun.font.FileFont.useNatives:Z
            ireturn
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/FileFont;

  protected abstract void close();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  abstract java.nio.ByteBuffer readBlock(int, int);
    descriptor: (II)Ljava/nio/ByteBuffer;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      length  

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

  void setFileToRemove(java.io.File, sun.font.CreatedFontTracker);
    descriptor: (Ljava/io/File;Lsun/font/CreatedFontTracker;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.font.FileFont this
        start local 1 // java.io.File file
        start local 2 // sun.font.CreatedFontTracker tracker
         0: .line 120
            aload 0 /* this */
         1: .line 121
            new sun.font.FileFont$CreatedFontFileDisposerRecord
            dup
            aload 1 /* file */
            aload 2 /* tracker */
            invokespecial sun.font.FileFont$CreatedFontFileDisposerRecord.<init>:(Ljava/io/File;Lsun/font/CreatedFontTracker;)V
         2: .line 120
            invokestatic sun.java2d.Disposer.addObjectRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
         3: .line 122
            return
        end local 2 // sun.font.CreatedFontTracker tracker
        end local 1 // java.io.File file
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/font/FileFont;
            0    4     1     file  Ljava/io/File;
            0    4     2  tracker  Lsun/font/CreatedFontTracker;
    MethodParameters:
         Name  Flags
      file     
      tracker  

  static void setFileToRemove(java.lang.Object, java.io.File, sun.font.CreatedFontTracker);
    descriptor: (Ljava/lang/Object;Ljava/io/File;Lsun/font/CreatedFontTracker;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object font
        start local 1 // java.io.File file
        start local 2 // sun.font.CreatedFontTracker tracker
         0: .line 126
            aload 0 /* font */
         1: .line 127
            new sun.font.FileFont$CreatedFontFileDisposerRecord
            dup
            aload 1 /* file */
            aload 2 /* tracker */
            invokespecial sun.font.FileFont$CreatedFontFileDisposerRecord.<init>:(Ljava/io/File;Lsun/font/CreatedFontTracker;)V
         2: .line 126
            invokestatic sun.java2d.Disposer.addObjectRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
         3: .line 128
            return
        end local 2 // sun.font.CreatedFontTracker tracker
        end local 1 // java.io.File file
        end local 0 // java.lang.Object font
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     font  Ljava/lang/Object;
            0    4     1     file  Ljava/io/File;
            0    4     2  tracker  Lsun/font/CreatedFontTracker;
    MethodParameters:
         Name  Flags
      font     
      file     
      tracker  

  synchronized void deregisterFontAndClearStrikeCache();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.font.FileFont this
         0: .line 159
            invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
            astore 1 /* fm */
        start local 1 // sun.font.SunFontManager fm
         1: .line 160
            aload 1 /* fm */
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.deRegisterBadFont:(Lsun/font/Font2D;)V
         2: .line 162
            aload 0 /* this */
            getfield sun.font.FileFont.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: sun.font.FileFont sun.font.SunFontManager top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 2 /* strikeRef */
        start local 2 // java.lang.ref.Reference strikeRef
         4: .line 163
            aload 2 /* strikeRef */
            ifnull 8
         5: .line 167
            aload 2 /* strikeRef */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            checkcast sun.font.FileFontStrike
            astore 4 /* strike */
        start local 4 // sun.font.FileFontStrike strike
         6: .line 168
            aload 4 /* strike */
            ifnull 8
            aload 4 /* strike */
            getfield sun.font.FileFontStrike.pScalerContext:J
            lconst_0
            lcmp
            ifeq 8
         7: .line 169
            aload 0 /* this */
            getfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
            aload 4 /* strike */
            getfield sun.font.FileFontStrike.pScalerContext:J
            invokevirtual sun.font.FontScaler.invalidateScalerContext:(J)V
        end local 4 // sun.font.FileFontStrike strike
        end local 2 // java.lang.ref.Reference strikeRef
         8: .line 162
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 173
            aload 0 /* this */
            getfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
            ifnull 11
        10: .line 174
            aload 0 /* this */
            getfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
            invokevirtual sun.font.FontScaler.disposeScaler:()V
        11: .line 176
      StackMap locals: sun.font.FileFont sun.font.SunFontManager
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
        12: .line 177
            return
        end local 1 // sun.font.SunFontManager fm
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lsun/font/FileFont;
            1   13     1         fm  Lsun/font/SunFontManager;
            4    8     2  strikeRef  Ljava/lang/ref/Reference;
            6    8     4     strike  Lsun/font/FileFontStrike;

  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.FileFont this
        start local 1 // long pScalerContext
         0: .line 181
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            invokevirtual sun.font.FontScaler.getFontMetrics:(J)Lsun/font/StrikeMetrics;
         1: areturn
         2: .line 182
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 183
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 184
            aload 0 /* this */
            lload 1 /* pScalerContext */
            invokevirtual sun.font.FileFont.getFontMetrics:(J)Lsun/font/StrikeMetrics;
            areturn
        end local 1 // long pScalerContext
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FileFont;
            0    5     1  pScalerContext  J
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  

  float getGlyphAdvance(long, int);
    descriptor: (JI)F
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.font.FileFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 190
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            invokevirtual sun.font.FontScaler.getGlyphAdvance:(JI)F
         1: freturn
         2: .line 191
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 192
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 193
            aload 0 /* this */
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            invokevirtual sun.font.FileFont.getGlyphAdvance:(JI)F
            freturn
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FileFont;
            0    5     1  pScalerContext  J
            0    5     3       glyphCode  I
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    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=5, locals=5, args_size=4
        start local 0 // sun.font.FileFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // java.awt.geom.Point2D$Float metrics
         0: .line 199
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            aload 4 /* metrics */
            invokevirtual sun.font.FontScaler.getGlyphMetrics:(JILjava/awt/geom/Point2D$Float;)V
         1: .line 200
            goto 5
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
         2: pop
         3: .line 201
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 202
            aload 0 /* this */
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            aload 4 /* metrics */
            invokevirtual sun.font.FileFont.getGlyphMetrics:(JILjava/awt/geom/Point2D$Float;)V
         5: .line 204
      StackMap locals:
      StackMap stack:
            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.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lsun/font/FileFont;
            0    6     1  pScalerContext  J
            0    6     3       glyphCode  I
            0    6     4         metrics  Ljava/awt/geom/Point2D$Float;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      metrics         

  long getGlyphImage(long, int);
    descriptor: (JI)J
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.font.FileFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 208
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            invokevirtual sun.font.FontScaler.getGlyphImage:(JI)J
         1: lreturn
         2: .line 209
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 210
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 211
            aload 0 /* this */
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            invokevirtual sun.font.FileFont.getGlyphImage:(JI)J
            lreturn
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FileFont;
            0    5     1  pScalerContext  J
            0    5     3       glyphCode  I
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  java.awt.geom.Rectangle2D$Float getGlyphOutlineBounds(long, int);
    descriptor: (JI)Ljava/awt/geom/Rectangle2D$Float;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.font.FileFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
         0: .line 217
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            invokevirtual sun.font.FontScaler.getGlyphOutlineBounds:(JI)Ljava/awt/geom/Rectangle2D$Float;
         1: areturn
         2: .line 218
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 219
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 220
            aload 0 /* this */
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            invokevirtual sun.font.FileFont.getGlyphOutlineBounds:(JI)Ljava/awt/geom/Rectangle2D$Float;
            areturn
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FileFont;
            0    5     1  pScalerContext  J
            0    5     3       glyphCode  I
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       

  java.awt.geom.GeneralPath getGlyphOutline(long, int, float, float);
    descriptor: (JIFF)Ljava/awt/geom/GeneralPath;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // sun.font.FileFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // float x
        start local 5 // float y
         0: .line 226
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            fload 4 /* x */
            fload 5 /* y */
            invokevirtual sun.font.FontScaler.getGlyphOutline:(JIFF)Ljava/awt/geom/GeneralPath;
         1: areturn
         2: .line 227
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 228
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 229
            aload 0 /* this */
            lload 1 /* pScalerContext */
            iload 3 /* glyphCode */
            fload 4 /* x */
            fload 5 /* y */
            invokevirtual sun.font.FileFont.getGlyphOutline:(JIFF)Ljava/awt/geom/GeneralPath;
            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.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FileFont;
            0    5     1  pScalerContext  J
            0    5     3       glyphCode  I
            0    5     4               x  F
            0    5     5               y  F
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    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=7, locals=7, args_size=6
        start local 0 // sun.font.FileFont 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 235
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
            aload 3 /* glyphs */
            iload 4 /* numGlyphs */
            fload 5 /* x */
            fload 6 /* y */
            invokevirtual sun.font.FontScaler.getGlyphVectorOutline:(J[IIFF)Ljava/awt/geom/GeneralPath;
         1: areturn
         2: .line 236
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 237
            aload 0 /* this */
            invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
            putfield sun.font.FileFont.scaler:Lsun/font/FontScaler;
         4: .line 238
            aload 0 /* this */
            lload 1 /* pScalerContext */
            aload 3 /* glyphs */
            iload 4 /* numGlyphs */
            fload 5 /* x */
            fload 6 /* y */
            invokevirtual sun.font.FileFont.getGlyphVectorOutline:(J[IIFF)Ljava/awt/geom/GeneralPath;
            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.FileFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/font/FileFont;
            0    5     1  pScalerContext  J
            0    5     3          glyphs  [I
            0    5     4       numGlyphs  I
            0    5     5               x  F
            0    5     6               y  F
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphs          
      numGlyphs       
      x               
      y               

  protected abstract sun.font.FontScaler getScaler();
    descriptor: ()Lsun/font/FontScaler;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected long getUnitsPerEm();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.FileFont this
         0: .line 247
            aload 0 /* this */
            invokevirtual sun.font.FileFont.getScaler:()Lsun/font/FontScaler;
            invokevirtual sun.font.FontScaler.getUnitsPerEm:()J
            lreturn
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/FileFont;

  protected java.lang.String getPublicFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.font.FileFont this
         0: .line 291
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 292
            aload 1 /* sm */
            ifnonnull 3
         2: .line 293
            aload 0 /* this */
            getfield sun.font.FileFont.platName:Ljava/lang/String;
            areturn
         3: .line 295
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            iconst_1
            istore 2 /* canReadProperty */
        start local 2 // boolean canReadProperty
         4: .line 298
            aload 1 /* sm */
            ldc "java.io.tmpdir"
            invokevirtual java.lang.SecurityManager.checkPropertyAccess:(Ljava/lang/String;)V
         5: .line 299
            goto 8
      StackMap locals: sun.font.FileFont java.lang.SecurityManager int
      StackMap stack: java.lang.SecurityException
         6: pop
         7: .line 300
            iconst_0
            istore 2 /* canReadProperty */
         8: .line 303
      StackMap locals:
      StackMap stack:
            iload 2 /* canReadProperty */
            ifeq 10
         9: .line 304
            aload 0 /* this */
            getfield sun.font.FileFont.platName:Ljava/lang/String;
            areturn
        10: .line 307
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.font.FileFont.platName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* f */
        start local 3 // java.io.File f
        11: .line 309
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            astore 4 /* isTmpFile */
        start local 4 // java.lang.Boolean isTmpFile
        12: .line 312
            new sun.font.FileFont$1
            dup
            aload 0 /* this */
            aload 3 /* f */
            invokespecial sun.font.FileFont$1.<init>:(Lsun/font/FileFont;Ljava/io/File;)V
        13: .line 311
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* isTmpFile */
        14: .line 326
            goto 17
      StackMap locals: sun.font.FileFont java.lang.SecurityManager int java.io.File java.lang.Boolean
      StackMap stack: java.security.PrivilegedActionException
        15: pop
        16: .line 329
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            astore 4 /* isTmpFile */
        17: .line 332
      StackMap locals:
      StackMap stack:
            aload 4 /* isTmpFile */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 18
            ldc "temp file"
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
            getfield sun.font.FileFont.platName:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        19: areturn
        end local 4 // java.lang.Boolean isTmpFile
        end local 3 // java.io.File f
        end local 2 // boolean canReadProperty
        end local 1 // java.lang.SecurityManager sm
        end local 0 // sun.font.FileFont this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lsun/font/FileFont;
            1   20     1               sm  Ljava/lang/SecurityManager;
            4   20     2  canReadProperty  Z
           11   20     3                f  Ljava/io/File;
           12   20     4        isTmpFile  Ljava/lang/Boolean;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.SecurityException
          12    14      15  Class java.security.PrivilegedActionException
}
SourceFile: "FileFont.java"
NestMembers:
  sun.font.FileFont$1  sun.font.FileFont$CreatedFontFileDisposerRecord  sun.font.FileFont$CreatedFontFileDisposerRecord$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.FileFont$1
  private CreatedFontFileDisposerRecord = sun.font.FileFont$CreatedFontFileDisposerRecord of sun.font.FileFont