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 morxTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1836020344

  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

  private static final short US_LCID;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1033

  private static java.util.Map<java.lang.String, java.lang.Short> lcidMap;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Short;>;

  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 java.util.Locale nameLocale;
    descriptor: Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  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 int fontWidth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  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 620
            bipush 32
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 621
            ldc "cp1252"
            aastore
            dup
            iconst_1
         2: .line 622
            ldc "cp1250"
            aastore
            dup
            iconst_2
         3: .line 623
            ldc "cp1251"
            aastore
            dup
            iconst_3
         4: .line 624
            ldc "cp1253"
            aastore
            dup
            iconst_4
         5: .line 625
            ldc "cp1254"
            aastore
            dup
            iconst_5
         6: .line 626
            ldc "cp1255"
            aastore
            dup
            bipush 6
         7: .line 627
            ldc "cp1256"
            aastore
            dup
            bipush 7
         8: .line 628
            ldc "cp1257"
            aastore
            dup
            bipush 8
         9: .line 629
            ldc ""
            aastore
            dup
            bipush 9
        10: .line 630
            ldc ""
            aastore
            dup
            bipush 10
        11: .line 631
            ldc ""
            aastore
            dup
            bipush 11
        12: .line 632
            ldc ""
            aastore
            dup
            bipush 12
        13: .line 633
            ldc ""
            aastore
            dup
            bipush 13
        14: .line 634
            ldc ""
            aastore
            dup
            bipush 14
        15: .line 635
            ldc ""
            aastore
            dup
            bipush 15
        16: .line 636
            ldc ""
            aastore
            dup
            bipush 16
        17: .line 637
            ldc "ms874"
            aastore
            dup
            bipush 17
        18: .line 638
            ldc "ms932"
            aastore
            dup
            bipush 18
        19: .line 639
            ldc "gbk"
            aastore
            dup
            bipush 19
        20: .line 640
            ldc "ms949"
            aastore
            dup
            bipush 20
        21: .line 641
            ldc "ms950"
            aastore
            dup
            bipush 21
        22: .line 642
            ldc "ms1361"
            aastore
            dup
            bipush 22
        23: .line 643
            ldc ""
            aastore
            dup
            bipush 23
        24: .line 644
            ldc ""
            aastore
            dup
            bipush 24
        25: .line 645
            ldc ""
            aastore
            dup
            bipush 25
        26: .line 646
            ldc ""
            aastore
            dup
            bipush 26
        27: .line 647
            ldc ""
            aastore
            dup
            bipush 27
        28: .line 648
            ldc ""
            aastore
            dup
            bipush 28
        29: .line 649
            ldc ""
            aastore
            dup
            bipush 29
        30: .line 650
            ldc ""
            aastore
            dup
            bipush 30
        31: .line 651
            ldc ""
            aastore
            dup
            bipush 31
        32: .line 652
            ldc ""
            aastore
        33: .line 620
            putstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
        34: .line 668
            bipush 14
            anewarray java.lang.String[]
            dup
            iconst_0
        35: .line 671
            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 672
            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 675
            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 676
            ldc "sl"
            aastore
            dup
            bipush 10
            ldc "sq"
            aastore
            dup
            bipush 11
            ldc "sr"
            aastore
            aastore
            dup
            iconst_2
        39: .line 679
            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 682
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "el"
            aastore
            aastore
            dup
            iconst_4
        41: .line 685
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "tr"
            aastore
            aastore
            dup
            iconst_5
        42: .line 688
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "he"
            aastore
            aastore
            dup
            bipush 6
        43: .line 691
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ar"
            aastore
            aastore
            dup
            bipush 7
        44: .line 694
            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 697
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "th"
            aastore
            aastore
            dup
            bipush 9
        46: .line 700
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ja"
            aastore
            aastore
            dup
            bipush 10
        47: .line 703
            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 706
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ko"
            aastore
            aastore
            dup
            bipush 12
        49: .line 709
            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 712
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ko"
            aastore
            aastore
        51: .line 668
            putstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
        52: .line 715
            bipush 14
            anewarray java.lang.String
            dup
            iconst_0
        53: .line 716
            ldc "cp1252"
            aastore
            dup
            iconst_1
        54: .line 717
            ldc "cp1250"
            aastore
            dup
            iconst_2
        55: .line 718
            ldc "cp1251"
            aastore
            dup
            iconst_3
        56: .line 719
            ldc "cp1253"
            aastore
            dup
            iconst_4
        57: .line 720
            ldc "cp1254"
            aastore
            dup
            iconst_5
        58: .line 721
            ldc "cp1255"
            aastore
            dup
            bipush 6
        59: .line 722
            ldc "cp1256"
            aastore
            dup
            bipush 7
        60: .line 723
            ldc "cp1257"
            aastore
            dup
            bipush 8
        61: .line 724
            ldc "ms874"
            aastore
            dup
            bipush 9
        62: .line 725
            ldc "ms932"
            aastore
            dup
            bipush 10
        63: .line 726
            ldc "gbk"
            aastore
            dup
            bipush 11
        64: .line 727
            ldc "ms949"
            aastore
            dup
            bipush 12
        65: .line 728
            ldc "ms950"
            aastore
            dup
            bipush 13
        66: .line 729
            ldc "ms1361"
            aastore
        67: .line 715
            putstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
        68: .line 732
            aconst_null
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
        69: .line 1016
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, 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 188
            aload 0 /* this */
            aload 1 /* platname */
            aload 2 /* nativeNames */
            iload 3 /* fIndex */
            iload 4 /* javaRasterizer */
            iconst_1
            invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZZ)V
         1: .line 189
            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    2     0            this  Lsun/font/TrueTypeFont;
            0    2     1        platname  Ljava/lang/String;
            0    2     2     nativeNames  Ljava/lang/Object;
            0    2     3          fIndex  I
            0    2     4  javaRasterizer  Z
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
                Name  Flags
      platname        
      nativeNames     
      fIndex          
      javaRasterizer  

  public void <init>(java.lang.String, java.lang.Object, int, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;IZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=6
        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
        start local 5 // boolean useFilePool
         0: .line 203
            aload 0 /* this */
            aload 1 /* platname */
            aload 2 /* nativeNames */
            invokespecial sun.font.FileFont.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 140
            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 143
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.fontIndex:I
         3: .line 146
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.directoryCount:I
         4: .line 991
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.fontWidth:I
         5: .line 997
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.fontWeight:I
         6: .line 204
            aload 0 /* this */
            iload 4 /* javaRasterizer */
            putfield sun.font.TrueTypeFont.useJavaRasterizer:Z
         7: .line 205
            aload 0 /* this */
            iconst_3
            putfield sun.font.TrueTypeFont.fontRank:I
         8: .line 207
            aload 0 /* this */
            iload 5 /* useFilePool */
            invokevirtual sun.font.TrueTypeFont.verify:(Z)V
         9: .line 208
            aload 0 /* this */
            iload 3 /* fIndex */
            invokevirtual sun.font.TrueTypeFont.init:(I)V
        10: .line 209
            iload 5 /* useFilePool */
            ifne 18
        11: .line 210
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        12: .line 212
            goto 18
      StackMap locals: sun.font.TrueTypeFont java.lang.String java.lang.Object int int int
      StackMap stack: java.lang.Throwable
        13: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        14: .line 213
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        15: .line 214
            aload 6 /* t */
            instanceof java.awt.FontFormatException
            ifeq 17
        16: .line 215
            aload 6 /* t */
            checkcast java.awt.FontFormatException
            athrow
        17: .line 217
      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 6 // java.lang.Throwable t
        18: .line 220
      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
        19: .line 221
            return
        end local 5 // boolean useFilePool
        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   20     0            this  Lsun/font/TrueTypeFont;
            0   20     1        platname  Ljava/lang/String;
            0   20     2     nativeNames  Ljava/lang/Object;
            0   20     3          fIndex  I
            0   20     4  javaRasterizer  Z
            0   20     5     useFilePool  Z
           14   18     6               t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           8    12      13  Class java.lang.Throwable
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
                Name  Flags
      platname        
      nativeNames     
      fIndex          
      javaRasterizer  
      useFilePool     

  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 236
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.checkedNatives:Z
            ifeq 2
         1: .line 237
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useNatives:Z
            ireturn
         2: .line 239
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isSolaris:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useJavaRasterizer:Z
            ifne 6
         3: .line 240
            getstatic sun.font.FontUtilities.useT2K:Z
            ifne 6
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            ifnull 6
         4: .line 241
            aload 0 /* this */
            ldc 1161972803
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 6
         5: .line 242
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 8
         6: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
         7: .line 244
            iconst_0
            ireturn
         8: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
            instanceof java.lang.String
            ifeq 21
         9: .line 246
            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 248
            aload 1 /* name */
            ldc "8859"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 13
        11: .line 249
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        12: .line 250
            iconst_0
            ireturn
        13: .line 251
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            invokestatic sun.font.NativeFont.hasExternalBitmaps:(Ljava/lang/String;)Z
            ifeq 48
        14: .line 252
            aload 0 /* this */
            iconst_1
            anewarray sun.font.NativeFont
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        15: .line 254
            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 258
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.useNatives:Z
        17: .line 259
            goto 48
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
        18: pop
        19: .line 260
            aload 0 /* this */
            aconst_null
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        end local 1 // java.lang.String name
        20: .line 263
            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 264
            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 265
            aload 1 /* natNames */
            arraylength
            istore 2 /* numNames */
        start local 2 // int numNames
        24: .line 266
            iconst_0
            istore 3 /* externalBitmaps */
        start local 3 // boolean externalBitmaps
        25: .line 267
            iconst_0
            istore 4 /* nn */
        start local 4 // int nn
        26: goto 33
        27: .line 268
      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 269
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        29: .line 270
            iconst_0
            ireturn
        30: .line 271
      StackMap locals:
      StackMap stack:
            aload 1 /* natNames */
            iload 4 /* nn */
            aaload
            invokestatic sun.font.NativeFont.hasExternalBitmaps:(Ljava/lang/String;)Z
            ifeq 32
        31: .line 272
            iconst_1
            istore 3 /* externalBitmaps */
        32: .line 267
      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 275
            iload 3 /* externalBitmaps */
            ifne 37
        35: .line 276
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        36: .line 277
            iconst_0
            ireturn
        37: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.useNatives:Z
        38: .line 280
            aload 0 /* this */
            iload 2 /* numNames */
            anewarray sun.font.NativeFont
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        39: .line 281
            iconst_0
            istore 4 /* nn */
        start local 4 // int nn
        40: goto 47
        41: .line 283
      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 284
            goto 46
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
        43: pop
        44: .line 285
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.useNatives:Z
        45: .line 286
            aload 0 /* this */
            aconst_null
            putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
        46: .line 281
      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 290
      StackMap locals: sun.font.TrueTypeFont
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.useNatives:Z
            ifeq 50
        49: .line 291
            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 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.checkedNatives:Z
        51: .line 294
            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=2, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 299
            aload 0 /* this */
            iconst_1
            invokevirtual sun.font.TrueTypeFont.open:(Z)Ljava/nio/channels/FileChannel;
            areturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/font/TrueTypeFont;
    Exceptions:
      throws java.awt.FontFormatException

  private synchronized java.nio.channels.FileChannel open(boolean);
    descriptor: (Z)Ljava/nio/channels/FileChannel;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // boolean usePool
         0: .line 311
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
            ifnonnull 23
         1: .line 312
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 3
         2: .line 313
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            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 sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         3: .line 318
      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 317
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.RandomAccessFile
         5: .line 316
            astore 2 /* raf */
        start local 2 // java.io.RandomAccessFile raf
         6: .line 327
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            aload 2 /* raf */
            invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
            putfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
         7: .line 328
            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 329
            iload 1 /* usePool */
            ifeq 23
         9: .line 330
            invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
            astore 3 /* fm */
        start local 3 // sun.font.FontManager fm
        10: .line 331
            aload 3 /* fm */
            instanceof sun.font.SunFontManager
            ifeq 23
        11: .line 332
            aload 3 /* fm */
            checkcast sun.font.SunFontManager
            aload 0 /* this */
            invokevirtual sun.font.SunFontManager.addToPool:(Lsun/font/FileFont;)V
        end local 3 // sun.font.FontManager fm
        end local 2 // java.io.RandomAccessFile raf
        12: .line 335
            goto 23
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
        13: astore 2 /* e */
        start local 2 // java.lang.NullPointerException e
        14: .line 336
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        15: .line 337
            new java.awt.FontFormatException
            dup
            aload 2 /* e */
            invokevirtual java.lang.NullPointerException.toString:()Ljava/lang/String;
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.NullPointerException e
        16: .line 338
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
            pop
        17: .line 344
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        18: .line 345
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        19: .line 346
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
            goto 23
        20: .line 347
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        21: .line 348
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        22: .line 349
            new java.awt.FontFormatException
            dup
            aload 2 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException e
        23: .line 352
      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 1 // boolean usePool
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lsun/font/TrueTypeFont;
            0   24     1  usePool  Z
            6   12     2      raf  Ljava/io/RandomAccessFile;
           10   12     3       fm  Lsun/font/FontManager;
           14   16     2        e  Ljava/lang/NullPointerException;
           21   23     2        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    12      13  Class java.lang.NullPointerException
           3    12      16  Class java.nio.channels.ClosedChannelException
           3    12      20  Class java.io.IOException
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
         Name  Flags
      usePool  

  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 356
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
            invokevirtual sun.font.TrueTypeFont$TTDisposerRecord.dispose:()V
         1: .line 357
            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=4, 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 361
            iconst_0
            istore 4 /* bread */
        start local 4 // int bread
         1: .line 363
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         2: .line 364
            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 365
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
         4: .line 367
      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 368
            iload 2 /* offset */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmplt 14
         6: .line 378
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 12
         7: .line 379
            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 380
            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 381
            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 379
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        11: .line 382
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            aload 6 /* msg */
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
        end local 6 // java.lang.String msg
        12: .line 384
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        13: iconst_m1
            ireturn
        14: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            iload 2 /* offset */
            isub
            istore 3 /* length */
        15: .line 389
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        16: .line 390
            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 391
            goto 39
        18: .line 392
      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 393
            iload 6 /* cnt */
            iconst_m1
            if_icmpne 38
        20: .line 394
            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 395
            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 396
            iload 8 /* currSize */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmpeq 26
        23: .line 397
            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 398
            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 397
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        26: .line 400
      StackMap locals: int java.lang.String int
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 28
        27: .line 401
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            aload 7 /* msg */
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
        28: .line 413
      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 414
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        30: .line 415
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 37
        31: .line 416
            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 417
            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 416
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        34: .line 418
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            aload 7 /* msg */
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
        35: .line 420
            goto 37
        36: .line 421
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* bread */
        37: .line 423
      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 425
      StackMap locals:
      StackMap stack:
            iload 4 /* bread */
            iload 6 /* cnt */
            iadd
            istore 4 /* bread */
        end local 6 // int cnt
        39: .line 391
      StackMap locals:
      StackMap stack:
            iload 4 /* bread */
            iload 3 /* length */
            if_icmplt 18
        40: .line 427
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        41: .line 428
            iload 4 /* bread */
            iload 3 /* length */
            if_icmple 43
        42: .line 429
            iload 3 /* length */
            istore 4 /* bread */
        43: .line 363
      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 432
      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 433
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 52
        49: .line 434
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        50: .line 435
            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 434
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;Ljava/lang/Throwable;)V
        52: .line 437
      StackMap locals: java.awt.FontFormatException
      StackMap stack:
            iconst_m1
            istore 4 /* bread */
        53: .line 438
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.deregisterFontAndClearStrikeCache:()V
        end local 5 // java.awt.FontFormatException e
        54: goto 67
        55: .line 439
      StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int
      StackMap stack: java.nio.channels.ClosedChannelException
            pop
        56: .line 443
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        57: .line 444
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        58: .line 445
            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 446
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        60: .line 454
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 64
        61: .line 455
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        62: .line 456
            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 455
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;Ljava/lang/Throwable;)V
        64: .line 458
      StackMap locals: java.io.IOException
      StackMap stack:
            iload 4 /* bread */
            ifne 67
        65: .line 459
            iconst_m1
            istore 4 /* bread */
        66: .line 460
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.deregisterFontAndClearStrikeCache:()V
        end local 5 // java.io.IOException e
        67: .line 463
      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 468
            iload 2 /* length */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
        start local 3 // java.nio.ByteBuffer buffer
         1: .line 470
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         2: .line 471
            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 472
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
         4: .line 474
      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 475
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            if_icmple 8
         6: .line 476
            aload 4
            monitorexit
         7: aconst_null
            areturn
         8: .line 478
      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 481
      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 482
            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 483
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        12: .line 470
            aload 4
            monitorexit
        13: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 4
            monitorexit
        15: athrow
        16: .line 485
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer
      StackMap stack: java.awt.FontFormatException
            pop
        17: .line 486
            aconst_null
            areturn
        18: .line 487
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
            pop
        19: .line 491
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        20: .line 492
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        21: .line 493
            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 494
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        23: .line 495
            aconst_null
            areturn
        24: .line 497
      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 507
            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 508
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 3
         2: .line 509
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
         3: .line 511
      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 512
            aload 3 /* buffer */
            aload 4 /* bufferBytes */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         5: .line 513
            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(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // boolean usePool
         0: .line 518
            aload 0 /* this */
            iload 1 /* usePool */
            invokevirtual sun.font.TrueTypeFont.open:(Z)Ljava/nio/channels/FileChannel;
            pop
         1: .line 519
            return
        end local 1 // boolean usePool
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/font/TrueTypeFont;
            0    2     1  usePool  Z
    Exceptions:
      throws java.awt.FontFormatException
    MethodParameters:
         Name  Flags
      usePool  

  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 527
            iconst_0
            istore 2 /* headerOffset */
        start local 2 // int headerOffset
         1: .line 528
            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 530
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            lookupswitch { // 4
                65536: 12
           1330926671: 12
           1953658213: 12
           1953784678: 3
              default: 14
          }
         3: .line 533
      StackMap locals: int java.nio.ByteBuffer
      StackMap stack:
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            pop
         4: .line 534
            aload 0 /* this */
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            putfield sun.font.TrueTypeFont.directoryCount:I
         5: .line 535
            iload 1 /* fIndex */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.directoryCount:I
            if_icmplt 7
         6: .line 536
            new java.awt.FontFormatException
            dup
            ldc "Bad collection index"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fIndex */
            putfield sun.font.TrueTypeFont.fontIndex:I
         8: .line 539
            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 540
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 2 /* headerOffset */
        10: .line 541
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            iload 2 /* headerOffset */
            isub
            invokestatic java.lang.Math.max:(II)I
            putfield sun.font.TrueTypeFont.fontDataSize:I
        11: .line 542
            goto 17
        12: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
            putfield sun.font.TrueTypeFont.fontDataSize:I
        13: .line 548
            goto 17
        14: .line 551
      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
        15: .line 552
            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;
        16: .line 551
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 561
      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 */
        18: .line 562
            aload 0 /* this */
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            putfield sun.font.TrueTypeFont.numTables:I
        19: .line 563
            aload 0 /* this */
            iload 2 /* headerOffset */
            bipush 12
            iadd
            putfield sun.font.TrueTypeFont.directoryOffset:I
        20: .line 564
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.directoryOffset:I
        21: .line 565
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            bipush 16
            imul
        22: .line 564
            invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
            astore 4 /* bbuffer */
        start local 4 // java.nio.ByteBuffer bbuffer
        23: .line 566
            aload 4 /* bbuffer */
            invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
            astore 5 /* ibuffer */
        start local 5 // java.nio.IntBuffer ibuffer
        24: .line 568
            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;
        25: .line 569
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        26: goto 36
        27: .line 570
      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
            invokespecial sun.font.TrueTypeFont$DirectoryEntry.<init>:()V
            dup
            astore 6 /* table */
        start local 6 // sun.font.TrueTypeFont$DirectoryEntry table
        28: aastore
        29: .line 571
            aload 6 /* table */
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            putfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
        30: .line 572
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            pop
        31: .line 573
            aload 6 /* table */
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            ldc 2147483647
            iand
            putfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
        32: .line 574
            aload 6 /* table */
            aload 5 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            ldc 2147483647
            iand
            putfield sun.font.TrueTypeFont$DirectoryEntry.length:I
        33: .line 575
            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 35
        34: .line 576
            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
        35: .line 569
      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:
        36: iload 7 /* i */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.numTables:I
            if_icmplt 27
        end local 7 // int i
        37: .line 580
            aload 0 /* this */
            ldc 1751474532
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 39
        38: .line 581
            new java.awt.FontFormatException
            dup
            ldc "missing head table"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 583
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer
      StackMap stack:
            aload 0 /* this */
            ldc 1835104368
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 41
        40: .line 584
            new java.awt.FontFormatException
            dup
            ldc "missing maxp table"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1752003704
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnull 44
        42: .line 587
            aload 0 /* this */
            ldc 1751672161
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 44
        43: .line 588
            new java.awt.FontFormatException
            dup
            ldc "missing hhea table"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.initNames:()V
        end local 5 // java.nio.IntBuffer ibuffer
        end local 4 // java.nio.ByteBuffer bbuffer
        45: .line 591
            goto 52
      StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer
      StackMap stack: java.lang.Exception
        46: astore 4 /* e */
        start local 4 // java.lang.Exception e
        47: .line 592
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 49
        48: .line 593
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
        49: .line 595
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            instanceof java.awt.FontFormatException
            ifeq 51
        50: .line 596
            aload 4 /* e */
            checkcast java.awt.FontFormatException
            athrow
        51: .line 598
      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
        52: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            ifnull 53
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            ifnonnull 54
        53: .line 602
      StackMap locals:
      StackMap stack:
            new java.awt.FontFormatException
            dup
            ldc "Font name not found"
            invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 608
      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
        55: .line 609
            aload 0 /* this */
            aload 4 /* os2_Table */
            invokevirtual sun.font.TrueTypeFont.setStyle:(Ljava/nio/ByteBuffer;)V
        56: .line 610
            aload 0 /* this */
            aload 4 /* os2_Table */
            invokevirtual sun.font.TrueTypeFont.setCJKSupport:(Ljava/nio/ByteBuffer;)V
        57: .line 611
            return
        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   58     0          this  Lsun/font/TrueTypeFont;
            0   58     1        fIndex  I
            1   58     2  headerOffset  I
            2   58     3        buffer  Ljava/nio/ByteBuffer;
           23   45     4       bbuffer  Ljava/nio/ByteBuffer;
           24   45     5       ibuffer  Ljava/nio/IntBuffer;
           28   36     6         table  Lsun/font/TrueTypeFont$DirectoryEntry;
           26   37     7             i  I
           47   52     4             e  Ljava/lang/Exception;
           55   58     4     os2_Table  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2    45      46  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 735
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            ifnull 2
         1: .line 736
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            areturn
         2: .line 739
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isWindows:Z
            ifeq 7
         3: .line 742
            new sun.security.action.GetPropertyAction
            dup
            ldc "file.encoding"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 741
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         5: .line 740
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
         6: .line 743
            goto 27
         7: .line 744
      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 745
            new java.lang.InternalError
            dup
            ldc "wrong code pages array length"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 747
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.SunToolkit.getStartupLocale:()Ljava/util/Locale;
            astore 0 /* locale */
        start local 0 // java.util.Locale locale
        10: .line 749
            aload 0 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 1 /* language */
        start local 1 // java.lang.String language
        11: .line 750
            aload 1 /* language */
            ifnull 27
        12: .line 751
            aload 1 /* language */
            ldc "zh"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 752
            aload 0 /* locale */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            astore 2 /* country */
        start local 2 // java.lang.String country
        14: .line 753
            aload 2 /* country */
            ifnull 16
        15: .line 754
            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 757
      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 758
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* l */
        start local 3 // int l
        19: goto 24
        20: .line 759
      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 760
            getstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
        22: .line 761
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            areturn
        23: .line 758
      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 757
            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 767
      StackMap locals:
      StackMap stack:
            getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
            ifnonnull 29
        28: .line 768
            ldc ""
            putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
        29: .line 770
      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 778
            aload 1 /* encoding */
            ifnonnull 2
         1: .line 779
            invokestatic sun.font.TrueTypeFont.getCodePage:()Ljava/lang/String;
            astore 1 /* encoding */
         2: .line 781
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 1 /* encoding */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 782
            iconst_0
            ireturn
         4: .line 785
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* encoding */
         5: .line 794
            aload 1 /* encoding */
            ldc "gb18030"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 795
            ldc "gbk"
            astore 1 /* encoding */
         7: .line 796
            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 797
            ldc "ms950"
            astore 1 /* encoding */
        10: .line 800
      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 802
            aload 2 /* buffer */
            ifnull 12
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 86
            if_icmpge 13
        12: .line 803
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            iconst_0
            ireturn
        13: .line 806
      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 807
            aload 2 /* buffer */
            bipush 82
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            pop
        15: .line 817
            iconst_0
            istore 4 /* em */
        start local 4 // int em
        16: goto 21
        17: .line 818
      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 819
            iconst_1
            iload 4 /* em */
            ishl
            iload 3 /* range1 */
            iand
            ifeq 20
        19: .line 820
            iconst_1
            ireturn
        20: .line 817
      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 824
            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 831
            aload 1 /* os2Table */
            ifnull 1
            aload 1 /* os2Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 50
            if_icmpge 2
         1: .line 832
      StackMap locals:
      StackMap stack:
            return
         2: .line 834
      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 841
            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 850
            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 851
            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 854
            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 858
            aconst_null
            astore 2 /* entry */
        start local 2 // sun.font.TrueTypeFont$DirectoryEntry entry
         1: .line 860
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 861
      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 862
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 3 /* i */
            aaload
            astore 2 /* entry */
         5: .line 863
            goto 8
         6: .line 860
      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 866
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            ifnull 10
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            ifeq 10
         9: .line 867
            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 868
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        11: .line 871
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* bread */
        start local 3 // int bread
        12: .line 872
            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 873
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        14: .line 875
            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 876
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
            pop
        16: .line 878
      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 879
            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 880
            aload 4 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        19: .line 881
            goto 31
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
        20: pop
        21: .line 885
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        22: .line 886
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.close:()V
        23: .line 887
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            aload 5
            monitorexit
        24: areturn
        25: .line 888
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        26: .line 889
            aload 5
            monitorexit
        27: aconst_null
            areturn
        28: .line 890
      StackMap locals:
      StackMap stack: java.awt.FontFormatException
            pop
        29: .line 891
            aload 5
            monitorexit
        30: aconst_null
            areturn
        31: .line 894
      StackMap locals:
      StackMap stack:
            iload 3 /* bread */
            aload 2 /* entry */
            getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
            if_icmpge 34
        32: .line 895
            aload 5
            monitorexit
        33: aconst_null
            areturn
        34: .line 897
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            aload 5
            monitorexit
        35: areturn
        36: .line 873
      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   

  protected long getLayoutTableCache();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 905
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getScaler:()Lsun/font/FontScaler;
            invokevirtual sun.font.FontScaler.getLayoutTableCache:()J
         1: lreturn
         2: .line 906
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         3: .line 907
            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

  protected byte[] getTableBytes(int);
    descriptor: (I)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // int tag
         0: .line 913
            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 914
            aload 2 /* buffer */
            ifnonnull 3
         2: .line 915
            aconst_null
            areturn
         3: .line 916
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 7
         4: .line 918
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
         5: areturn
         6: .line 919
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 922
      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 923
            aload 2 /* buffer */
            aload 3 /* data */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         9: .line 924
            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 928
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 929
      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 930
            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 928
      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 933
            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 937
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 938
      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 939
            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 937
      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 942
            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 946
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 947
      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 948
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
            iload 2 /* i */
            aaload
            areturn
         4: .line 946
      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 951
            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 958
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.supportsCJK:Z
            ifne 2
         1: .line 959
            iconst_0
            ireturn
         2: .line 961
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1161972803
            invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
            ifnonnull 4
         3: .line 962
            iconst_0
            ireturn
         4: .line 964
      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 965
            aload 2 /* eblcTable */
            iconst_4
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 3 /* numSizes */
        start local 3 // int numSizes
         6: .line 970
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 12
         8: .line 971
      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 972
            iload 5 /* ppemY */
            iload 1 /* ptSize */
            if_icmpne 11
        10: .line 973
            iconst_1
            ireturn
        end local 5 // int ppemY
        11: .line 970
      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 976
            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 980
            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 988
            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 989
            return
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/font/TrueTypeFont;

  public int getWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 994
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fontWidth:I
            ifle 1
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fontWidth:I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokespecial sun.font.FileFont.getWidth:()I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/TrueTypeFont;

  public int getWeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1000
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fontWeight:I
            ifle 1
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fontWeight:I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokespecial sun.font.FileFont.getWeight:()I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.font.TrueTypeFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/font/TrueTypeFont;

  private void setStyle(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.font.TrueTypeFont this
        start local 1 // java.nio.ByteBuffer os_2Table
         0: .line 1018
            aload 1 /* os_2Table */
            ifnonnull 2
         1: .line 1019
            return
         2: .line 1021
      StackMap locals:
      StackMap stack:
            aload 1 /* os_2Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 8
            if_icmplt 5
         3: .line 1022
            aload 0 /* this */
            aload 1 /* os_2Table */
            iconst_4
            invokevirtual java.nio.ByteBuffer.getChar:(I)C
            ldc 65535
            iand
            putfield sun.font.TrueTypeFont.fontWeight:I
         4: .line 1023
            aload 0 /* this */
            aload 1 /* os_2Table */
            bipush 6
            invokevirtual java.nio.ByteBuffer.getChar:(I)C
            ldc 65535
            iand
            putfield sun.font.TrueTypeFont.fontWidth:I
         5: .line 1026
      StackMap locals:
      StackMap stack:
            aload 1 /* os_2Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 64
            if_icmpge 8
         6: .line 1027
            aload 0 /* this */
            invokespecial sun.font.FileFont.setStyle:()V
         7: .line 1028
            return
         8: .line 1030
      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
         9: .line 1031
            iload 2 /* fsSelection */
            iconst_1
            iand
            istore 3 /* italic */
        start local 3 // int italic
        10: .line 1032
            iload 2 /* fsSelection */
            bipush 32
            iand
            istore 4 /* bold */
        start local 4 // int bold
        11: .line 1033
            iload 2 /* fsSelection */
            bipush 64
            iand
            istore 5 /* regular */
        start local 5 // int regular
        12: .line 1037
            iload 5 /* regular */
            ifeq 15
            iload 3 /* italic */
            iload 4 /* bold */
            ior
            ifeq 15
        13: .line 1039
            aload 0 /* this */
            invokespecial sun.font.FileFont.setStyle:()V
        14: .line 1040
            return
        15: .line 1041
      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 18
        16: .line 1043
            aload 0 /* this */
            invokespecial sun.font.FileFont.setStyle:()V
        17: .line 1044
            return
        18: .line 1046
      StackMap locals:
      StackMap stack:
            iload 4 /* bold */
            iload 3 /* italic */
            ior
            lookupswitch { // 3
                    1: 19
                   32: 21
                   33: 26
              default: 27
          }
        19: .line 1048
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield sun.font.TrueTypeFont.style:I
        20: .line 1049
            goto 27
        21: .line 1051
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isSolaris:Z
            ifeq 24
            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 24
        22: .line 1055
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeFont.style:I
        23: .line 1056
            goto 27
        24: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeFont.style:I
        25: .line 1059
            goto 27
        26: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield sun.font.TrueTypeFont.style:I
        27: .line 1063
      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   28     0         this  Lsun/font/TrueTypeFont;
            0   28     1    os_2Table  Ljava/nio/ByteBuffer;
            9   28     2  fsSelection  I
           10   28     3       italic  I
           11   28     4         bold  I
           12   28     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 1068
            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 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 0.05
            putfield sun.font.TrueTypeFont.stSize:F
         2: .line 1070
            aload 0 /* this */
            ldc -0.4
            putfield sun.font.TrueTypeFont.stPos:F
         3: .line 1071
            return
         4: .line 1073
      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 1074
            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 1075
            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 1076
            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 1079
            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 1080
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 0.05
            putfield sun.font.TrueTypeFont.ulSize:F
         2: .line 1081
            aload 0 /* this */
            ldc 0.1
            putfield sun.font.TrueTypeFont.ulPos:F
         3: .line 1082
            return
         4: .line 1084
      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 1085
            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 1086
            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 1087
            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=8, 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 1092
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.ulSize:F
            fconst_0
            fcmpl
            ifne 12
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.ulPos:F
            fconst_0
            fcmpl
            ifne 12
         1: .line 1094
            aload 0 /* this */
            ldc 1751474532
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 4 /* head_Table */
        start local 4 // java.nio.ByteBuffer head_Table
         2: .line 1095
            iconst_m1
            istore 5 /* upem */
        start local 5 // int upem
         3: .line 1096
            aload 4 /* head_Table */
            ifnull 8
            aload 4 /* head_Table */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 18
            if_icmplt 8
         4: .line 1097
            aload 4 /* head_Table */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 6 /* sb */
        start local 6 // java.nio.ShortBuffer sb
         5: .line 1098
            aload 6 /* sb */
            bipush 9
            invokevirtual java.nio.ShortBuffer.get:(I)S
            ldc 65535
            iand
            istore 5 /* upem */
         6: .line 1099
            iload 5 /* upem */
            bipush 16
            if_icmplt 7
            iload 5 /* upem */
            sipush 16384
            if_icmple 8
         7: .line 1100
      StackMap locals: java.nio.ByteBuffer int java.nio.ShortBuffer
      StackMap stack:
            sipush 2048
            istore 5 /* upem */
        end local 6 // java.nio.ShortBuffer sb
         8: .line 1104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1330851634
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 6 /* os2_Table */
        start local 6 // java.nio.ByteBuffer os2_Table
         9: .line 1105
            aload 0 /* this */
            aload 6 /* os2_Table */
            iload 5 /* upem */
            invokevirtual sun.font.TrueTypeFont.setStrikethroughMetrics:(Ljava/nio/ByteBuffer;I)V
        10: .line 1107
            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
        11: .line 1108
            aload 0 /* this */
            aload 7 /* post_Table */
            iload 5 /* upem */
            invokevirtual sun.font.TrueTypeFont.setUnderlineMetrics:(Ljava/nio/ByteBuffer;I)V
        end local 7 // java.nio.ByteBuffer post_Table
        end local 6 // java.nio.ByteBuffer os2_Table
        end local 5 // int upem
        end local 4 // java.nio.ByteBuffer head_Table
        12: .line 1111
      StackMap locals:
      StackMap stack:
            aload 2 /* metrics */
            iload 3 /* offset */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.stPos:F
            fload 1 /* pointSize */
            fmul
            fastore
        13: .line 1112
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.stSize:F
            fload 1 /* pointSize */
            fmul
            fastore
        14: .line 1114
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_2
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.ulPos:F
            fload 1 /* pointSize */
            fmul
            fastore
        15: .line 1115
            aload 2 /* metrics */
            iload 3 /* offset */
            iconst_3
            iadd
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.ulSize:F
            fload 1 /* pointSize */
            fmul
            fastore
        16: .line 1116
            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   17     0        this  Lsun/font/TrueTypeFont;
            0   17     1   pointSize  F
            0   17     2     metrics  [F
            0   17     3      offset  I
            2   12     4  head_Table  Ljava/nio/ByteBuffer;
            3   12     5        upem  I
            5    8     6          sb  Ljava/nio/ShortBuffer;
            9   12     6   os2_Table  Ljava/nio/ByteBuffer;
           11   12     7  post_Table  Ljava/nio/ByteBuffer;
    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 1126
            iload 3 /* encoding */
            iconst_2
            if_icmplt 11
            iload 3 /* encoding */
            bipush 6
            if_icmpgt 11
         1: .line 1127
            aload 1 /* bytes */
            astore 4 /* oldbytes */
        start local 4 // byte[] oldbytes
         2: .line 1128
            iload 2 /* len */
            istore 5 /* oldlen */
        start local 5 // int oldlen
         3: .line 1129
            iload 5 /* oldlen */
            newarray 8
            astore 1 /* bytes */
         4: .line 1130
            iconst_0
            istore 2 /* len */
         5: .line 1131
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 10
         7: .line 1132
      StackMap locals: byte[] int int
      StackMap stack:
            aload 4 /* oldbytes */
            iload 6 /* i */
            baload
            ifeq 9
         8: .line 1133
            aload 1 /* bytes */
            iload 2 /* len */
            iinc 2 /* len */ 1
            aload 4 /* oldbytes */
            iload 6 /* i */
            baload
            bastore
         9: .line 1131
      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 1139
      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 1140
      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 1141
      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 1142
      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 1143
      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 1144
      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 1145
      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 1146
      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 1147
      StackMap locals:
      StackMap stack:
            ldc "UTF-16"
            astore 4 /* charset */
        start local 4 // java.lang.String charset
        27: .line 1151
      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 1152
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
        30: .line 1153
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 32
        31: .line 1154
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            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 sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        32: .line 1156
      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 1157
      StackMap locals: sun.font.TrueTypeFont byte[] int int java.lang.String
      StackMap stack: java.lang.Throwable
            pop
        34: .line 1158
            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=4, locals=15, args_size=1
        start local 0 // sun.font.TrueTypeFont this
         0: .line 1164
            sipush 256
            newarray 8
            astore 1 /* name */
        start local 1 // byte[] name
         1: .line 1165
            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 1167
            aload 2 /* buffer */
            ifnull 47
         3: .line 1168
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 3 /* sbuffer */
        start local 3 // java.nio.ShortBuffer sbuffer
         4: .line 1169
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
         5: .line 1170
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 4 /* numRecords */
        start local 4 // short numRecords
         6: .line 1176
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 5 /* stringPtr */
        start local 5 // int stringPtr
         7: .line 1178
            aload 0 /* this */
            invokestatic sun.awt.SunToolkit.getStartupLocale:()Ljava/util/Locale;
            putfield sun.font.TrueTypeFont.nameLocale:Ljava/util/Locale;
         8: .line 1179
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nameLocale:Ljava/util/Locale;
            invokestatic sun.font.TrueTypeFont.getLCIDFromLocale:(Ljava/util/Locale;)S
            istore 6 /* nameLocaleID */
        start local 6 // short nameLocaleID
         9: .line 1181
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 42
        11: .line 1182
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int
      StackMap stack:
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 8 /* platformID */
        start local 8 // short platformID
        12: .line 1183
            iload 8 /* platformID */
            iconst_3
            if_icmpeq 15
        13: .line 1184
            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
        14: .line 1185
            goto 41
        15: .line 1187
      StackMap locals: int
      StackMap stack:
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 9 /* encodingID */
        start local 9 // short encodingID
        16: .line 1188
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 10 /* langID */
        start local 10 // short langID
        17: .line 1189
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 11 /* nameID */
        start local 11 // short nameID
        18: .line 1190
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 12 /* nameLen */
        start local 12 // int nameLen
        19: .line 1191
            aload 3 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            iload 5 /* stringPtr */
            iadd
            istore 13 /* namePtr */
        start local 13 // int namePtr
        20: .line 1192
            aconst_null
            astore 14 /* tmpName */
        start local 14 // java.lang.String tmpName
        21: .line 1193
            iload 11 /* nameID */
            tableswitch { // 1 - 4
                    1: 22
                    2: 41
                    3: 41
                    4: 32
              default: 41
          }
        22: .line 1197
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int int int int int int int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            ifnull 24
            iload 10 /* langID */
            sipush 1033
            if_icmpeq 24
        23: .line 1198
            iload 10 /* langID */
            iload 6 /* nameLocaleID */
            if_icmpne 41
        24: .line 1200
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 13 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        25: .line 1201
            aload 2 /* buffer */
            aload 1 /* name */
            iconst_0
            iload 12 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        26: .line 1202
            aload 0 /* this */
            aload 1 /* name */
            iload 12 /* nameLen */
            iload 9 /* encodingID */
            invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
            astore 14 /* tmpName */
        27: .line 1204
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            ifnull 28
            iload 10 /* langID */
            sipush 1033
            if_icmpne 29
        28: .line 1205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* tmpName */
            putfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
        29: .line 1207
      StackMap locals:
      StackMap stack:
            iload 10 /* langID */
            iload 6 /* nameLocaleID */
            if_icmpne 41
        30: .line 1208
            aload 0 /* this */
            aload 14 /* tmpName */
            putfield sun.font.TrueTypeFont.localeFamilyName:Ljava/lang/String;
        31: .line 1223
            goto 41
        32: .line 1227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            ifnull 34
            iload 10 /* langID */
            sipush 1033
            if_icmpeq 34
        33: .line 1228
            iload 10 /* langID */
            iload 6 /* nameLocaleID */
            if_icmpne 41
        34: .line 1230
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 13 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        35: .line 1231
            aload 2 /* buffer */
            aload 1 /* name */
            iconst_0
            iload 12 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        36: .line 1232
            aload 0 /* this */
            aload 1 /* name */
            iload 12 /* nameLen */
            iload 9 /* encodingID */
            invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
            astore 14 /* tmpName */
        37: .line 1234
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            ifnull 38
            iload 10 /* langID */
            sipush 1033
            if_icmpne 39
        38: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* tmpName */
            putfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
        39: .line 1237
      StackMap locals:
      StackMap stack:
            iload 10 /* langID */
            iload 6 /* nameLocaleID */
            if_icmpne 41
        40: .line 1238
            aload 0 /* this */
            aload 14 /* tmpName */
            putfield sun.font.TrueTypeFont.localeFullName:Ljava/lang/String;
        end local 14 // java.lang.String tmpName
        end local 13 // int namePtr
        end local 12 // int nameLen
        end local 11 // short nameID
        end local 10 // short langID
        end local 9 // short encodingID
        end local 8 // short platformID
        41: .line 1181
      StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 7 /* i */
            iload 4 /* numRecords */
            if_icmplt 11
        end local 7 // int i
        43: .line 1244
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.localeFamilyName:Ljava/lang/String;
            ifnonnull 45
        44: .line 1245
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            putfield sun.font.TrueTypeFont.localeFamilyName:Ljava/lang/String;
        45: .line 1247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.localeFullName:Ljava/lang/String;
            ifnonnull 47
        46: .line 1248
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            putfield sun.font.TrueTypeFont.localeFullName:Ljava/lang/String;
        end local 6 // short nameLocaleID
        end local 5 // int stringPtr
        end local 4 // short numRecords
        end local 3 // java.nio.ShortBuffer sbuffer
        47: .line 1251
      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   48     0          this  Lsun/font/TrueTypeFont;
            1   48     1          name  [B
            2   48     2        buffer  Ljava/nio/ByteBuffer;
            4   47     3       sbuffer  Ljava/nio/ShortBuffer;
            6   47     4    numRecords  S
            7   47     5     stringPtr  I
            9   47     6  nameLocaleID  S
           10   43     7             i  I
           12   41     8    platformID  S
           16   41     9    encodingID  S
           17   41    10        langID  S
           18   41    11        nameID  S
           19   41    12       nameLen  I
           20   41    13       namePtr  I
           21   41    14       tmpName  Ljava/lang/String;

  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 1259
            aconst_null
            astore 3 /* foundName */
        start local 3 // java.lang.String foundName
         1: .line 1260
            sipush 1024
            newarray 8
            astore 4 /* name */
        start local 4 // byte[] name
         2: .line 1262
            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 1263
            aload 5 /* buffer */
            ifnull 29
         4: .line 1264
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 6 /* sbuffer */
        start local 6 // java.nio.ShortBuffer sbuffer
         5: .line 1265
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
         6: .line 1266
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 7 /* numRecords */
        start local 7 // short numRecords
         7: .line 1273
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 8 /* stringPtr */
        start local 8 // int stringPtr
         8: .line 1275
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 28
        10: .line 1276
      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 1277
            iload 10 /* platformID */
            iconst_3
            if_icmpeq 14
        12: .line 1278
            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 1279
            goto 27
        14: .line 1281
      StackMap locals: int
      StackMap stack:
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 11 /* encodingID */
        start local 11 // short encodingID
        15: .line 1282
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 12 /* langID */
        start local 12 // short langID
        16: .line 1283
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 13 /* nameID */
        start local 13 // short nameID
        17: .line 1284
            aload 6 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 14 /* nameLen */
        start local 14 // int nameLen
        18: .line 1285
            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 1286
            iload 13 /* nameID */
            iload 2 /* findNameID */
            if_icmpne 27
        20: .line 1287
            aload 3 /* foundName */
            ifnonnull 21
            iload 12 /* langID */
            sipush 1033
            if_icmpeq 22
        21: .line 1288
      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 1289
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            iload 15 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        23: .line 1290
            aload 5 /* buffer */
            aload 4 /* name */
            iconst_0
            iload 14 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        24: .line 1291
            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 1292
            iload 12 /* langID */
            iload 1 /* findLocaleID */
            if_icmpne 27
        26: .line 1293
            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 1275
      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 1298
      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 1305
            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 1309
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
            ifnonnull 4
         1: .line 1310
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fontIndex:I
         2: .line 1311
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.supportsCJK:Z
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fileSize:I
         3: .line 1310
            invokestatic sun.font.FontScaler.getScaler:(Lsun/font/Font2D;IZI)Lsun/font/FontScaler;
            putfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
         4: .line 1313
      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 1322
            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 1323
            aload 1 /* name */
            ifnonnull 3
         2: .line 1324
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            areturn
         3: .line 1326
      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 1332
            aload 1 /* locale */
            ifnonnull 2
         1: .line 1333
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            areturn
         2: .line 1334
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nameLocale:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.localeFullName:Ljava/lang/String;
            ifnull 4
         3: .line 1335
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.localeFullName:Ljava/lang/String;
            areturn
         4: .line 1337
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            invokestatic sun.font.TrueTypeFont.getLCIDFromLocale:(Ljava/util/Locale;)S
            istore 2 /* localeID */
        start local 2 // short localeID
         5: .line 1338
            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
         6: .line 1339
            aload 3 /* name */
            ifnonnull 8
         7: .line 1340
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
            areturn
         8: .line 1342
      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    9     0      this  Lsun/font/TrueTypeFont;
            0    9     1    locale  Ljava/util/Locale;
            5    9     2  localeID  S
            6    9     3      name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      locale  

  private static void addLCIDMapEntry(java.util.Map<java.lang.String, java.lang.Short>, java.lang.String, );
    descriptor: (Ljava/util/Map;Ljava/lang/String;S)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Map map
        start local 1 // java.lang.String key
        start local 2 // short value
         0: .line 1352
            aload 0 /* map */
            aload 1 /* key */
            iload 2 /* value */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1353
            return
        end local 2 // short value
        end local 1 // java.lang.String key
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Short;>;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  S
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Short;>;Ljava/lang/String;S)V
    MethodParameters:
       Name  Flags
      map    
      key    
      value  

  private static synchronized void createLCIDMap();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=0
         0: .line 1356
            getstatic sun.font.TrueTypeFont.lcidMap:Ljava/util/Map;
            ifnull 2
         1: .line 1357
            return
         2: .line 1360
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            sipush 200
            invokespecial java.util.HashMap.<init>:(I)V
            astore 0 /* map */
        start local 0 // java.util.Map map
         3: .line 1388
            aload 0 /* map */
            ldc "ar"
            sipush 1025
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
         4: .line 1389
            aload 0 /* map */
            ldc "bg"
            sipush 1026
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
         5: .line 1390
            aload 0 /* map */
            ldc "ca"
            sipush 1027
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
         6: .line 1391
            aload 0 /* map */
            ldc "zh"
            sipush 1028
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
         7: .line 1392
            aload 0 /* map */
            ldc "cs"
            sipush 1029
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
         8: .line 1393
            aload 0 /* map */
            ldc "da"
            sipush 1030
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
         9: .line 1394
            aload 0 /* map */
            ldc "de"
            sipush 1031
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        10: .line 1395
            aload 0 /* map */
            ldc "el"
            sipush 1032
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        11: .line 1396
            aload 0 /* map */
            ldc "es"
            sipush 1034
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        12: .line 1397
            aload 0 /* map */
            ldc "fi"
            sipush 1035
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        13: .line 1398
            aload 0 /* map */
            ldc "fr"
            sipush 1036
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        14: .line 1399
            aload 0 /* map */
            ldc "iw"
            sipush 1037
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        15: .line 1400
            aload 0 /* map */
            ldc "hu"
            sipush 1038
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        16: .line 1401
            aload 0 /* map */
            ldc "is"
            sipush 1039
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        17: .line 1402
            aload 0 /* map */
            ldc "it"
            sipush 1040
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        18: .line 1403
            aload 0 /* map */
            ldc "ja"
            sipush 1041
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        19: .line 1404
            aload 0 /* map */
            ldc "ko"
            sipush 1042
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        20: .line 1405
            aload 0 /* map */
            ldc "nl"
            sipush 1043
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        21: .line 1406
            aload 0 /* map */
            ldc "no"
            sipush 1044
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        22: .line 1407
            aload 0 /* map */
            ldc "pl"
            sipush 1045
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        23: .line 1408
            aload 0 /* map */
            ldc "pt"
            sipush 1046
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        24: .line 1409
            aload 0 /* map */
            ldc "rm"
            sipush 1047
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        25: .line 1410
            aload 0 /* map */
            ldc "ro"
            sipush 1048
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        26: .line 1411
            aload 0 /* map */
            ldc "ru"
            sipush 1049
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        27: .line 1412
            aload 0 /* map */
            ldc "hr"
            sipush 1050
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        28: .line 1413
            aload 0 /* map */
            ldc "sk"
            sipush 1051
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        29: .line 1414
            aload 0 /* map */
            ldc "sq"
            sipush 1052
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        30: .line 1415
            aload 0 /* map */
            ldc "sv"
            sipush 1053
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        31: .line 1416
            aload 0 /* map */
            ldc "th"
            sipush 1054
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        32: .line 1417
            aload 0 /* map */
            ldc "tr"
            sipush 1055
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        33: .line 1418
            aload 0 /* map */
            ldc "ur"
            sipush 1056
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        34: .line 1419
            aload 0 /* map */
            ldc "in"
            sipush 1057
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        35: .line 1420
            aload 0 /* map */
            ldc "uk"
            sipush 1058
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        36: .line 1421
            aload 0 /* map */
            ldc "be"
            sipush 1059
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        37: .line 1422
            aload 0 /* map */
            ldc "sl"
            sipush 1060
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        38: .line 1423
            aload 0 /* map */
            ldc "et"
            sipush 1061
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        39: .line 1424
            aload 0 /* map */
            ldc "lv"
            sipush 1062
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        40: .line 1425
            aload 0 /* map */
            ldc "lt"
            sipush 1063
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        41: .line 1426
            aload 0 /* map */
            ldc "fa"
            sipush 1065
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        42: .line 1427
            aload 0 /* map */
            ldc "vi"
            sipush 1066
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        43: .line 1428
            aload 0 /* map */
            ldc "hy"
            sipush 1067
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        44: .line 1429
            aload 0 /* map */
            ldc "eu"
            sipush 1069
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        45: .line 1430
            aload 0 /* map */
            ldc "mk"
            sipush 1071
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        46: .line 1431
            aload 0 /* map */
            ldc "tn"
            sipush 1074
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        47: .line 1432
            aload 0 /* map */
            ldc "xh"
            sipush 1076
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        48: .line 1433
            aload 0 /* map */
            ldc "zu"
            sipush 1077
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        49: .line 1434
            aload 0 /* map */
            ldc "af"
            sipush 1078
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        50: .line 1435
            aload 0 /* map */
            ldc "ka"
            sipush 1079
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        51: .line 1436
            aload 0 /* map */
            ldc "fo"
            sipush 1080
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        52: .line 1437
            aload 0 /* map */
            ldc "hi"
            sipush 1081
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        53: .line 1438
            aload 0 /* map */
            ldc "mt"
            sipush 1082
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        54: .line 1439
            aload 0 /* map */
            ldc "se"
            sipush 1083
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        55: .line 1440
            aload 0 /* map */
            ldc "gd"
            sipush 1084
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        56: .line 1441
            aload 0 /* map */
            ldc "ms"
            sipush 1086
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        57: .line 1442
            aload 0 /* map */
            ldc "kk"
            sipush 1087
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        58: .line 1443
            aload 0 /* map */
            ldc "ky"
            sipush 1088
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        59: .line 1444
            aload 0 /* map */
            ldc "sw"
            sipush 1089
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        60: .line 1445
            aload 0 /* map */
            ldc "tt"
            sipush 1092
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        61: .line 1446
            aload 0 /* map */
            ldc "bn"
            sipush 1093
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        62: .line 1447
            aload 0 /* map */
            ldc "pa"
            sipush 1094
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        63: .line 1448
            aload 0 /* map */
            ldc "gu"
            sipush 1095
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        64: .line 1449
            aload 0 /* map */
            ldc "ta"
            sipush 1097
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        65: .line 1450
            aload 0 /* map */
            ldc "te"
            sipush 1098
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        66: .line 1451
            aload 0 /* map */
            ldc "kn"
            sipush 1099
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        67: .line 1452
            aload 0 /* map */
            ldc "ml"
            sipush 1100
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        68: .line 1453
            aload 0 /* map */
            ldc "mr"
            sipush 1102
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        69: .line 1454
            aload 0 /* map */
            ldc "sa"
            sipush 1103
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        70: .line 1455
            aload 0 /* map */
            ldc "mn"
            sipush 1104
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        71: .line 1456
            aload 0 /* map */
            ldc "cy"
            sipush 1106
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        72: .line 1457
            aload 0 /* map */
            ldc "gl"
            sipush 1110
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        73: .line 1458
            aload 0 /* map */
            ldc "dv"
            sipush 1125
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        74: .line 1459
            aload 0 /* map */
            ldc "qu"
            sipush 1131
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        75: .line 1460
            aload 0 /* map */
            ldc "mi"
            sipush 1153
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        76: .line 1461
            aload 0 /* map */
            ldc "ar_IQ"
            sipush 2049
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        77: .line 1462
            aload 0 /* map */
            ldc "zh_CN"
            sipush 2052
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        78: .line 1463
            aload 0 /* map */
            ldc "de_CH"
            sipush 2055
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        79: .line 1464
            aload 0 /* map */
            ldc "en_GB"
            sipush 2057
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        80: .line 1465
            aload 0 /* map */
            ldc "es_MX"
            sipush 2058
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        81: .line 1466
            aload 0 /* map */
            ldc "fr_BE"
            sipush 2060
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        82: .line 1467
            aload 0 /* map */
            ldc "it_CH"
            sipush 2064
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        83: .line 1468
            aload 0 /* map */
            ldc "nl_BE"
            sipush 2067
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        84: .line 1469
            aload 0 /* map */
            ldc "no_NO_NY"
            sipush 2068
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        85: .line 1470
            aload 0 /* map */
            ldc "pt_PT"
            sipush 2070
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        86: .line 1471
            aload 0 /* map */
            ldc "ro_MD"
            sipush 2072
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        87: .line 1472
            aload 0 /* map */
            ldc "ru_MD"
            sipush 2073
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        88: .line 1473
            aload 0 /* map */
            ldc "sr_CS"
            sipush 2074
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        89: .line 1474
            aload 0 /* map */
            ldc "sv_FI"
            sipush 2077
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        90: .line 1475
            aload 0 /* map */
            ldc "az_AZ"
            sipush 2092
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        91: .line 1476
            aload 0 /* map */
            ldc "se_SE"
            sipush 2107
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        92: .line 1477
            aload 0 /* map */
            ldc "ga_IE"
            sipush 2108
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        93: .line 1478
            aload 0 /* map */
            ldc "ms_BN"
            sipush 2110
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        94: .line 1479
            aload 0 /* map */
            ldc "uz_UZ"
            sipush 2115
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        95: .line 1480
            aload 0 /* map */
            ldc "qu_EC"
            sipush 2155
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        96: .line 1481
            aload 0 /* map */
            ldc "ar_EG"
            sipush 3073
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        97: .line 1482
            aload 0 /* map */
            ldc "zh_HK"
            sipush 3076
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        98: .line 1483
            aload 0 /* map */
            ldc "de_AT"
            sipush 3079
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
        99: .line 1484
            aload 0 /* map */
            ldc "en_AU"
            sipush 3081
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       100: .line 1485
            aload 0 /* map */
            ldc "fr_CA"
            sipush 3084
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       101: .line 1486
            aload 0 /* map */
            ldc "sr_CS"
            sipush 3098
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       102: .line 1487
            aload 0 /* map */
            ldc "se_FI"
            sipush 3131
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       103: .line 1488
            aload 0 /* map */
            ldc "qu_PE"
            sipush 3179
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       104: .line 1489
            aload 0 /* map */
            ldc "ar_LY"
            sipush 4097
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       105: .line 1490
            aload 0 /* map */
            ldc "zh_SG"
            sipush 4100
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       106: .line 1491
            aload 0 /* map */
            ldc "de_LU"
            sipush 4103
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       107: .line 1492
            aload 0 /* map */
            ldc "en_CA"
            sipush 4105
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       108: .line 1493
            aload 0 /* map */
            ldc "es_GT"
            sipush 4106
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       109: .line 1494
            aload 0 /* map */
            ldc "fr_CH"
            sipush 4108
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       110: .line 1495
            aload 0 /* map */
            ldc "hr_BA"
            sipush 4122
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       111: .line 1496
            aload 0 /* map */
            ldc "ar_DZ"
            sipush 5121
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       112: .line 1497
            aload 0 /* map */
            ldc "zh_MO"
            sipush 5124
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       113: .line 1498
            aload 0 /* map */
            ldc "de_LI"
            sipush 5127
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       114: .line 1499
            aload 0 /* map */
            ldc "en_NZ"
            sipush 5129
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       115: .line 1500
            aload 0 /* map */
            ldc "es_CR"
            sipush 5130
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       116: .line 1501
            aload 0 /* map */
            ldc "fr_LU"
            sipush 5132
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       117: .line 1502
            aload 0 /* map */
            ldc "bs_BA"
            sipush 5146
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       118: .line 1503
            aload 0 /* map */
            ldc "ar_MA"
            sipush 6145
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       119: .line 1504
            aload 0 /* map */
            ldc "en_IE"
            sipush 6153
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       120: .line 1505
            aload 0 /* map */
            ldc "es_PA"
            sipush 6154
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       121: .line 1506
            aload 0 /* map */
            ldc "fr_MC"
            sipush 6156
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       122: .line 1507
            aload 0 /* map */
            ldc "sr_BA"
            sipush 6170
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       123: .line 1508
            aload 0 /* map */
            ldc "ar_TN"
            sipush 7169
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       124: .line 1509
            aload 0 /* map */
            ldc "en_ZA"
            sipush 7177
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       125: .line 1510
            aload 0 /* map */
            ldc "es_DO"
            sipush 7178
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       126: .line 1511
            aload 0 /* map */
            ldc "sr_BA"
            sipush 7194
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       127: .line 1512
            aload 0 /* map */
            ldc "ar_OM"
            sipush 8193
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       128: .line 1513
            aload 0 /* map */
            ldc "en_JM"
            sipush 8201
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       129: .line 1514
            aload 0 /* map */
            ldc "es_VE"
            sipush 8202
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       130: .line 1515
            aload 0 /* map */
            ldc "ar_YE"
            sipush 9217
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       131: .line 1516
            aload 0 /* map */
            ldc "es_CO"
            sipush 9226
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       132: .line 1517
            aload 0 /* map */
            ldc "ar_SY"
            sipush 10241
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       133: .line 1518
            aload 0 /* map */
            ldc "en_BZ"
            sipush 10249
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       134: .line 1519
            aload 0 /* map */
            ldc "es_PE"
            sipush 10250
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       135: .line 1520
            aload 0 /* map */
            ldc "ar_JO"
            sipush 11265
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       136: .line 1521
            aload 0 /* map */
            ldc "en_TT"
            sipush 11273
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       137: .line 1522
            aload 0 /* map */
            ldc "es_AR"
            sipush 11274
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       138: .line 1523
            aload 0 /* map */
            ldc "ar_LB"
            sipush 12289
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       139: .line 1524
            aload 0 /* map */
            ldc "en_ZW"
            sipush 12297
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       140: .line 1525
            aload 0 /* map */
            ldc "es_EC"
            sipush 12298
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       141: .line 1526
            aload 0 /* map */
            ldc "ar_KW"
            sipush 13313
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       142: .line 1527
            aload 0 /* map */
            ldc "en_PH"
            sipush 13321
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       143: .line 1528
            aload 0 /* map */
            ldc "es_CL"
            sipush 13322
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       144: .line 1529
            aload 0 /* map */
            ldc "ar_AE"
            sipush 14337
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       145: .line 1530
            aload 0 /* map */
            ldc "es_UY"
            sipush 14346
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       146: .line 1531
            aload 0 /* map */
            ldc "ar_BH"
            sipush 15361
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       147: .line 1532
            aload 0 /* map */
            ldc "es_PY"
            sipush 15370
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       148: .line 1533
            aload 0 /* map */
            ldc "ar_QA"
            sipush 16385
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       149: .line 1534
            aload 0 /* map */
            ldc "es_BO"
            sipush 16394
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       150: .line 1535
            aload 0 /* map */
            ldc "es_SV"
            sipush 17418
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       151: .line 1536
            aload 0 /* map */
            ldc "es_HN"
            sipush 18442
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       152: .line 1537
            aload 0 /* map */
            ldc "es_NI"
            sipush 19466
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       153: .line 1538
            aload 0 /* map */
            ldc "es_PR"
            sipush 20490
            invokestatic sun.font.TrueTypeFont.addLCIDMapEntry:(Ljava/util/Map;Ljava/lang/String;S)V
       154: .line 1540
            aload 0 /* map */
            putstatic sun.font.TrueTypeFont.lcidMap:Ljava/util/Map;
       155: .line 1541
            return
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3  156     0   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Short;>;

  private static short getLCIDFromLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Locale locale
         0: .line 1545
            aload 0 /* locale */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1546
            sipush 1033
            ireturn
         2: .line 1549
      StackMap locals:
      StackMap stack:
            getstatic sun.font.TrueTypeFont.lcidMap:Ljava/util/Map;
            ifnonnull 4
         3: .line 1550
            invokestatic sun.font.TrueTypeFont.createLCIDMap:()V
         4: .line 1553
      StackMap locals:
      StackMap stack:
            aload 0 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            astore 1 /* key */
        start local 1 // java.lang.String key
         5: .line 1554
            goto 13
         6: .line 1555
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.font.TrueTypeFont.lcidMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Short
            astore 2 /* lcidObject */
        start local 2 // java.lang.Short lcidObject
         7: .line 1556
            aload 2 /* lcidObject */
            ifnull 9
         8: .line 1557
            aload 2 /* lcidObject */
            invokevirtual java.lang.Short.shortValue:()S
            ireturn
         9: .line 1559
      StackMap locals: java.lang.Short
      StackMap stack:
            aload 1 /* key */
            bipush 95
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* pos */
        start local 3 // int pos
        10: .line 1560
            iload 3 /* pos */
            iconst_1
            if_icmpge 12
        11: .line 1561
            sipush 1033
            ireturn
        12: .line 1563
      StackMap locals: int
      StackMap stack:
            aload 1 /* key */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* key */
        end local 3 // int pos
        end local 2 // java.lang.Short lcidObject
        13: .line 1554
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 1 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
        14: .line 1566
            sipush 1033
            ireturn
        end local 1 // java.lang.String key
        end local 0 // java.util.Locale locale
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0      locale  Ljava/util/Locale;
            5   15     1         key  Ljava/lang/String;
            7   13     2  lcidObject  Ljava/lang/Short;
           10   13     3         pos  I
    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 1571
            aload 1 /* locale */
            ifnonnull 2
         1: .line 1572
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            areturn
         2: .line 1573
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.nameLocale:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.localeFamilyName:Ljava/lang/String;
            ifnull 4
         3: .line 1574
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.localeFamilyName:Ljava/lang/String;
            areturn
         4: .line 1576
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            invokestatic sun.font.TrueTypeFont.getLCIDFromLocale:(Ljava/util/Locale;)S
            istore 2 /* localeID */
        start local 2 // short localeID
         5: .line 1577
            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
         6: .line 1578
            aload 3 /* name */
            ifnonnull 8
         7: .line 1579
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
            areturn
         8: .line 1581
      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    9     0      this  Lsun/font/TrueTypeFont;
            0    9     1    locale  Ljava/util/Locale;
            5    9     2  localeID  S
            6    9     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 1587
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
            ifnonnull 2
         1: .line 1588
            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 1590
      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 1599
            sipush 256
            newarray 8
            astore 3 /* name */
        start local 3 // byte[] name
         1: .line 1600
            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 1602
            aload 4 /* buffer */
            ifnull 24
         3: .line 1603
            aload 4 /* buffer */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            astore 5 /* sbuffer */
        start local 5 // java.nio.ShortBuffer sbuffer
         4: .line 1604
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
         5: .line 1605
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 6 /* numRecords */
        start local 6 // short numRecords
         6: .line 1612
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 7 /* stringPtr */
        start local 7 // int stringPtr
         7: .line 1613
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 23
         9: .line 1614
      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 1615
            iload 9 /* platformID */
            iconst_3
            if_icmpeq 13
        11: .line 1616
            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 1617
            goto 22
        13: .line 1619
      StackMap locals: int
      StackMap stack:
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 10 /* encodingID */
        start local 10 // short encodingID
        14: .line 1620
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            pop
        15: .line 1621
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            istore 11 /* nameID */
        start local 11 // short nameID
        16: .line 1622
            aload 5 /* sbuffer */
            invokevirtual java.nio.ShortBuffer.get:()S
            ldc 65535
            iand
            istore 12 /* nameLen */
        start local 12 // int nameLen
        17: .line 1623
            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 1625
            iload 11 /* nameID */
            iload 1 /* requestedID */
            if_icmpne 22
        19: .line 1626
            aload 4 /* buffer */
            iload 13 /* namePtr */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 1627
            aload 4 /* buffer */
            aload 3 /* name */
            iconst_0
            iload 12 /* nameLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        21: .line 1628
            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 1613
      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 1632
      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 1635
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* aSet */
        start local 1 // java.util.HashSet aSet
         1: .line 1637
            aload 0 /* this */
            iconst_1
            aload 1 /* aSet */
            invokevirtual sun.font.TrueTypeFont.initAllNames:(ILjava/util/HashSet;)V
         2: .line 1638
            goto 4
      StackMap locals: sun.font.TrueTypeFont java.util.HashSet
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 1641
      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 1645
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* aSet */
        start local 1 // java.util.HashSet aSet
         1: .line 1647
            aload 0 /* this */
            iconst_4
            aload 1 /* aSet */
            invokevirtual sun.font.TrueTypeFont.initAllNames:(ILjava/util/HashSet;)V
         2: .line 1648
            goto 4
      StackMap locals: sun.font.TrueTypeFont java.util.HashSet
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 1651
      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 1660
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getScaler:()Lsun/font/FontScaler;
            lload 1 /* pScalerContext */
         1: .line 1661
            iload 3 /* glyphCode */
            iload 4 /* ptNumber */
         2: .line 1660
            invokevirtual sun.font.FontScaler.getGlyphPoint:(JII)Ljava/awt/geom/Point2D$Float;
         3: areturn
         4: .line 1662
      StackMap locals:
      StackMap stack: sun.font.FontScalerException
            pop
         5: .line 1663
            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 1671
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            ifnull 2
         1: .line 1672
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
         2: .line 1675
      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 1676
            aload 1 /* buffer */
            ifnonnull 5
         4: .line 1677
            aload 0 /* this */
            iconst_0
            newarray 5
            dup_x1
            putfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
         5: .line 1680
      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 1681
            aload 2 /* cbuffer */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 3 /* format */
        start local 3 // char format
         7: .line 1686
            iload 3 /* format */
            iconst_1
            if_icmple 9
         8: .line 1687
            aload 0 /* this */
            iconst_0
            newarray 5
            dup_x1
            putfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
         9: .line 1690
      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 1691
            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 1692
            aload 0 /* this */
            iconst_0
            newarray 5
            dup_x1
            putfield sun.font.TrueTypeFont.gaspTable:[C
            areturn
        12: .line 1694
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_2
            iload 4 /* numRanges */
            imul
            newarray 5
            putfield sun.font.TrueTypeFont.gaspTable:[C
        13: .line 1695
            aload 2 /* cbuffer */
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.gaspTable:[C
            invokevirtual java.nio.CharBuffer.get:([C)Ljava/nio/CharBuffer;
            pop
        14: .line 1696
            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 1721
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeFont.getGaspTable:()[C
            astore 2 /* gasp */
        start local 2 // char[] gasp
         1: .line 1722
            aload 2 /* gasp */
            arraylength
            ifle 10
         2: .line 1723
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 1724
      StackMap locals: char[] int
      StackMap stack:
            iload 1 /* ptsize */
            aload 2 /* gasp */
            iload 3 /* i */
            caload
            if_icmpgt 7
         5: .line 1725
            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 1723
      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 1728
            iconst_1
            ireturn
        10: .line 1731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeFont.style:I
            iconst_1
            if_icmpne 12
        11: .line 1732
            iconst_1
            ireturn
        12: .line 1734
      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 1740
            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 1745
            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 1746
            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 1745
            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