public class sun.font.TrueTypeFont extends sun.font.FileFont
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.font.TrueTypeFont
  super_class: sun.font.FileFont
{
  public static final int cmapTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1668112752

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static final short ENGLISH_LOCALE_ID;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1033

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

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

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

  sun.font.TrueTypeFont$TTDisposerRecord disposerRecord;
    descriptor: Lsun/font/TrueTypeFont$TTDisposerRecord;
    flags: (0x0000) 

  int fontIndex;
    descriptor: I
    flags: (0x0000) 

  int directoryCount;
    descriptor: I
    flags: (0x0000) 

  int directoryOffset;
    descriptor: I
    flags: (0x0000) 

  int numTables;
    descriptor: I
    flags: (0x0000) 

  sun.font.TrueTypeFont$DirectoryEntry[] tableDirectory;
    descriptor: [Lsun/font/TrueTypeFont$DirectoryEntry;
    flags: (0x0000) 

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

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

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

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

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

  static final java.lang.String[] encoding_mapping;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

  private static java.lang.String defaultCodePage;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final int reserved_bits1;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

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

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

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

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

  private float stSize;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float stPos;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float ulSize;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float ulPos;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private char[] gaspTable;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 579
            bipush 32
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 580
            ldc "cp1252"
            aastore
            dup
            iconst_1
         2: .line 581
            ldc "cp1250"
            aastore
            dup
            iconst_2
         3: .line 582
            ldc "cp1251"
            aastore
            dup
            iconst_3
         4: .line 583
            ldc "cp1253"
            aastore
            dup
            iconst_4
         5: .line 584
            ldc "cp1254"
            aastore
            dup
            iconst_5
         6: .line 585
            ldc "cp1255"
            aastore
            dup
            bipush 6
         7: .line 586
            ldc "cp1256"
            aastore
            dup
            bipush 7
         8: .line 587
            ldc "cp1257"
            aastore
            dup
            bipush 8
         9: .line 588
            ldc ""
            aastore
            dup
            bipush 9
        10: .line 589
            ldc ""
            aastore
            dup
            bipush 10
        11: .line 590
            ldc ""
            aastore
            dup
            bipush 11
        12: .line 591
            ldc ""
            aastore
            dup
            bipush 12
        13: .line 592
            ldc ""
            aastore
            dup
            bipush 13
        14: .line 593
            ldc ""
            aastore
            dup
            bipush 14
        15: .line 594
            ldc ""
            aastore
            dup
            bipush 15
        16: .line 595
            ldc ""
            aastore
            dup
            bipush 16
        17: .line 596
            ldc "ms874"
            aastore
            dup
            bipush 17
        18: .line 597
            ldc "ms932"
            aastore
            dup
            bipush 18
        19: .line 598
            ldc "gbk"
            aastore
            dup
            bipush 19
        20: .line 599
            ldc "ms949"
            aastore
            dup
            bipush 20
        21: .line 600
            ldc "ms950"
            aastore
            dup
            bipush 21
        22: .line 601
            ldc "ms1361"
            aastore
            dup
            bipush 22
        23: .line 602
            ldc ""
            aastore
            dup
            bipush 23
        24: .line 603
            ldc ""
            aastore
            dup
            bipush 24
        25: .line 604
            ldc ""
            aastore
            dup
            bipush 25
        26: .line 605
            ldc ""
            aastore
            dup
            bipush 26
        27: .line 606
            ldc ""
            aastore
            dup
            bipush 27
        28: .line 607
            ldc ""
            aastore
            dup
            bipush 28
        29: .line 608
            ldc ""
            aastore
            dup
            bipush 29
        30: .line 609
            ldc ""
            aastore
            dup
            bipush 30
        31: .line 610
            ldc ""
            aastore
            dup
            bipush 31
        32: .line 611
            ldc ""
            aastore
        33: .line 579
            putstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
        34: .line 627
            bipush 14
            anewarray java.lang.String[]
            dup
            iconst_0
        35: .line 630
            bipush 14
            anewarray java.lang.String
            dup
            iconst_0
            ldc "en"
            aastore
            dup
            iconst_1
            ldc "ca"
            aastore
            dup
            iconst_2
            ldc "da"
            aastore
            dup
            iconst_3
            ldc "de"
            aastore
            dup
            iconst_4
            ldc "es"
            aastore
            dup
            iconst_5
            ldc "fi"
            aastore
            dup
            bipush 6
            ldc "fr"
            aastore
            dup
            bipush 7
            ldc "is"
            aastore
            dup
            bipush 8
            ldc "it"
            aastore
            dup
            bipush 9
        36: .line 631
            ldc "nl"
            aastore
            dup
            bipush 10
            ldc "no"
            aastore
            dup
            bipush 11
            ldc "pt"
            aastore
            dup
            bipush 12
            ldc "sq"
            aastore
            dup
            bipush 13
            ldc "sv"
            aastore
            aastore
            dup
            iconst_1
        37: .line 634
            bipush 12
            anewarray java.lang.String
            dup
            iconst_0
            ldc "cs"
            aastore
            dup
            iconst_1
            ldc "cz"
            aastore
            dup
            iconst_2
            ldc "et"
            aastore
            dup
            iconst_3
            ldc "hr"
            aastore
            dup
            iconst_4
            ldc "hu"
            aastore
            dup
            iconst_5
            ldc "nr"
            aastore
            dup
            bipush 6
            ldc "pl"
            aastore
            dup
            bipush 7
            ldc "ro"
            aastore
            dup
            bipush 8
            ldc "sk"
            aastore
            dup
            bipush 9
        38: .line 635
            ldc "sl"
            aastore
            dup
            bipush 10
            ldc "sq"
            aastore
            dup
            bipush 11
            ldc "sr"
            aastore
            aastore
            dup
            iconst_2
        39: .line 638
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "bg"
            aastore
            dup
            iconst_1
            ldc "mk"
            aastore
            dup
            iconst_2
            ldc "ru"
            aastore
            dup
            iconst_3
            ldc "sh"
            aastore
            dup
            iconst_4
            ldc "uk"
            aastore
            aastore
            dup
            iconst_3
        40: .line 641
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "el"
            aastore
            aastore
            dup
            iconst_4
        41: .line 644
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "tr"
            aastore
            aastore
            dup
            iconst_5
        42: .line 647
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "he"
            aastore
            aastore
            dup
            bipush 6
        43: .line 650
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ar"
            aastore
            aastore
            dup
            bipush 7
        44: .line 653
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "et"
            aastore
            dup
            iconst_1
            ldc "lt"
            aastore
            dup
            iconst_2
            ldc "lv"
            aastore
            aastore
            dup
            bipush 8
        45: .line 656
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "th"
            aastore
            aastore
            dup
            bipush 9
        46: .line 659
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ja"
            aastore
            aastore
            dup
            bipush 10
        47: .line 662
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "zh"
            aastore
            dup
            iconst_1
            ldc "zh_CN"
            aastore
            aastore
            dup
            bipush 11
        48: .line 665
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ko"
            aastore
            aastore
            dup
            bipush 12
        49: .line 668
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "zh_HK"
            aastore
            dup
            iconst_1
            ldc "zh_TW"
            aastore
            aastore
            dup
            bipush 13
        50: .line 671
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ko"
            aastore
            aastore
        51: .line 627
            putstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
        52: .line 674
            bipush 14
            anewarray java.lang.String
            dup
            iconst_0
        53: .line 675
            ldc "cp1252"
            aastore
            dup
            iconst_1
        54: .line 676
            ldc "cp1250"
            aastore
            dup
            iconst_2
        55: .line 677
            ldc "cp1251"
            aastore
            dup
            iconst_3
        56: .line 678
            ldc "cp1253"
            aastore
            dup
            iconst_4
        57: .line 679
            ldc "cp1254"
            aastore
            dup
            iconst_5
        58: .line 680
            ldc "cp1255"
            aastore
            dup
            bipush 6
        59: .line 681
            ldc "cp1256"
            aastore
            dup
            bipush 7
        60: .line 682
            ldc "cp1257"
            aastore
            dup
            bipush 8
        61: .line 683
            ldc "ms874"
            aastore
            dup
            bipush 9
        62: .line 684
            ldc "ms932"
            aastore
            dup
            bipush 10
        63: .line 685
            ldc "gbk"
            aastore
            dup
            bipush 11
        64: .line 686
            ldc "ms949"
            aastore
            dup
            bipush 12
        65: .line 687
            ldc "ms950"
            aastore
            dup
            bipush 13
        66: .line 688
            ldc "ms1361"
            aastore
        67: .line 674
            putstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
        68: .line 691
            aconst_null
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
        69: .line 960
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String, java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;IZ)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.lang.String platname
        start local 2 // java.lang.Object nativeNames
        start local 3 // int fIndex
        start local 4 // boolean javaRasterizer
         0: .line 175
            aload 0 /* this */
            aload 1 /* platname */
            aload 2 /* nativeNames */
            invokespecial sun.font.FileFont.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 135
            aload 0 /* this */
            new sun.font.TrueTypeFont$TTDisposerRecord
            dup
            invokespecial sun.font.TrueTypeFont$TTDisposerRecord.<init>:()V
            putfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
         2: .line 138
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.fontIndex:I
         3: .line 141
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.directoryCount:I
         4: .line 176
            aload 0 /* this */
            iload 4 /* javaRasterizer */
            putfield sun.font.TrueTypeFont.useJavaRasterizer:Z
         5: .line 177
            aload 0 /* this */
            iconst_3
            putfield sun.font.TrueTypeFont.fontRank:I
         6: .line 179
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.verify:()V
         7: .line 180
            aload 0 /* this */
            iload 3 /* fIndex */
            invokevirtual sun.font.TrueTypeFont.init:(I)V
         8: .line 181
            goto 14
      StackMap locals: sun.font.TrueTypeFont java.lang.String java.lang.Object int int
      StackMap stack: java.lang.Throwable
         9: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        10: .line 182
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        11: .line 183
            aload 5 /* t */
            instanceof java.awt.FontFormatException
            ifeq 13
        12: .line 184
            aload 5 /* t */
            checkcast java.awt.FontFormatException
            athrow
        13: .line 186
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.awt.FontFormatException
            dup
            ldc "Unexpected runtime exception."
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Throwable t
        14: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            invokestatic sun.java2d.Disposer.addObjectRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
        15: .line 190
            return
        end local 4 // boolean javaRasterizer
        end local 3 // int fIndex
        end local 2 // java.lang.Object nativeNames
        end local 1 // java.lang.String platname
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lsun/font/TrueTypeFont;
            0   16     1        platname  Ljava/lang/String;
            0   16     2     nativeNames  Ljava/lang/Object;
            0   16     3          fIndex  I
            0   16     4  javaRasterizer  Z
           10   14     5               t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.Throwable
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
                Name  Flags
      platname        
      nativeNames     
      fIndex          
      javaRasterizer  

  protected boolean checkUseNatives();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 204
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.checkedNatives:Z
            ifeq 2
         1: .line 205
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useNatives:Z
            ireturn
         2: .line 207
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontManager.isSolaris:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useJavaRasterizer:Z
            ifne 6
         3: .line 208
            getstatic sun.font.FontManager.useT2K:Z
            ifne 6
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            ifnull 6
         4: .line 209
            aload 0 /* this */
            ldc 1161972803
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 6
         5: .line 210
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 8
         6: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
         7: .line 212
            iconst_0
            ireturn
         8: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            instanceof java.lang.String
            ifeq 21
         9: .line 214
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* name */
        start local 1 // java.lang.String name
        10: .line 216
            aload 1 /* name */
            ldc "8859"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 13
        11: .line 217
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        12: .line 218
            iconst_0
            ireturn
        13: .line 219
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            invokestatic sun.font.NativeFont.hasExternalBitmaps:(Ljava/lang/String;)Z
            ifeq 48
        14: .line 220
            aload 0 /* this */
            iconst_1
            anewarray sun.font.NativeFont
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        15: .line 222
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
            iconst_0
            new sun.font.NativeFont
            dup
            aload 1 /* name */
            iconst_1
            invokespecial sun.font.NativeFont.<init>:(Ljava/lang/String;Z)V
            aastore
        16: .line 226
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.useNatives:Z
        17: .line 227
            goto 48
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
        18: pop
        19: .line 228
            aload 0 /* this */
            aconst_null
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        end local 1 // java.lang.String name
        20: .line 231
            goto 48
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            instanceof java.lang.String[]
            ifeq 48
        22: .line 232
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* natNames */
        start local 1 // java.lang.String[] natNames
        23: .line 233
            aload 1 /* natNames */
            arraylength
            istore 2 /* numNames */
        start local 2 // int numNames
        24: .line 234
            iconst_0
            istore 3 /* externalBitmaps */
        start local 3 // boolean externalBitmaps
        25: .line 235
            iconst_0
            istore 4 /* nn */
        start local 4 // int nn
        26: goto 33
        27: .line 236
      StackMap locals: sun.font.TrueTypeFont java.lang.String[] int int int
      StackMap stack:
            aload 1 /* natNames */
            iload 4 /* nn */
            aaload
            ldc "8859"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 30
        28: .line 237
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        29: .line 238
            iconst_0
            ireturn
        30: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* natNames */
            iload 4 /* nn */
            aaload
            invokestatic sun.font.NativeFont.hasExternalBitmaps:(Ljava/lang/String;)Z
            ifeq 32
        31: .line 240
            iconst_1
            istore 3 /* externalBitmaps */
        32: .line 235
      StackMap locals:
      StackMap stack:
            iinc 4 /* nn */ 1
      StackMap locals:
      StackMap stack:
        33: iload 4 /* nn */
            iload 2 /* numNames */
            if_icmplt 27
        end local 4 // int nn
        34: .line 243
            iload 3 /* externalBitmaps */
            ifne 37
        35: .line 244
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        36: .line 245
            iconst_0
            ireturn
        37: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.useNatives:Z
        38: .line 248
            aload 0 /* this */
            iload 2 /* numNames */
            anewarray sun.font.NativeFont
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        39: .line 249
            iconst_0
            istore 4 /* nn */
        start local 4 // int nn
        40: goto 47
        41: .line 251
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
            iload 4 /* nn */
            new sun.font.NativeFont
            dup
            aload 1 /* natNames */
            iload 4 /* nn */
            aaload
            iconst_1
            invokespecial sun.font.NativeFont.<init>:(Ljava/lang/String;Z)V
            aastore
        42: .line 252
            goto 46
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
        43: pop
        44: .line 253
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.useNatives:Z
        45: .line 254
            aload 0 /* this */
            aconst_null
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        46: .line 249
      StackMap locals:
      StackMap stack:
            iinc 4 /* nn */ 1
      StackMap locals:
      StackMap stack:
        47: iload 4 /* nn */
            iload 2 /* numNames */
            if_icmplt 41
        end local 4 // int nn
        end local 3 // boolean externalBitmaps
        end local 2 // int numNames
        end local 1 // java.lang.String[] natNames
        48: .line 258
      StackMap locals: sun.font.TrueTypeFont
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useNatives:Z
            ifeq 50
        49: .line 259
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getMapper:()Lsun/font/CharToGlyphMapper;
            invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
            newarray 5
            putfield sun.font.TrueTypeFont.glyphToCharMap:[C
        50: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        51: .line 262
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useNatives:Z
            ireturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   52     0             this  Lsun/font/TrueTypeFont;
           10   20     1             name  Ljava/lang/String;
           23   48     1         natNames  [Ljava/lang/String;
           24   48     2         numNames  I
           25   48     3  externalBitmaps  Z
           26   34     4               nn  I
           40   48     4               nn  I
      Exception table:
        from    to  target  type
          15    17      18  Class java.awt.FontFormatException
          41    42      43  Class java.awt.FontFormatException

  private synchronized java.nio.channels.FileChannel open();
    descriptor: ()Ljava/nio/channels/FileChannel;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 274
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            ifnonnull 20
         1: .line 275
            getstatic sun.font.FontManager.logging:Z
            ifeq 3
         2: .line 276
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "open TTF: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
         3: .line 281
      StackMap locals:
      StackMap stack:
            new sun.font.TrueTypeFont$1
            dup
            aload 0 /* this */
            invokespecial sun.font.TrueTypeFont$1.<init>:(Lsun/font/TrueTypeFont;)V
         4: .line 280
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.RandomAccessFile
         5: .line 279
            astore 1 /* raf */
        start local 1 // java.io.RandomAccessFile raf
         6: .line 290
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            aload 1 /* raf */
            invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
            putfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
         7: .line 291
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.size:()J
            l2i
            putfield sun.font.TrueTypeFont.fileSize:I
         8: .line 292
            aload 0 /* this */
            invokestatic sun.font.FontManager.addToPool:(Lsun/font/FileFont;)V
        end local 1 // java.io.RandomAccessFile raf
         9: .line 293
            goto 20
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
        10: astore 1 /* e */
        start local 1 // java.lang.NullPointerException e
        11: .line 294
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        12: .line 295
            new java.awt.FontFormatException
            dup
            aload 1 /* e */
            invokevirtual java.lang.NullPointerException.toString:()Ljava/lang/String;
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.NullPointerException e
        13: .line 296
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
            pop
        14: .line 302
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        15: .line 303
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        16: .line 304
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
            goto 20
        17: .line 305
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        18: .line 306
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        19: .line 307
            new java.awt.FontFormatException
            dup
            aload 1 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.IOException e
        20: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            areturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lsun/font/TrueTypeFont;
            6    9     1   raf  Ljava/io/RandomAccessFile;
           11   13     1     e  Ljava/lang/NullPointerException;
           18   20     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     9      10  Class java.lang.NullPointerException
           3     9      13  Class java.nio.channels.ClosedChannelException
           3     9      17  Class java.io.IOException
    Exceptions:
      throws java.awt.FontFormatException

  protected synchronized void close();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 314
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            invokevirtual sun.font.TrueTypeFont$TTDisposerRecord.dispose:()V
         1: .line 315
            return
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/TrueTypeFont;

  int readBlock(java.nio.ByteBuffer, int, int);
    descriptor: (Ljava/nio/ByteBuffer;II)I
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // int offset
        start local 3 // int length
         0: .line 319
            iconst_0
            istore 4 /* bread */
        start local 4 // int bread
         1: .line 321
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         2: .line 322
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            ifnonnull 4
         3: .line 323
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
         4: .line 325
      StackMap locals: int sun.font.TrueTypeFont
      StackMap stack:
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmple 15
         5: .line 326
            iload 2 /* offset */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmplt 14
         6: .line 336
            getstatic sun.font.FontManager.logging:Z
            ifeq 12
         7: .line 337
            new java.lang.StringBuilder
            dup
            ldc "Read offset is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 338
            ldc " file size is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 339
            ldc " file is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 337
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        11: .line 340
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            aload 6 /* msg */
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        end local 6 // java.lang.String msg
        12: .line 342
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        13: iconst_m1
            ireturn
        14: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            iload 2 /* offset */
            isub
            istore 3 /* length */
        15: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        16: .line 348
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            iload 2 /* offset */
            i2l
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
        17: .line 349
            goto 39
        18: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            aload 1 /* buffer */
            invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
            istore 6 /* cnt */
        start local 6 // int cnt
        19: .line 351
            iload 6 /* cnt */
            iconst_m1
            if_icmpne 38
        20: .line 352
            new java.lang.StringBuilder
            dup
            ldc "Unexpected EOF "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        start local 7 // java.lang.String msg
        21: .line 353
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.size:()J
            l2i
            istore 8 /* currSize */
        start local 8 // int currSize
        22: .line 354
            iload 8 /* currSize */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmpeq 26
        23: .line 355
            new java.lang.StringBuilder
            dup
            aload 7 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " File size was "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        24: .line 356
            ldc " and now is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* currSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        25: .line 355
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        26: .line 358
      StackMap locals: int java.lang.String int
      StackMap stack:
            getstatic sun.font.FontManager.logging:Z
            ifeq 28
        27: .line 359
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            aload 7 /* msg */
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        28: .line 371
      StackMap locals:
      StackMap stack:
            iload 4 /* bread */
            iload 3 /* length */
            iconst_2
            idiv
            if_icmpgt 29
            iload 4 /* bread */
            sipush 16384
            if_icmple 36
        29: .line 372
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        30: .line 373
            getstatic sun.font.FontManager.logging:Z
            ifeq 37
        31: .line 374
            new java.lang.StringBuilder
            dup
            ldc "Returning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* bread */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        32: .line 375
            ldc " bytes instead of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        33: .line 374
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        34: .line 376
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            aload 7 /* msg */
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        35: .line 378
            goto 37
        36: .line 379
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* bread */
        37: .line 381
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            aload 7 /* msg */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int currSize
        end local 7 // java.lang.String msg
        38: .line 383
      StackMap locals:
      StackMap stack:
            iload 4 /* bread */
            iload 6 /* cnt */
            iadd
            istore 4 /* bread */
        end local 6 // int cnt
        39: .line 349
      StackMap locals:
      StackMap stack:
            iload 4 /* bread */
            iload 3 /* length */
            if_icmplt 18
        40: .line 385
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        41: .line 386
            iload 4 /* bread */
            iload 3 /* length */
            if_icmple 43
        42: .line 387
            iload 3 /* length */
            istore 4 /* bread */
        43: .line 321
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        44: goto 67
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: aload 5
            monitorexit
        46: athrow
        47: .line 390
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int
      StackMap stack: java.awt.FontFormatException
            astore 5 /* e */
        start local 5 // java.awt.FontFormatException e
        48: .line 391
            getstatic sun.font.FontManager.logging:Z
            ifeq 52
        49: .line 392
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
        50: .line 393
            new java.lang.StringBuilder
            dup
            ldc "While reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
        51: .line 392
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        52: .line 395
      StackMap locals: java.awt.FontFormatException
      StackMap stack:
            iconst_m1
            istore 4 /* bread */
        53: .line 396
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.deregisterFontAndClearStrikeCache:()V
        end local 5 // java.awt.FontFormatException e
        54: goto 67
        55: .line 397
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int
      StackMap stack: java.nio.channels.ClosedChannelException
            pop
        56: .line 401
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        57: .line 402
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        58: .line 403
            aload 0 /* this */
            aload 1 /* buffer */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual sun.font.TrueTypeFont.readBlock:(Ljava/nio/ByteBuffer;II)I
            ireturn
        59: .line 404
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        60: .line 412
            getstatic sun.font.FontManager.logging:Z
            ifeq 64
        61: .line 413
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
        62: .line 414
            new java.lang.StringBuilder
            dup
            ldc "While reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
        63: .line 413
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        64: .line 416
      StackMap locals: java.io.IOException
      StackMap stack:
            iload 4 /* bread */
            ifne 67
        65: .line 417
            iconst_m1
            istore 4 /* bread */
        66: .line 418
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.deregisterFontAndClearStrikeCache:()V
        end local 5 // java.io.IOException e
        67: .line 421
      StackMap locals:
      StackMap stack:
            iload 4 /* bread */
            ireturn
        end local 4 // int bread
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   68     0      this  Lsun/font/TrueTypeFont;
            0   68     1    buffer  Ljava/nio/ByteBuffer;
            0   68     2    offset  I
            0   68     3    length  I
            1   68     4     bread  I
           11   12     6       msg  Ljava/lang/String;
           19   39     6       cnt  I
           21   38     7       msg  Ljava/lang/String;
           22   38     8  currSize  I
           48   54     5         e  Ljava/awt/FontFormatException;
           60   67     5         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    13      45  any
          14    44      45  any
          45    46      45  any
           1    13      47  Class java.awt.FontFormatException
          14    47      47  Class java.awt.FontFormatException
           1    13      55  Class java.nio.channels.ClosedChannelException
          14    47      55  Class java.nio.channels.ClosedChannelException
           1    13      59  Class java.io.IOException
          14    47      59  Class java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  java.nio.ByteBuffer readBlock(int, int);
    descriptor: (II)Ljava/nio/ByteBuffer;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int offset
        start local 2 // int length
         0: .line 426
            iload 2 /* length */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
        start local 3 // java.nio.ByteBuffer buffer
         1: .line 428
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         2: .line 429
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            ifnonnull 4
         3: .line 430
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
         4: .line 432
      StackMap locals: java.nio.ByteBuffer sun.font.TrueTypeFont
      StackMap stack:
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmple 9
         5: .line 433
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmple 8
         6: .line 434
            aload 4
            monitorexit
         7: aconst_null
            areturn
         8: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            iload 1 /* offset */
            isub
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
         9: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            iload 1 /* offset */
            i2l
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
        10: .line 440
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            aload 3 /* buffer */
            invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
            pop
        11: .line 441
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        12: .line 428
            aload 4
            monitorexit
        13: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 4
            monitorexit
        15: athrow
        16: .line 443
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer
      StackMap stack: java.awt.FontFormatException
            pop
        17: .line 444
            aconst_null
            areturn
        18: .line 445
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
            pop
        19: .line 449
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        20: .line 450
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        21: .line 451
            aload 0 /* this */
            aload 3 /* buffer */
            iload 1 /* offset */
            iload 2 /* length */
            invokevirtual sun.font.TrueTypeFont.readBlock:(Ljava/nio/ByteBuffer;II)I
            pop
            goto 24
        22: .line 452
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        23: .line 453
            aconst_null
            areturn
        24: .line 455
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            areturn
        end local 3 // java.nio.ByteBuffer buffer
        end local 2 // int length
        end local 1 // int offset
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0    this  Lsun/font/TrueTypeFont;
            0   25     1  offset  I
            0   25     2  length  I
            1   25     3  buffer  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2     7      14  any
           8    13      14  any
          14    15      14  any
           1     7      16  Class java.awt.FontFormatException
           8    16      16  Class java.awt.FontFormatException
           1     7      18  Class java.nio.channels.ClosedChannelException
           8    16      18  Class java.nio.channels.ClosedChannelException
           1     7      22  Class java.io.IOException
           8    16      22  Class java.io.IOException
    MethodParameters:
        Name  Flags
      offset  
      length  

  byte[] readBytes(int, int);
    descriptor: (II)[B
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int offset
        start local 2 // int length
         0: .line 465
            aload 0 /* this */
            iload 1 /* offset */
            iload 2 /* length */
            invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
        start local 3 // java.nio.ByteBuffer buffer
         1: .line 466
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 3
         2: .line 467
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
         3: .line 469
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.limit:()I
            newarray 8
            astore 4 /* bufferBytes */
        start local 4 // byte[] bufferBytes
         4: .line 470
            aload 3 /* buffer */
            aload 4 /* bufferBytes */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         5: .line 471
            aload 4 /* bufferBytes */
            areturn
        end local 4 // byte[] bufferBytes
        end local 3 // java.nio.ByteBuffer buffer
        end local 2 // int length
        end local 1 // int offset
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lsun/font/TrueTypeFont;
            0    6     1       offset  I
            0    6     2       length  I
            1    6     3       buffer  Ljava/nio/ByteBuffer;
            4    6     4  bufferBytes  [B
    MethodParameters:
        Name  Flags
      offset  
      length  

  private void verify();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 476
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
         1: .line 477
            return
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/TrueTypeFont;
    Exceptions:
      throws java.awt.FontFormatException

  protected void init(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int fIndex
         0: .line 485
            iconst_0
            istore 2 /* headerOffset */
        start local 2 // int headerOffset
         1: .line 486
            aload 0 /* this */
            iconst_0
            bipush 12
            invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
        start local 3 // java.nio.ByteBuffer buffer
         2: .line 488
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            lookupswitch { // 4
                65536: 11
           1330926671: 11
           1953658213: 11
           1953784678: 3
              default: 12
          }
         3: .line 491
      StackMap locals: int java.nio.ByteBuffer
      StackMap stack:
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            pop
         4: .line 492
            aload 0 /* this */
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            putfield sun.font.TrueTypeFont.directoryCount:I
         5: .line 493
            iload 1 /* fIndex */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.directoryCount:I
            if_icmplt 7
         6: .line 494
            new java.awt.FontFormatException
            dup
            ldc "Bad collection index"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fIndex */
            putfield sun.font.TrueTypeFont.fontIndex:I
         8: .line 497
            aload 0 /* this */
            bipush 12
            iconst_4
            iload 1 /* fIndex */
            imul
            iadd
            iconst_4
            invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
         9: .line 498
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 2 /* headerOffset */
        10: .line 499
            goto 15
        11: .line 504
      StackMap locals:
      StackMap stack:
            goto 15
        12: .line 507
      StackMap locals:
      StackMap stack:
            new java.awt.FontFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported sfnt "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 508
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getPublicFileName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 507
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* headerOffset */
            iconst_4
            iadd
            iconst_2
            invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
        16: .line 518
            aload 0 /* this */
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            putfield sun.font.TrueTypeFont.numTables:I
        17: .line 519
            aload 0 /* this */
            iload 2 /* headerOffset */
            bipush 12
            iadd
            putfield sun.font.TrueTypeFont.directoryOffset:I
        18: .line 520
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.directoryOffset:I
        19: .line 521
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            bipush 16
            imul
        20: .line 520
            invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
            astore 4 /* bbuffer */
        start local 4 // java.nio.ByteBuffer bbuffer
        21: .line 522
            aload 4 /* bbuffer */
            invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
            astore 5 /* ibuffer */
        start local 5 // java.nio.IntBuffer ibuffer
        22: .line 524
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            anewarray sun.font.TrueTypeFont$DirectoryEntry
            putfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
        23: .line 525
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        24: goto 34
        25: .line 526
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 7 /* i */
            new sun.font.TrueTypeFont$DirectoryEntry
            dup
            aload 0 /* this */
            invokespecial sun.font.TrueTypeFont$DirectoryEntry.<init>:(Lsun/font/TrueTypeFont;)V
            dup
            astore 6 /* table */
        start local 6 // sun.font.TrueTypeFont$DirectoryEntry table
        26: aastore
        27: .line 527
            aload 6 /* table */
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            putfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
        28: .line 528
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            pop
        29: .line 529
            aload 6 /* table */
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            putfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
        30: .line 530
            aload 6 /* table */
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            putfield sun.font.TrueTypeFont$DirectoryEntry.length:I
        31: .line 531
            aload 6 /* table */
            getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
            aload 6 /* table */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmple 33
        32: .line 532
            new java.awt.FontFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad table, tag="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* table */
            getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 525
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer sun.font.TrueTypeFont$DirectoryEntry int
      StackMap stack:
            iinc 7 /* i */ 1
        end local 6 // sun.font.TrueTypeFont$DirectoryEntry table
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer top int
      StackMap stack:
        34: iload 7 /* i */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            if_icmplt 25
        end local 7 // int i
        35: .line 535
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.initNames:()V
        end local 5 // java.nio.IntBuffer ibuffer
        end local 4 // java.nio.ByteBuffer bbuffer
        36: .line 536
            goto 43
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer
      StackMap stack: java.lang.Exception
        37: astore 4 /* e */
        start local 4 // java.lang.Exception e
        38: .line 537
            getstatic sun.font.FontManager.logging:Z
            ifeq 40
        39: .line 538
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        40: .line 540
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            instanceof java.awt.FontFormatException
            ifeq 42
        41: .line 541
            aload 4 /* e */
            checkcast java.awt.FontFormatException
            athrow
        42: .line 543
      StackMap locals:
      StackMap stack:
            new java.awt.FontFormatException
            dup
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception e
        43: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            ifnull 44
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            ifnonnull 45
        44: .line 547
      StackMap locals:
      StackMap stack:
            new java.awt.FontFormatException
            dup
            ldc "Font name not found"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1330851634
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 4 /* os2_Table */
        start local 4 // java.nio.ByteBuffer os2_Table
        46: .line 554
            aload 0 /* this */
            aload 4 /* os2_Table */
            invokevirtual sun.font.TrueTypeFont.setStyle:(Ljava/nio/ByteBuffer;)V
        47: .line 555
            aload 0 /* this */
            aload 4 /* os2_Table */
            invokevirtual sun.font.TrueTypeFont.setCJKSupport:(Ljava/nio/ByteBuffer;)V
        48: .line 557
            aload 0 /* this */
            ldc 1751474532
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 5 /* head_Table */
        start local 5 // java.nio.ByteBuffer head_Table
        49: .line 558
            iconst_m1
            istore 6 /* upem */
        start local 6 // int upem
        50: .line 559
            aload 5 /* head_Table */
            ifnull 55
            aload 5 /* head_Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 18
            if_icmplt 55
        51: .line 560
            aload 5 /* head_Table */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 7 /* sb */
        start local 7 // java.nio.ShortBuffer sb
        52: .line 561
            aload 7 /* sb */
            bipush 9
            invokevirtual java.nio.ShortBuffer.get:(I)S
            ldc 65535
            iand
            istore 6 /* upem */
        53: .line 562
            iload 6 /* upem */
            bipush 16
            if_icmplt 54
            iload 6 /* upem */
            sipush 16384
            if_icmple 55
        54: .line 563
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int java.nio.ShortBuffer
      StackMap stack:
            sipush 2048
            istore 6 /* upem */
        end local 7 // java.nio.ShortBuffer sb
        55: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* os2_Table */
            iload 6 /* upem */
            invokevirtual sun.font.TrueTypeFont.setStrikethroughMetrics:(Ljava/nio/ByteBuffer;I)V
        56: .line 568
            aload 0 /* this */
            ldc 1886352244
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 7 /* post_Table */
        start local 7 // java.nio.ByteBuffer post_Table
        57: .line 569
            aload 0 /* this */
            aload 7 /* post_Table */
            iload 6 /* upem */
            invokevirtual sun.font.TrueTypeFont.setUnderlineMetrics:(Ljava/nio/ByteBuffer;I)V
        58: .line 570
            return
        end local 7 // java.nio.ByteBuffer post_Table
        end local 6 // int upem
        end local 5 // java.nio.ByteBuffer head_Table
        end local 4 // java.nio.ByteBuffer os2_Table
        end local 3 // java.nio.ByteBuffer buffer
        end local 2 // int headerOffset
        end local 1 // int fIndex
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   59     0          this  Lsun/font/TrueTypeFont;
            0   59     1        fIndex  I
            1   59     2  headerOffset  I
            2   59     3        buffer  Ljava/nio/ByteBuffer;
           21   36     4       bbuffer  Ljava/nio/ByteBuffer;
           22   36     5       ibuffer  Ljava/nio/IntBuffer;
           26   34     6         table  Lsun/font/TrueTypeFont$DirectoryEntry;
           24   35     7             i  I
           38   43     4             e  Ljava/lang/Exception;
           46   59     4     os2_Table  Ljava/nio/ByteBuffer;
           49   59     5    head_Table  Ljava/nio/ByteBuffer;
           50   59     6          upem  I
           52   55     7            sb  Ljava/nio/ShortBuffer;
           57   59     7    post_Table  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2    36      37  Class java.lang.Exception
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
        Name  Flags
      fIndex  

  static java.lang.String getCodePage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 694
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            ifnull 2
         1: .line 695
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            areturn
         2: .line 698
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontManager.isWindows:Z
            ifeq 7
         3: .line 701
            new sun.security.action.GetPropertyAction
            dup
            ldc "file.encoding"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 700
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         5: .line 699
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
         6: .line 702
            goto 27
         7: .line 703
      StackMap locals:
      StackMap stack:
            getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
            arraylength
            getstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
            arraylength
            if_icmpeq 9
         8: .line 704
            new java.lang.InternalError
            dup
            ldc "wrong code pages array length"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 706
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.SunToolkit.getStartupLocale:()Ljava/util/Locale;
            astore 0 /* locale */
        start local 0 // java.util.Locale locale
        10: .line 708
            aload 0 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 1 /* language */
        start local 1 // java.lang.String language
        11: .line 709
            aload 1 /* language */
            ifnull 27
        12: .line 710
            aload 1 /* language */
            ldc "zh"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 711
            aload 0 /* locale */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            astore 2 /* country */
        start local 2 // java.lang.String country
        14: .line 712
            aload 2 /* country */
            ifnull 16
        15: .line 713
            new java.lang.StringBuilder
            dup
            aload 1 /* language */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* country */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* language */
        end local 2 // java.lang.String country
        16: .line 716
      StackMap locals: java.util.Locale java.lang.String
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        17: goto 26
        18: .line 717
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* l */
        start local 3 // int l
        19: goto 24
        20: .line 718
      StackMap locals: int
      StackMap stack:
            aload 1 /* language */
            getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
            iload 2 /* i */
            aaload
            iload 3 /* l */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 719
            getstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
        22: .line 720
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            areturn
        23: .line 717
      StackMap locals:
      StackMap stack:
            iinc 3 /* l */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* l */
            getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
            iload 2 /* i */
            aaload
            arraylength
            if_icmplt 20
        end local 3 // int l
        25: .line 716
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 2 /* i */
            getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
            arraylength
            if_icmplt 18
        end local 2 // int i
        end local 1 // java.lang.String language
        end local 0 // java.util.Locale locale
        27: .line 726
      StackMap locals:
      StackMap stack:
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            ifnonnull 29
        28: .line 727
            ldc ""
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
        29: .line 729
      StackMap locals:
      StackMap stack:
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot      Name  Signature
           10   27     0    locale  Ljava/util/Locale;
           11   27     1  language  Ljava/lang/String;
           14   16     2   country  Ljava/lang/String;
           17   27     2         i  I
           19   25     3         l  I

  boolean supportsEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.lang.String encoding
         0: .line 736
            aload 1 /* encoding */
            ifnonnull 2
         1: .line 737
            invokestatic sun.font.TrueTypeFont.getCodePage:()Ljava/lang/String;
            astore 1 /* encoding */
         2: .line 739
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 1 /* encoding */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 740
            iconst_0
            ireturn
         4: .line 743
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* encoding */
         5: .line 752
            aload 1 /* encoding */
            ldc "gb18030"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 753
            ldc "gbk"
            astore 1 /* encoding */
         7: .line 754
            goto 10
      StackMap locals:
      StackMap stack:
         8: aload 1 /* encoding */
            ldc "ms950_hkscs"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 755
            ldc "ms950"
            astore 1 /* encoding */
        10: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1330851634
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
        11: .line 760
            aload 2 /* buffer */
            ifnull 12
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 86
            if_icmpge 13
        12: .line 761
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            iconst_0
            ireturn
        13: .line 764
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 78
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 3 /* range1 */
        start local 3 // int range1
        14: .line 765
            aload 2 /* buffer */
            bipush 82
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            pop
        15: .line 775
            iconst_0
            istore 4 /* em */
        start local 4 // int em
        16: goto 21
        17: .line 776
      StackMap locals: int int
      StackMap stack:
            getstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
            iload 4 /* em */
            aaload
            aload 1 /* encoding */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 777
            iconst_1
            iload 4 /* em */
            ishl
            iload 3 /* range1 */
            iand
            ifeq 20
        19: .line 778
            iconst_1
            ireturn
        20: .line 775
      StackMap locals:
      StackMap stack:
            iinc 4 /* em */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* em */
            getstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
            arraylength
            if_icmplt 17
        end local 4 // int em
        22: .line 782
            iconst_0
            ireturn
        end local 3 // int range1
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.lang.String encoding
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lsun/font/TrueTypeFont;
            0   23     1  encoding  Ljava/lang/String;
           11   23     2    buffer  Ljava/nio/ByteBuffer;
           14   23     3    range1  I
           16   22     4        em  I
    MethodParameters:
          Name  Flags
      encoding  

  private void setCJKSupport(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.nio.ByteBuffer os2Table
         0: .line 789
            aload 1 /* os2Table */
            ifnull 1
            aload 1 /* os2Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 50
            if_icmpge 2
         1: .line 790
      StackMap locals:
      StackMap stack:
            return
         2: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* os2Table */
            bipush 46
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 2 /* range2 */
        start local 2 // int range2
         3: .line 799
            aload 0 /* this */
            iload 2 /* range2 */
            ldc 700383232
            iand
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int
      StackMap stack: sun.font.TrueTypeFont
         4: iconst_0
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int
      StackMap stack: sun.font.TrueTypeFont int
         5: putfield sun.font.TrueTypeFont.supportsCJK:Z
         6: .line 808
            aload 0 /* this */
            iload 2 /* range2 */
            ldc 393216
            iand
            ifeq 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: sun.font.TrueTypeFont
         7: iconst_0
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int
      StackMap stack: sun.font.TrueTypeFont int
         8: putfield sun.font.TrueTypeFont.supportsJA:Z
         9: .line 809
            return
        end local 2 // int range2
        end local 1 // java.nio.ByteBuffer os2Table
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lsun/font/TrueTypeFont;
            0   10     1  os2Table  Ljava/nio/ByteBuffer;
            3   10     2    range2  I
    MethodParameters:
          Name  Flags
      os2Table  

  boolean supportsJA();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 812
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.supportsJA:Z
            ireturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/TrueTypeFont;

  java.nio.ByteBuffer getTableBuffer(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int tag
         0: .line 816
            aconst_null
            astore 2 /* entry */
        start local 2 // sun.font.TrueTypeFont$DirectoryEntry entry
         1: .line 818
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 819
      StackMap locals: sun.font.TrueTypeFont$DirectoryEntry int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 3 /* i */
            aaload
            getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
            iload 1 /* tag */
            if_icmpne 6
         4: .line 820
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 3 /* i */
            aaload
            astore 2 /* entry */
         5: .line 821
            goto 8
         6: .line 818
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            if_icmplt 3
        end local 3 // int i
         8: .line 824
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            ifnull 10
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            ifeq 10
         9: .line 825
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmple 11
        10: .line 826
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        11: .line 829
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* bread */
        start local 3 // int bread
        12: .line 830
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 4 /* buffer */
        start local 4 // java.nio.ByteBuffer buffer
        13: .line 831
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        14: .line 833
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            ifnonnull 16
        15: .line 834
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
        16: .line 836
      StackMap locals: int java.nio.ByteBuffer sun.font.TrueTypeFont
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
            i2l
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
        17: .line 837
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            aload 4 /* buffer */
            invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
            istore 3 /* bread */
        18: .line 838
            aload 4 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        19: .line 839
            goto 31
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
        20: pop
        21: .line 843
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        22: .line 844
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        23: .line 845
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            aload 5
            monitorexit
        24: areturn
        25: .line 846
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        26: .line 847
            aload 5
            monitorexit
        27: aconst_null
            areturn
        28: .line 848
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
            pop
        29: .line 849
            aload 5
            monitorexit
        30: aconst_null
            areturn
        31: .line 852
      StackMap locals:
      StackMap stack:
            iload 3 /* bread */
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            if_icmpge 34
        32: .line 853
            aload 5
            monitorexit
        33: aconst_null
            areturn
        34: .line 855
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            aload 5
            monitorexit
        35: areturn
        36: .line 831
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        37: athrow
        end local 4 // java.nio.ByteBuffer buffer
        end local 3 // int bread
        end local 2 // sun.font.TrueTypeFont$DirectoryEntry entry
        end local 1 // int tag
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   38     0    this  Lsun/font/TrueTypeFont;
            0   38     1     tag  I
            1   38     2   entry  Lsun/font/TrueTypeFont$DirectoryEntry;
            2    8     3       i  I
           12   38     3   bread  I
           13   38     4  buffer  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
          14    19      20  Class java.nio.channels.ClosedChannelException
          14    19      25  Class java.io.IOException
          14    19      28  Class java.awt.FontFormatException
          14    24      36  any
          25    27      36  any
          28    30      36  any
          31    33      36  any
          34    35      36  any
          36    37      36  any
    MethodParameters:
      Name  Flags
      tag   

  long getLayoutTableCache();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 863
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getScaler:()Lsun/font/FontScaler;
            invokevirtual sun.font.FontScaler.getLayoutTableCache:()J
         1: lreturn
         2: .line 864
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 865
            lconst_0
            lreturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/TrueTypeFont;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.font.FontScalerException

  byte[] getTableBytes(int);
    descriptor: (I)[B
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int tag
         0: .line 870
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         1: .line 871
            aload 2 /* buffer */
            ifnonnull 3
         2: .line 872
            aconst_null
            areturn
         3: .line 873
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 7
         4: .line 875
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
         5: areturn
         6: .line 876
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual sun.font.TrueTypeFont.getTableSize:(I)I
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
         8: .line 880
            aload 2 /* buffer */
            aload 3 /* data */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         9: .line 881
            aload 3 /* data */
            areturn
        end local 3 // byte[] data
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // int tag
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lsun/font/TrueTypeFont;
            0   10     1     tag  I
            1   10     2  buffer  Ljava/nio/ByteBuffer;
            8   10     3    data  [B
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      tag   

  int getTableSize(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int tag
         0: .line 885
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 886
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
            iload 1 /* tag */
            if_icmpne 4
         3: .line 887
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            ireturn
         4: .line 885
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            if_icmplt 2
        end local 2 // int i
         6: .line 890
            iconst_0
            ireturn
        end local 1 // int tag
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/TrueTypeFont;
            0    7     1   tag  I
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      tag   

  int getTableOffset(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int tag
         0: .line 894
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 895
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
            iload 1 /* tag */
            if_icmpne 4
         3: .line 896
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
            ireturn
         4: .line 894
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            if_icmplt 2
        end local 2 // int i
         6: .line 899
            iconst_0
            ireturn
        end local 1 // int tag
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/TrueTypeFont;
            0    7     1   tag  I
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      tag   

  sun.font.TrueTypeFont$DirectoryEntry getDirectoryEntry(int);
    descriptor: (I)Lsun/font/TrueTypeFont$DirectoryEntry;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int tag
         0: .line 903
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 904
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
            iload 1 /* tag */
            if_icmpne 4
         3: .line 905
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            areturn
         4: .line 903
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            if_icmplt 2
        end local 2 // int i
         6: .line 908
            aconst_null
            areturn
        end local 1 // int tag
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/TrueTypeFont;
            0    7     1   tag  I
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      tag   

  boolean useEmbeddedBitmapsForSize(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int ptSize
         0: .line 915
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.supportsCJK:Z
            ifne 2
         1: .line 916
            iconst_0
            ireturn
         2: .line 918
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1161972803
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 4
         3: .line 919
            iconst_0
            ireturn
         4: .line 921
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1161972803
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 2 /* eblcTable */
        start local 2 // java.nio.ByteBuffer eblcTable
         5: .line 922
            aload 2 /* eblcTable */
            iconst_4
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 3 /* numSizes */
        start local 3 // int numSizes
         6: .line 927
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 12
         8: .line 928
      StackMap locals: java.nio.ByteBuffer int int
      StackMap stack:
            aload 2 /* eblcTable */
            bipush 8
            iload 4 /* i */
            bipush 48
            imul
            iadd
            bipush 45
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 255
            iand
            istore 5 /* ppemY */
        start local 5 // int ppemY
         9: .line 929
            iload 5 /* ppemY */
            iload 1 /* ptSize */
            if_icmpne 11
        10: .line 930
            iconst_1
            ireturn
        end local 5 // int ppemY
        11: .line 927
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* numSizes */
            if_icmplt 8
        end local 4 // int i
        13: .line 933
            iconst_0
            ireturn
        end local 3 // int numSizes
        end local 2 // java.nio.ByteBuffer eblcTable
        end local 1 // int ptSize
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/font/TrueTypeFont;
            0   14     1     ptSize  I
            5   14     2  eblcTable  Ljava/nio/ByteBuffer;
            6   14     3   numSizes  I
            7   13     4          i  I
            9   11     5      ppemY  I
    MethodParameters:
        Name  Flags
      ptSize  

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

  protected void setStyle();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 944
            aload 0 /* this */
            aload 0 /* this */
            ldc 1330851634
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            invokevirtual sun.font.TrueTypeFont.setStyle:(Ljava/nio/ByteBuffer;)V
         1: .line 945
            return
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/TrueTypeFont;

  private void setStyle(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.nio.ByteBuffer os_2Table
         0: .line 963
            aload 1 /* os_2Table */
            ifnull 1
            aload 1 /* os_2Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 64
            if_icmpge 3
         1: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial sun.font.FileFont.setStyle:()V
         2: .line 965
            return
         3: .line 967
      StackMap locals:
      StackMap stack:
            aload 1 /* os_2Table */
            bipush 62
            invokevirtual java.nio.ByteBuffer.getChar:(I)C
            ldc 65535
            iand
            istore 2 /* fsSelection */
        start local 2 // int fsSelection
         4: .line 968
            iload 2 /* fsSelection */
            iconst_1
            iand
            istore 3 /* italic */
        start local 3 // int italic
         5: .line 969
            iload 2 /* fsSelection */
            bipush 32
            iand
            istore 4 /* bold */
        start local 4 // int bold
         6: .line 970
            iload 2 /* fsSelection */
            bipush 64
            iand
            istore 5 /* regular */
        start local 5 // int regular
         7: .line 974
            iload 5 /* regular */
            ifeq 10
            iload 3 /* italic */
            iload 4 /* bold */
            ior
            ifeq 10
         8: .line 976
            aload 0 /* this */
            invokespecial sun.font.FileFont.setStyle:()V
         9: .line 977
            return
        10: .line 978
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int int
      StackMap stack:
            iload 5 /* regular */
            iload 3 /* italic */
            ior
            iload 4 /* bold */
            ior
            ifne 13
        11: .line 980
            aload 0 /* this */
            invokespecial sun.font.FileFont.setStyle:()V
        12: .line 981
            return
        13: .line 983
      StackMap locals:
      StackMap stack:
            iload 4 /* bold */
            iload 3 /* italic */
            ior
            lookupswitch { // 3
                    1: 14
                   32: 16
                   33: 21
              default: 22
          }
        14: .line 985
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield sun.font.TrueTypeFont.style:I
        15: .line 986
            goto 22
        16: .line 988
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontManager.isSolaris:Z
            ifeq 19
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
            ldc "HG-GothicB.ttf"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 992
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.style:I
        18: .line 993
            goto 22
        19: .line 994
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.style:I
        20: .line 996
            goto 22
        21: .line 998
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield sun.font.TrueTypeFont.style:I
        22: .line 1000
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int regular
        end local 4 // int bold
        end local 3 // int italic
        end local 2 // int fsSelection
        end local 1 // java.nio.ByteBuffer os_2Table
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lsun/font/TrueTypeFont;
            0   23     1    os_2Table  Ljava/nio/ByteBuffer;
            4   23     2  fsSelection  I
            5   23     3       italic  I
            6   23     4         bold  I
            7   23     5      regular  I
    MethodParameters:
           Name  Flags
      os_2Table  

  private void setStrikethroughMetrics(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.nio.ByteBuffer os_2Table
        start local 2 // int upem
         0: .line 1005
            aload 1 /* os_2Table */
            ifnull 1
            aload 1 /* os_2Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 30
            if_icmplt 1
            iload 2 /* upem */
            ifge 4
         1: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 0.05
            putfield sun.font.TrueTypeFont.stSize:F
         2: .line 1007
            aload 0 /* this */
            ldc -0.4
            putfield sun.font.TrueTypeFont.stPos:F
         3: .line 1008
            return
         4: .line 1010
      StackMap locals:
      StackMap stack:
            aload 1 /* os_2Table */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 3 /* sb */
        start local 3 // java.nio.ShortBuffer sb
         5: .line 1011
            aload 0 /* this */
            aload 3 /* sb */
            bipush 13
            invokevirtual java.nio.ShortBuffer.get:(I)S
            i2f
            iload 2 /* upem */
            i2f
            fdiv
            putfield sun.font.TrueTypeFont.stSize:F
         6: .line 1012
            aload 0 /* this */
            aload 3 /* sb */
            bipush 14
            invokevirtual java.nio.ShortBuffer.get:(I)S
            ineg
            i2f
            iload 2 /* upem */
            i2f
            fdiv
            putfield sun.font.TrueTypeFont.stPos:F
         7: .line 1013
            return
        end local 3 // java.nio.ShortBuffer sb
        end local 2 // int upem
        end local 1 // java.nio.ByteBuffer os_2Table
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/font/TrueTypeFont;
            0    8     1  os_2Table  Ljava/nio/ByteBuffer;
            0    8     2       upem  I
            5    8     3         sb  Ljava/nio/ShortBuffer;
    MethodParameters:
           Name  Flags
      os_2Table  
      upem       

  private void setUnderlineMetrics(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.nio.ByteBuffer postTable
        start local 2 // int upem
         0: .line 1016
            aload 1 /* postTable */
            ifnull 1
            aload 1 /* postTable */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 12
            if_icmplt 1
            iload 2 /* upem */
            ifge 4
         1: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 0.05
            putfield sun.font.TrueTypeFont.ulSize:F
         2: .line 1018
            aload 0 /* this */
            ldc 0.1
            putfield sun.font.TrueTypeFont.ulPos:F
         3: .line 1019
            return
         4: .line 1021
      StackMap locals:
      StackMap stack:
            aload 1 /* postTable */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 3 /* sb */
        start local 3 // java.nio.ShortBuffer sb
         5: .line 1022
            aload 0 /* this */
            aload 3 /* sb */
            iconst_5
            invokevirtual java.nio.ShortBuffer.get:(I)S
            i2f
            iload 2 /* upem */
            i2f
            fdiv
            putfield sun.font.TrueTypeFont.ulSize:F
         6: .line 1023
            aload 0 /* this */
            aload 3 /* sb */
            iconst_4
            invokevirtual java.nio.ShortBuffer.get:(I)S
            ineg
            i2f
            iload 2 /* upem */
            i2f
            fdiv
            putfield sun.font.TrueTypeFont.ulPos:F
         7: .line 1024
            return
        end local 3 // java.nio.ShortBuffer sb
        end local 2 // int upem
        end local 1 // java.nio.ByteBuffer postTable
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/font/TrueTypeFont;
            0    8     1  postTable  Ljava/nio/ByteBuffer;
            0    8     2       upem  I
            5    8     3         sb  Ljava/nio/ShortBuffer;
    MethodParameters:
           Name  Flags
      postTable  
      upem       

  public void getStyleMetrics(float, float[], int);
    descriptor: (F[FI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // float pointSize
        start local 2 // float[] metrics
        start local 3 // int offset
         0: .line 1027
            aload 2 /* metrics */
            iload 3 /* offset */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.stPos:F
            fload 1 /* pointSize */
            fmul
            fastore
         1: .line 1028
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.stSize:F
            fload 1 /* pointSize */
            fmul
            fastore
         2: .line 1029
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_2
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.ulPos:F
            fload 1 /* pointSize */
            fmul
            fastore
         3: .line 1030
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_3
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.ulSize:F
            fload 1 /* pointSize */
            fmul
            fastore
         4: .line 1031
            return
        end local 3 // int offset
        end local 2 // float[] metrics
        end local 1 // float pointSize
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/font/TrueTypeFont;
            0    5     1  pointSize  F
            0    5     2    metrics  [F
            0    5     3     offset  I
    MethodParameters:
           Name  Flags
      pointSize  
      metrics    
      offset     

  private java.lang.String makeString(byte[], int, short);
    descriptor: ([BIS)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // byte[] bytes
        start local 2 // int len
        start local 3 // short encoding
         0: .line 1041
            iload 3 /* encoding */
            iconst_2
            if_icmplt 11
            iload 3 /* encoding */
            bipush 6
            if_icmpgt 11
         1: .line 1042
            aload 1 /* bytes */
            astore 4 /* oldbytes */
        start local 4 // byte[] oldbytes
         2: .line 1043
            iload 2 /* len */
            istore 5 /* oldlen */
        start local 5 // int oldlen
         3: .line 1044
            iload 5 /* oldlen */
            newarray 8
            astore 1 /* bytes */
         4: .line 1045
            iconst_0
            istore 2 /* len */
         5: .line 1046
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 10
         7: .line 1047
      StackMap locals: byte[] int int
      StackMap stack:
            aload 4 /* oldbytes */
            iload 6 /* i */
            baload
            ifeq 9
         8: .line 1048
            aload 1 /* bytes */
            iload 2 /* len */
            iinc 2 /* len */ 1
            aload 4 /* oldbytes */
            iload 6 /* i */
            baload
            bastore
         9: .line 1046
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 5 /* oldlen */
            if_icmplt 7
        end local 6 // int i
        end local 5 // int oldlen
        end local 4 // byte[] oldbytes
        11: .line 1054
      StackMap locals:
      StackMap stack:
            iload 3 /* encoding */
            tableswitch { // 0 - 6
                    0: 14
                    1: 12
                    2: 16
                    3: 18
                    4: 20
                    5: 22
                    6: 24
              default: 26
          }
        12: .line 1055
      StackMap locals:
      StackMap stack:
            ldc "UTF-16"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        13: goto 27
        end local 4 // java.lang.String charset
        14: .line 1056
      StackMap locals:
      StackMap stack:
            ldc "UTF-16"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        15: goto 27
        end local 4 // java.lang.String charset
        16: .line 1057
      StackMap locals:
      StackMap stack:
            ldc "SJIS"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        17: goto 27
        end local 4 // java.lang.String charset
        18: .line 1058
      StackMap locals:
      StackMap stack:
            ldc "GBK"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        19: goto 27
        end local 4 // java.lang.String charset
        20: .line 1059
      StackMap locals:
      StackMap stack:
            ldc "MS950"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        21: goto 27
        end local 4 // java.lang.String charset
        22: .line 1060
      StackMap locals:
      StackMap stack:
            ldc "EUC_KR"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        23: goto 27
        end local 4 // java.lang.String charset
        24: .line 1061
      StackMap locals:
      StackMap stack:
            ldc "Johab"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        25: goto 27
        end local 4 // java.lang.String charset
        26: .line 1062
      StackMap locals:
      StackMap stack:
            ldc "UTF-16"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        27: .line 1066
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.String
            dup
            aload 1 /* bytes */
            iconst_0
            iload 2 /* len */
            aload 4 /* charset */
            invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
        28: areturn
        29: .line 1067
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
        30: .line 1068
            getstatic sun.font.FontManager.logging:Z
            ifeq 32
        31: .line 1069
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " EncodingID="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* encoding */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        32: .line 1071
      StackMap locals: java.io.UnsupportedEncodingException
      StackMap stack:
            new java.lang.String
            dup
            aload 1 /* bytes */
            iconst_0
            iload 2 /* len */
            invokespecial java.lang.String.<init>:([BII)V
            areturn
        end local 5 // java.io.UnsupportedEncodingException e
        33: .line 1072
      StackMap locals: sun.font.TrueTypeFont byte[] int int java.lang.String
      StackMap stack: java.lang.Throwable
            pop
        34: .line 1073
            aconst_null
            areturn
        end local 4 // java.lang.String charset
        end local 3 // short encoding
        end local 2 // int len
        end local 1 // byte[] bytes
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   35     0      this  Lsun/font/TrueTypeFont;
            0   35     1     bytes  [B
            0   35     2       len  I
            0   35     3  encoding  S
            2   11     4  oldbytes  [B
            3   11     5    oldlen  I
            6   11     6         i  I
           13   14     4   charset  Ljava/lang/String;
           15   16     4   charset  Ljava/lang/String;
           17   18     4   charset  Ljava/lang/String;
           19   20     4   charset  Ljava/lang/String;
           21   22     4   charset  Ljava/lang/String;
           23   24     4   charset  Ljava/lang/String;
           25   26     4   charset  Ljava/lang/String;
           27   35     4   charset  Ljava/lang/String;
           30   33     5         e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
          27    28      29  Class java.io.UnsupportedEncodingException
          27    28      33  Class java.lang.Throwable
    MethodParameters:
          Name  Flags
      bytes     
      len       
      encoding  

  protected void initNames();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1079
            sipush 256
            newarray 8
            astore 1 /* name */
        start local 1 // byte[] name
         1: .line 1080
            aload 0 /* this */
            ldc 1851878757
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         2: .line 1082
            aload 2 /* buffer */
            ifnull 30
         3: .line 1083
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 3 /* sbuffer */
        start local 3 // java.nio.ShortBuffer sbuffer
         4: .line 1084
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
         5: .line 1085
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 4 /* numRecords */
        start local 4 // short numRecords
         6: .line 1091
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 5 /* stringPtr */
        start local 5 // int stringPtr
         7: .line 1092
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 29
         9: .line 1093
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
      StackMap stack:
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 7 /* platformID */
        start local 7 // short platformID
        10: .line 1094
            iload 7 /* platformID */
            iconst_3
            if_icmpeq 13
        11: .line 1095
            aload 3 /* sbuffer */
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.position:()I
            iconst_5
            iadd
            invokevirtual java.nio.ShortBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 1096
            goto 28
        13: .line 1098
      StackMap locals: int
      StackMap stack:
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 8 /* encodingID */
        start local 8 // short encodingID
        14: .line 1099
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 9 /* langID */
        start local 9 // short langID
        15: .line 1100
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 10 /* nameID */
        start local 10 // short nameID
        16: .line 1101
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 11 /* nameLen */
        start local 11 // int nameLen
        17: .line 1102
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            iload 5 /* stringPtr */
            iadd
            istore 12 /* namePtr */
        start local 12 // int namePtr
        18: .line 1104
            iload 10 /* nameID */
            tableswitch { // 1 - 4
                    1: 19
                    2: 28
                    3: 28
                    4: 24
              default: 28
          }
        19: .line 1108
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            ifnull 20
            iload 9 /* langID */
            sipush 1033
            if_icmpne 28
        20: .line 1109
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 12 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        21: .line 1110
            aload 2 /* buffer */
            aload 1 /* name */
            iconst_0
            iload 11 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        22: .line 1111
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* name */
            iload 11 /* nameLen */
            iload 8 /* encodingID */
            invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
            putfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
        23: .line 1125
            goto 28
        24: .line 1129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            ifnull 25
            iload 9 /* langID */
            sipush 1033
            if_icmpne 28
        25: .line 1130
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 12 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        26: .line 1131
            aload 2 /* buffer */
            aload 1 /* name */
            iconst_0
            iload 11 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        27: .line 1132
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* name */
            iload 11 /* nameLen */
            iload 8 /* encodingID */
            invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
            putfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
        end local 12 // int namePtr
        end local 11 // int nameLen
        end local 10 // short nameID
        end local 9 // short langID
        end local 8 // short encodingID
        end local 7 // short platformID
        28: .line 1092
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            iload 4 /* numRecords */
            if_icmplt 9
        end local 6 // int i
        end local 5 // int stringPtr
        end local 4 // short numRecords
        end local 3 // java.nio.ShortBuffer sbuffer
        30: .line 1139
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer
      StackMap stack:
            return
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // byte[] name
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lsun/font/TrueTypeFont;
            1   31     1        name  [B
            2   31     2      buffer  Ljava/nio/ByteBuffer;
            4   30     3     sbuffer  Ljava/nio/ShortBuffer;
            6   30     4  numRecords  S
            7   30     5   stringPtr  I
            8   30     6           i  I
           10   28     7  platformID  S
           14   28     8  encodingID  S
           15   28     9      langID  S
           16   28    10      nameID  S
           17   28    11     nameLen  I
           18   28    12     namePtr  I

  protected java.lang.String lookupName(short, int);
    descriptor: (SI)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=16, args_size=3
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // short findLocaleID
        start local 2 // int findNameID
         0: .line 1147
            aconst_null
            astore 3 /* foundName */
        start local 3 // java.lang.String foundName
         1: .line 1148
            sipush 1024
            newarray 8
            astore 4 /* name */
        start local 4 // byte[] name
         2: .line 1150
            aload 0 /* this */
            ldc 1851878757
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 5 /* buffer */
        start local 5 // java.nio.ByteBuffer buffer
         3: .line 1151
            aload 5 /* buffer */
            ifnull 29
         4: .line 1152
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 6 /* sbuffer */
        start local 6 // java.nio.ShortBuffer sbuffer
         5: .line 1153
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
         6: .line 1154
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 7 /* numRecords */
        start local 7 // short numRecords
         7: .line 1161
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 8 /* stringPtr */
        start local 8 // int stringPtr
         8: .line 1163
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 28
        10: .line 1164
      StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
      StackMap stack:
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 10 /* platformID */
        start local 10 // short platformID
        11: .line 1165
            iload 10 /* platformID */
            iconst_3
            if_icmpeq 14
        12: .line 1166
            aload 6 /* sbuffer */
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.position:()I
            iconst_5
            iadd
            invokevirtual java.nio.ShortBuffer.position:(I)Ljava/nio/Buffer;
            pop
        13: .line 1167
            goto 27
        14: .line 1169
      StackMap locals: int
      StackMap stack:
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 11 /* encodingID */
        start local 11 // short encodingID
        15: .line 1170
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 12 /* langID */
        start local 12 // short langID
        16: .line 1171
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 13 /* nameID */
        start local 13 // short nameID
        17: .line 1172
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 14 /* nameLen */
        start local 14 // int nameLen
        18: .line 1173
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            iload 8 /* stringPtr */
            iadd
            istore 15 /* namePtr */
        start local 15 // int namePtr
        19: .line 1174
            iload 13 /* nameID */
            iload 2 /* findNameID */
            if_icmpne 27
        20: .line 1175
            aload 3 /* foundName */
            ifnonnull 21
            iload 12 /* langID */
            sipush 1033
            if_icmpeq 22
        21: .line 1176
      StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int int int int int int
      StackMap stack:
            iload 12 /* langID */
            iload 1 /* findLocaleID */
            if_icmpne 27
        22: .line 1177
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            iload 15 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        23: .line 1178
            aload 5 /* buffer */
            aload 4 /* name */
            iconst_0
            iload 14 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        24: .line 1179
            aload 0 /* this */
            aload 4 /* name */
            iload 14 /* nameLen */
            iload 11 /* encodingID */
            invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
            astore 3 /* foundName */
        25: .line 1180
            iload 12 /* langID */
            iload 1 /* findLocaleID */
            if_icmpne 27
        26: .line 1181
            aload 3 /* foundName */
            areturn
        end local 15 // int namePtr
        end local 14 // int nameLen
        end local 13 // short nameID
        end local 12 // short langID
        end local 11 // short encodingID
        end local 10 // short platformID
        27: .line 1163
      StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 9 /* i */
            iload 7 /* numRecords */
            if_icmplt 10
        end local 9 // int i
        end local 8 // int stringPtr
        end local 7 // short numRecords
        end local 6 // java.nio.ShortBuffer sbuffer
        29: .line 1186
      StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer
      StackMap stack:
            aload 3 /* foundName */
            areturn
        end local 5 // java.nio.ByteBuffer buffer
        end local 4 // byte[] name
        end local 3 // java.lang.String foundName
        end local 2 // int findNameID
        end local 1 // short findLocaleID
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lsun/font/TrueTypeFont;
            0   30     1  findLocaleID  S
            0   30     2    findNameID  I
            1   30     3     foundName  Ljava/lang/String;
            2   30     4          name  [B
            3   30     5        buffer  Ljava/nio/ByteBuffer;
            5   29     6       sbuffer  Ljava/nio/ShortBuffer;
            7   29     7    numRecords  S
            8   29     8     stringPtr  I
            9   29     9             i  I
           11   27    10    platformID  S
           15   27    11    encodingID  S
           16   27    12        langID  S
           17   27    13        nameID  S
           18   27    14       nameLen  I
           19   27    15       namePtr  I
    MethodParameters:
              Name  Flags
      findLocaleID  
      findNameID    

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

  protected synchronized sun.font.FontScaler getScaler();
    descriptor: ()Lsun/font/FontScaler;
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1197
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
            ifnonnull 4
         1: .line 1198
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fontIndex:I
         2: .line 1199
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.supportsCJK:Z
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
         3: .line 1198
            invokestatic sun.font.FontManager.getScaler:(Lsun/font/Font2D;IZI)Lsun/font/FontScaler;
            putfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
         4: .line 1201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
            areturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/font/TrueTypeFont;

  public java.lang.String getPostscriptName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1209
            aload 0 /* this */
            sipush 1033
            bipush 6
            invokevirtual sun.font.TrueTypeFont.lookupName:(SI)Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 1210
            aload 1 /* name */
            ifnonnull 3
         2: .line 1211
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            areturn
         3: .line 1213
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/font/TrueTypeFont;
            1    4     1  name  Ljava/lang/String;

  public java.lang.String getFontName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.util.Locale locale
         0: .line 1218
            aload 1 /* locale */
            ifnonnull 2
         1: .line 1219
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            areturn
         2: .line 1221
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            invokestatic sun.font.FontManager.getLCIDFromLocale:(Ljava/util/Locale;)S
            istore 2 /* localeID */
        start local 2 // short localeID
         3: .line 1222
            aload 0 /* this */
            iload 2 /* localeID */
            iconst_4
            invokevirtual sun.font.TrueTypeFont.lookupName:(SI)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 1223
            aload 3 /* name */
            ifnonnull 6
         5: .line 1224
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            areturn
         6: .line 1226
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 3 /* name */
            areturn
        end local 3 // java.lang.String name
        end local 2 // short localeID
        end local 1 // java.util.Locale locale
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/font/TrueTypeFont;
            0    7     1    locale  Ljava/util/Locale;
            3    7     2  localeID  S
            4    7     3      name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      locale  

  public java.lang.String getFamilyName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.util.Locale locale
         0: .line 1232
            aload 1 /* locale */
            ifnonnull 2
         1: .line 1233
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            areturn
         2: .line 1235
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            invokestatic sun.font.FontManager.getLCIDFromLocale:(Ljava/util/Locale;)S
            istore 2 /* localeID */
        start local 2 // short localeID
         3: .line 1236
            aload 0 /* this */
            iload 2 /* localeID */
            iconst_1
            invokevirtual sun.font.TrueTypeFont.lookupName:(SI)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 1237
            aload 3 /* name */
            ifnonnull 6
         5: .line 1238
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            areturn
         6: .line 1240
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 3 /* name */
            areturn
        end local 3 // java.lang.String name
        end local 2 // short localeID
        end local 1 // java.util.Locale locale
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/font/TrueTypeFont;
            0    7     1    locale  Ljava/util/Locale;
            3    7     2  localeID  S
            4    7     3      name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      locale  

  public sun.font.CharToGlyphMapper getMapper();
    descriptor: ()Lsun/font/CharToGlyphMapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1246
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
            ifnonnull 2
         1: .line 1247
            aload 0 /* this */
            new sun.font.TrueTypeGlyphMapper
            dup
            aload 0 /* this */
            invokespecial sun.font.TrueTypeGlyphMapper.<init>:(Lsun/font/TrueTypeFont;)V
            putfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
         2: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
            areturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/TrueTypeFont;

  protected void initAllNames(int, java.util.HashSet);
    descriptor: (ILjava/util/HashSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int requestedID
        start local 2 // java.util.HashSet names
         0: .line 1258
            sipush 256
            newarray 8
            astore 3 /* name */
        start local 3 // byte[] name
         1: .line 1259
            aload 0 /* this */
            ldc 1851878757
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 4 /* buffer */
        start local 4 // java.nio.ByteBuffer buffer
         2: .line 1261
            aload 4 /* buffer */
            ifnull 24
         3: .line 1262
            aload 4 /* buffer */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 5 /* sbuffer */
        start local 5 // java.nio.ShortBuffer sbuffer
         4: .line 1263
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
         5: .line 1264
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 6 /* numRecords */
        start local 6 // short numRecords
         6: .line 1271
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 7 /* stringPtr */
        start local 7 // int stringPtr
         7: .line 1272
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 23
         9: .line 1273
      StackMap locals: sun.font.TrueTypeFont int java.util.HashSet byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
      StackMap stack:
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 9 /* platformID */
        start local 9 // short platformID
        10: .line 1274
            iload 9 /* platformID */
            iconst_3
            if_icmpeq 13
        11: .line 1275
            aload 5 /* sbuffer */
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.position:()I
            iconst_5
            iadd
            invokevirtual java.nio.ShortBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 1276
            goto 22
        13: .line 1278
      StackMap locals: int
      StackMap stack:
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 10 /* encodingID */
        start local 10 // short encodingID
        14: .line 1279
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
        15: .line 1280
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 11 /* nameID */
        start local 11 // short nameID
        16: .line 1281
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 12 /* nameLen */
        start local 12 // int nameLen
        17: .line 1282
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            iload 7 /* stringPtr */
            iadd
            istore 13 /* namePtr */
        start local 13 // int namePtr
        18: .line 1284
            iload 11 /* nameID */
            iload 1 /* requestedID */
            if_icmpne 22
        19: .line 1285
            aload 4 /* buffer */
            iload 13 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 1286
            aload 4 /* buffer */
            aload 3 /* name */
            iconst_0
            iload 12 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        21: .line 1287
            aload 2 /* names */
            aload 0 /* this */
            aload 3 /* name */
            iload 12 /* nameLen */
            iload 10 /* encodingID */
            invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // int namePtr
        end local 12 // int nameLen
        end local 11 // short nameID
        end local 10 // short encodingID
        end local 9 // short platformID
        22: .line 1272
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            iload 6 /* numRecords */
            if_icmplt 9
        end local 8 // int i
        end local 7 // int stringPtr
        end local 6 // short numRecords
        end local 5 // java.nio.ShortBuffer sbuffer
        24: .line 1291
      StackMap locals: sun.font.TrueTypeFont int java.util.HashSet byte[] java.nio.ByteBuffer
      StackMap stack:
            return
        end local 4 // java.nio.ByteBuffer buffer
        end local 3 // byte[] name
        end local 2 // java.util.HashSet names
        end local 1 // int requestedID
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Lsun/font/TrueTypeFont;
            0   25     1  requestedID  I
            0   25     2        names  Ljava/util/HashSet;
            1   25     3         name  [B
            2   25     4       buffer  Ljava/nio/ByteBuffer;
            4   24     5      sbuffer  Ljava/nio/ShortBuffer;
            6   24     6   numRecords  S
            7   24     7    stringPtr  I
            8   24     8            i  I
           10   22     9   platformID  S
           14   22    10   encodingID  S
           16   22    11       nameID  S
           17   22    12      nameLen  I
           18   22    13      namePtr  I
    MethodParameters:
             Name  Flags
      requestedID  
      names        

  java.lang.String[] getAllFamilyNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1294
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* aSet */
        start local 1 // java.util.HashSet aSet
         1: .line 1296
            aload 0 /* this */
            iconst_1
            aload 1 /* aSet */
            invokevirtual sun.font.TrueTypeFont.initAllNames:(ILjava/util/HashSet;)V
         2: .line 1297
            goto 4
      StackMap locals: sun.font.TrueTypeFont java.util.HashSet
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 1300
      StackMap locals:
      StackMap stack:
            aload 1 /* aSet */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.HashSet aSet
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/font/TrueTypeFont;
            1    5     1  aSet  Ljava/util/HashSet;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception

  java.lang.String[] getAllFullNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1304
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* aSet */
        start local 1 // java.util.HashSet aSet
         1: .line 1306
            aload 0 /* this */
            iconst_4
            aload 1 /* aSet */
            invokevirtual sun.font.TrueTypeFont.initAllNames:(ILjava/util/HashSet;)V
         2: .line 1307
            goto 4
      StackMap locals: sun.font.TrueTypeFont java.util.HashSet
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 1310
      StackMap locals:
      StackMap stack:
            aload 1 /* aSet */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.HashSet aSet
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/font/TrueTypeFont;
            1    5     1  aSet  Ljava/util/HashSet;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception

  java.awt.geom.Point2D$Float getGlyphPoint(long, int, int);
    descriptor: (JII)Ljava/awt/geom/Point2D$Float;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // long pScalerContext
        start local 3 // int glyphCode
        start local 4 // int ptNumber
         0: .line 1318
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
         1: .line 1319
            iload 3 /* glyphCode */
            iload 4 /* ptNumber */
         2: .line 1318
            invokevirtual sun.font.FontScaler.getGlyphPoint:(JII)Ljava/awt/geom/Point2D$Float;
         3: areturn
         4: .line 1320
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         5: .line 1321
            aconst_null
            areturn
        end local 4 // int ptNumber
        end local 3 // int glyphCode
        end local 1 // long pScalerContext
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lsun/font/TrueTypeFont;
            0    6     1  pScalerContext  J
            0    6     3       glyphCode  I
            0    6     4        ptNumber  I
      Exception table:
        from    to  target  type
           0     3       4  Class sun.font.FontScalerException
    MethodParameters:
                Name  Flags
      pScalerContext  
      glyphCode       
      ptNumber        

  private char[] getGaspTable();
    descriptor: ()[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1329
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            ifnull 2
         1: .line 1330
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
         2: .line 1333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1734439792
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        start local 1 // java.nio.ByteBuffer buffer
         3: .line 1334
            aload 1 /* buffer */
            ifnonnull 5
         4: .line 1335
            aload 0 /* this */
            iconst_0
            newarray 5
            dup_x1
            putfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
         5: .line 1338
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.asCharBuffer:()Ljava/nio/CharBuffer;
            astore 2 /* cbuffer */
        start local 2 // java.nio.CharBuffer cbuffer
         6: .line 1339
            aload 2 /* cbuffer */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 3 /* format */
        start local 3 // char format
         7: .line 1344
            iload 3 /* format */
            iconst_1
            if_icmple 9
         8: .line 1345
            aload 0 /* this */
            iconst_0
            newarray 5
            dup_x1
            putfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
         9: .line 1348
      StackMap locals: java.nio.CharBuffer int
      StackMap stack:
            aload 2 /* cbuffer */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 4 /* numRanges */
        start local 4 // char numRanges
        10: .line 1349
            iconst_4
            iload 4 /* numRanges */
            iconst_4
            imul
            iadd
            aload 0 /* this */
            ldc 1734439792
            invokevirtual sun.font.TrueTypeFont.getTableSize:(I)I
            if_icmple 12
        11: .line 1350
            aload 0 /* this */
            iconst_0
            newarray 5
            dup_x1
            putfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
        12: .line 1352
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_2
            iload 4 /* numRanges */
            imul
            newarray 5
            putfield sun.font.TrueTypeFont.gaspTable:[C
        13: .line 1353
            aload 2 /* cbuffer */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            invokevirtual java.nio.CharBuffer.get:([C)Ljava/nio/CharBuffer;
            pop
        14: .line 1354
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
        end local 4 // char numRanges
        end local 3 // char format
        end local 2 // java.nio.CharBuffer cbuffer
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lsun/font/TrueTypeFont;
            3   15     1     buffer  Ljava/nio/ByteBuffer;
            6   15     2    cbuffer  Ljava/nio/CharBuffer;
            7   15     3     format  C
           10   15     4  numRanges  C

  public boolean useAAForPtSize(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int ptsize
         0: .line 1378
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getGaspTable:()[C
            astore 2 /* gasp */
        start local 2 // char[] gasp
         1: .line 1379
            aload 2 /* gasp */
            arraylength
            ifle 10
         2: .line 1380
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 1381
      StackMap locals: char[] int
      StackMap stack:
            iload 1 /* ptsize */
            aload 2 /* gasp */
            iload 3 /* i */
            caload
            if_icmpgt 7
         5: .line 1382
            aload 2 /* gasp */
            iload 3 /* i */
            iconst_1
            iadd
            caload
            iconst_2
            iand
            ifeq 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 1380
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* gasp */
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 1385
            iconst_1
            ireturn
        10: .line 1388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.style:I
            iconst_1
            if_icmpne 12
        11: .line 1389
            iconst_1
            ireturn
        12: .line 1391
      StackMap locals:
      StackMap stack:
            iload 1 /* ptsize */
            bipush 8
            if_icmple 13
            iload 1 /* ptsize */
            bipush 18
            if_icmpge 13
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_1
            ireturn
        end local 2 // char[] gasp
        end local 1 // int ptsize
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/font/TrueTypeFont;
            0   14     1  ptsize  I
            1   14     2    gasp  [C
            3    9     3       i  I
    MethodParameters:
        Name  Flags
      ptsize  

  public boolean hasSupplementaryChars();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1396
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getMapper:()Lsun/font/CharToGlyphMapper;
            checkcast sun.font.TrueTypeGlyphMapper
            invokevirtual sun.font.TrueTypeGlyphMapper.hasSupplementaryChars:()Z
            ireturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/TrueTypeFont;

  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.TrueTypeFont this
         0: .line 1400
            new java.lang.StringBuilder
            dup
            ldc "** TrueType Font: Family="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " Name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1401
            ldc " style="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.style:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " fileName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getPublicFileName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1400
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/TrueTypeFont;
}
SourceFile: "TrueTypeFont.java"
NestMembers:
  sun.font.TrueTypeFont$1  sun.font.TrueTypeFont$DirectoryEntry  sun.font.TrueTypeFont$TTDisposerRecord
InnerClasses:
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  sun.font.TrueTypeFont$1
  DirectoryEntry = sun.font.TrueTypeFont$DirectoryEntry of sun.font.TrueTypeFont
  private TTDisposerRecord = sun.font.TrueTypeFont$TTDisposerRecord of sun.font.TrueTypeFont