public class sun.font.TrueTypeGlyphMapper extends sun.font.CharToGlyphMapper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.font.TrueTypeGlyphMapper
  super_class: sun.font.CharToGlyphMapper
{
  static final char REVERSE_SOLIDUS;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 92

  static final char JA_YEN;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 165

  static final char JA_FULLWIDTH_TILDE_CHAR;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 65374

  static final char JA_WAVE_DASH_CHAR;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 12316

  static final boolean isJAlocale;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final boolean needsJAremapping;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  sun.font.CMap cmap;
    descriptor: Lsun/font/CMap;
    flags: (0x0000) 

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 42
            getstatic java.util.Locale.JAPAN:Ljava/util/Locale;
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            putstatic sun.font.TrueTypeGlyphMapper.isJAlocale:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.font.TrueTypeFont);
    descriptor: (Lsun/font/TrueTypeFont;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // sun.font.TrueTypeFont font
         0: .line 50
            aload 0 /* this */
            invokespecial sun.font.CharToGlyphMapper.<init>:()V
         1: .line 51
            aload 0 /* this */
            aload 1 /* font */
            putfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
         2: .line 53
            aload 0 /* this */
            aload 1 /* font */
            invokestatic sun.font.CMap.initialize:(Lsun/font/TrueTypeFont;)Lsun/font/CMap;
            putfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
         3: .line 54
            goto 6
      StackMap locals: sun.font.TrueTypeGlyphMapper sun.font.TrueTypeFont
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 55
            aload 0 /* this */
            aconst_null
            putfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
         6: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            ifnonnull 8
         7: .line 58
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeGlyphMapper.handleBadCMAP:()V
         8: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
         9: .line 61
            aload 1 /* font */
            ldc 1835104368
            invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
        10: .line 62
            aload 0 /* this */
            aload 2 /* buffer */
            iconst_4
            invokevirtual java.nio.ByteBuffer.getChar:(I)C
            putfield sun.font.TrueTypeGlyphMapper.numGlyphs:I
        11: .line 63
            getstatic sun.font.FontManager.isSolaris:Z
            ifeq 17
            getstatic sun.font.TrueTypeGlyphMapper.isJAlocale:Z
            ifeq 17
            aload 1 /* font */
            invokevirtual sun.font.TrueTypeFont.supportsJA:()Z
            ifeq 17
        12: .line 64
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
        13: .line 65
            getstatic sun.font.FontManager.isSolaris8:Z
            ifeq 18
        14: .line 66
            aload 0 /* this */
            sipush 12316
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
            if_icmpne 18
        15: .line 67
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeGlyphMapper.remapJAWaveDash:Z
        16: .line 69
            goto 18
        17: .line 70
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
        18: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // sun.font.TrueTypeFont font
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lsun/font/TrueTypeGlyphMapper;
            0   19     1    font  Lsun/font/TrueTypeFont;
           10   19     2  buffer  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      font  

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

  private char getGlyphFromCMAP(int);
    descriptor: (I)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int charCode
         0: .line 80
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            iload 1 /* charCode */
            invokevirtual sun.font.CMap.getGlyph:(I)C
            istore 2 /* glyphCode */
        start local 2 // char glyphCode
         1: .line 81
            iload 2 /* glyphCode */
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.numGlyphs:I
            if_icmplt 3
         2: .line 82
            iload 2 /* glyphCode */
            ldc 65534
            if_icmplt 5
         3: .line 83
      StackMap locals: int
      StackMap stack:
            iload 2 /* glyphCode */
         4: ireturn
         5: .line 85
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontManager.logging:Z
            ifeq 12
         6: .line 86
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
         7: .line 87
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " out of range glyph id="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 88
            iload 2 /* glyphCode */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 89
            ldc " for char "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* charCode */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 87
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 86
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        12: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
            i2c
        13: ireturn
        end local 2 // char glyphCode
        14: .line 93
      StackMap locals: sun.font.TrueTypeGlyphMapper int
      StackMap stack: java.lang.Exception
            pop
        15: .line 94
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeGlyphMapper.handleBadCMAP:()V
        16: .line 95
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
            i2c
            ireturn
        end local 1 // int charCode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lsun/font/TrueTypeGlyphMapper;
            0   17     1   charCode  I
            1   14     2  glyphCode  C
      Exception table:
        from    to  target  type
           0     4      14  Class java.lang.Exception
           5    13      14  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      charCode  

  private void handleBadCMAP();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeGlyphMapper this
         0: .line 100
            getstatic sun.font.FontManager.logging:Z
            ifeq 4
         1: .line 101
            getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Null Cmap for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 102
            ldc "substituting for this font"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 101
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
         4: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokestatic sun.font.FontManager.deRegisterBadFont:(Lsun/font/Font2D;)V
         5: .line 109
            aload 0 /* this */
            getstatic sun.font.CMap.theNullCmap:Lsun/font/CMap$NullCMapClass;
            putfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
         6: .line 110
            return
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/TrueTypeGlyphMapper;

  private final char remapJAChar(char);
    descriptor: (C)C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // char unicode
         0: .line 113
            iload 1 /* unicode */
            lookupswitch { // 2
                   92: 1
                12316: 2
              default: 4
          }
         1: .line 115
      StackMap locals:
      StackMap stack:
            sipush 165
            ireturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.remapJAWaveDash:Z
            ifeq 4
         3: .line 121
            ldc 65374
            ireturn
         4: .line 123
      StackMap locals:
      StackMap stack:
            iload 1 /* unicode */
            ireturn
        end local 1 // char unicode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/font/TrueTypeGlyphMapper;
            0    5     1  unicode  C
    MethodParameters:
         Name  Flags
      unicode  

  private final int remapJAIntChar(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int unicode
         0: .line 127
            iload 1 /* unicode */
            lookupswitch { // 2
                   92: 1
                12316: 2
              default: 4
          }
         1: .line 129
      StackMap locals:
      StackMap stack:
            sipush 165
            ireturn
         2: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.remapJAWaveDash:Z
            ifeq 4
         3: .line 135
            ldc 65374
            ireturn
         4: .line 137
      StackMap locals:
      StackMap stack:
            iload 1 /* unicode */
            ireturn
        end local 1 // int unicode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/font/TrueTypeGlyphMapper;
            0    5     1  unicode  I
    MethodParameters:
         Name  Flags
      unicode  

  public int charToGlyph(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // char unicode
         0: .line 142
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 143
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAChar:(C)C
            istore 1 /* unicode */
         2: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            istore 2 /* glyph */
        start local 2 // int glyph
         3: .line 146
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 5
            iload 2 /* glyph */
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            arraylength
            if_icmpge 5
         4: .line 147
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            iload 2 /* glyph */
            iload 1 /* unicode */
            castore
         5: .line 149
      StackMap locals: int
      StackMap stack:
            iload 2 /* glyph */
            ireturn
        end local 2 // int glyph
        end local 1 // char unicode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/font/TrueTypeGlyphMapper;
            0    6     1  unicode  C
            3    6     2    glyph  I
    MethodParameters:
         Name  Flags
      unicode  

  public int charToGlyph(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int unicode
         0: .line 153
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 154
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAIntChar:(I)I
            istore 1 /* unicode */
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            istore 2 /* glyph */
        start local 2 // int glyph
         3: .line 157
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 5
            iload 2 /* glyph */
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            arraylength
            if_icmpge 5
         4: .line 158
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            iload 2 /* glyph */
            iload 1 /* unicode */
            i2c
            castore
         5: .line 160
      StackMap locals: int
      StackMap stack:
            iload 2 /* glyph */
            ireturn
        end local 2 // int glyph
        end local 1 // int unicode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/font/TrueTypeGlyphMapper;
            0    6     1  unicode  I
            3    6     2    glyph  I
    MethodParameters:
         Name  Flags
      unicode  

  public void charsToGlyphs(int, int[], int[]);
    descriptor: (I[I[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int count
        start local 2 // int[] unicodes
        start local 3 // int[] glyphs
         0: .line 164
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 10
         2: .line 165
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 166
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* unicodes */
            iload 4 /* i */
            iaload
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAIntChar:(I)I
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
         4: .line 167
            goto 6
         5: .line 168
      StackMap locals:
      StackMap stack:
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            aload 2 /* unicodes */
            iload 4 /* i */
            iaload
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
         6: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 9
         7: .line 171
            aload 3 /* glyphs */
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            arraylength
            if_icmpge 9
         8: .line 172
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            aload 3 /* glyphs */
            iload 4 /* i */
            iaload
            aload 2 /* unicodes */
            iload 4 /* i */
            iaload
            i2c
            castore
         9: .line 164
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
        11: .line 175
            return
        end local 3 // int[] glyphs
        end local 2 // int[] unicodes
        end local 1 // int count
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lsun/font/TrueTypeGlyphMapper;
            0   12     1     count  I
            0   12     2  unicodes  [I
            0   12     3    glyphs  [I
            1   11     4         i  I
    MethodParameters:
          Name  Flags
      count     
      unicodes  
      glyphs    

  public void charsToGlyphs(int, char[], int[]);
    descriptor: (I[C[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int count
        start local 2 // char[] unicodes
        start local 3 // int[] glyphs
         0: .line 179
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 29
         2: .line 181
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 182
            aload 0 /* this */
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAChar:(C)C
            istore 5 /* code */
        start local 5 // int code
         4: .line 183
            goto 6
        end local 5 // int code
         5: .line 184
      StackMap locals:
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         6: .line 187
      StackMap locals: int
      StackMap stack:
            iload 5 /* code */
            ldc 55296
            if_icmplt 24
         7: .line 188
            iload 5 /* code */
            ldc 56319
            if_icmpgt 24
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 24
         8: .line 189
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         9: .line 191
            iload 6 /* low */
            ldc 56320
            if_icmplt 24
        10: .line 192
            iload 6 /* low */
            ldc 57343
            if_icmpgt 24
        11: .line 193
            iload 5 /* code */
            ldc 55296
            isub
        12: .line 194
            sipush 1024
        13: .line 193
            imul
        14: .line 194
            iload 6 /* low */
        15: .line 193
            iadd
        16: .line 194
            ldc 56320
        17: .line 193
            isub
        18: .line 194
            ldc 65536
        19: .line 193
            iadd
            istore 5 /* code */
        20: .line 196
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
        21: .line 197
            iinc 4 /* i */ 1
        22: .line 198
            aload 3 /* glyphs */
            iload 4 /* i */
            ldc 65535
            iastore
        23: .line 199
            goto 28
        end local 6 // char low
        24: .line 202
      StackMap locals:
      StackMap stack:
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
        25: .line 204
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 28
        26: .line 205
            aload 3 /* glyphs */
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            arraylength
            if_icmpge 28
        27: .line 206
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            aload 3 /* glyphs */
            iload 4 /* i */
            iaload
            iload 5 /* code */
            i2c
            castore
        end local 5 // int code
        28: .line 179
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
        30: .line 210
            return
        end local 3 // int[] glyphs
        end local 2 // char[] unicodes
        end local 1 // int count
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lsun/font/TrueTypeGlyphMapper;
            0   31     1     count  I
            0   31     2  unicodes  [C
            0   31     3    glyphs  [I
            1   30     4         i  I
            4    5     5      code  I
            6   28     5      code  I
            9   24     6       low  C
    MethodParameters:
          Name  Flags
      count     
      unicodes  
      glyphs    

  public boolean charsToGlyphsNS(int, char[], int[]);
    descriptor: (I[C[I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int count
        start local 2 // char[] unicodes
        start local 3 // int[] glyphs
         0: .line 219
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 32
         2: .line 221
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 222
            aload 0 /* this */
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAChar:(C)C
            istore 5 /* code */
        start local 5 // int code
         4: .line 223
            goto 6
        end local 5 // int code
         5: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         6: .line 227
      StackMap locals: int
      StackMap stack:
            iload 5 /* code */
            ldc 55296
            if_icmplt 21
         7: .line 228
            iload 5 /* code */
            ldc 56319
            if_icmpgt 21
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 21
         8: .line 229
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         9: .line 231
            iload 6 /* low */
            ldc 56320
            if_icmplt 21
        10: .line 232
            iload 6 /* low */
            ldc 57343
            if_icmpgt 21
        11: .line 233
            iload 5 /* code */
            ldc 55296
            isub
        12: .line 234
            sipush 1024
        13: .line 233
            imul
        14: .line 234
            iload 6 /* low */
        15: .line 233
            iadd
        16: .line 234
            ldc 56320
        17: .line 233
            isub
        18: .line 234
            ldc 65536
        19: .line 233
            iadd
            istore 5 /* code */
        20: .line 235
            aload 3 /* glyphs */
            iload 4 /* i */
            iconst_1
            iadd
            ldc 65535
            iastore
        end local 6 // char low
        21: .line 239
      StackMap locals:
      StackMap stack:
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
        22: .line 240
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 25
        23: .line 241
            aload 3 /* glyphs */
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            arraylength
            if_icmpge 25
        24: .line 242
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            aload 3 /* glyphs */
            iload 4 /* i */
            iaload
            iload 5 /* code */
            i2c
            castore
        25: .line 245
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            sipush 768
            if_icmpge 27
        26: .line 246
            goto 31
        27: .line 248
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            invokestatic sun.font.FontManager.isComplexCharCode:(I)Z
            ifeq 29
        28: .line 249
            iconst_1
            ireturn
        29: .line 251
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            ldc 65536
            if_icmplt 31
        30: .line 252
            iinc 4 /* i */ 1
        end local 5 // int code
        31: .line 219
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
        33: .line 257
            iconst_0
            ireturn
        end local 3 // int[] glyphs
        end local 2 // char[] unicodes
        end local 1 // int count
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0      this  Lsun/font/TrueTypeGlyphMapper;
            0   34     1     count  I
            0   34     2  unicodes  [C
            0   34     3    glyphs  [I
            1   33     4         i  I
            4    5     5      code  I
            6   31     5      code  I
            9   21     6       low  C
    MethodParameters:
          Name  Flags
      count     
      unicodes  
      glyphs    

  boolean hasSupplementaryChars();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.font.TrueTypeGlyphMapper this
         0: .line 265
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat8
            ifne 4
         1: .line 266
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat10
            ifne 4
         2: .line 267
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat12
            ifne 4
         3: .line 264
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/font/TrueTypeGlyphMapper;
}
SourceFile: "TrueTypeGlyphMapper.java"
InnerClasses:
  CMapFormat10 = sun.font.CMap$CMapFormat10 of sun.font.CMap
  CMapFormat12 = sun.font.CMap$CMapFormat12 of sun.font.CMap
  CMapFormat8 = sun.font.CMap$CMapFormat8 of sun.font.CMap