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 boolean isJAlocale;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  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 40
            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 47
            aload 0 /* this */
            invokespecial sun.font.CharToGlyphMapper.<init>:()V
         1: .line 48
            aload 0 /* this */
            aload 1 /* font */
            putfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
         2: .line 50
            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 51
            goto 6
      StackMap locals: sun.font.TrueTypeGlyphMapper sun.font.TrueTypeFont
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 52
            aload 0 /* this */
            aconst_null
            putfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
         6: .line 54
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            ifnonnull 8
         7: .line 55
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeGlyphMapper.handleBadCMAP:()V
         8: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
         9: .line 58
            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 59
            aload 2 /* buffer */
            ifnull 13
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            bipush 6
            if_icmplt 13
        11: .line 60
            aload 0 /* this */
            aload 2 /* buffer */
            iconst_4
            invokevirtual java.nio.ByteBuffer.getChar:(I)C
            putfield sun.font.TrueTypeGlyphMapper.numGlyphs:I
        12: .line 61
            goto 14
        13: .line 62
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeGlyphMapper.handleBadCMAP:()V
        14: .line 64
      StackMap locals:
      StackMap stack:
            getstatic sun.font.FontUtilities.isSolaris:Z
            ifeq 17
            getstatic sun.font.TrueTypeGlyphMapper.isJAlocale:Z
            ifeq 17
            aload 1 /* font */
            invokevirtual sun.font.TrueTypeFont.supportsJA:()Z
            ifeq 17
        15: .line 65
            aload 0 /* this */
            iconst_1
            putfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
        16: .line 66
            goto 18
        17: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
        18: .line 69
      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 72
            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 77
            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 78
            iload 2 /* glyphCode */
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.numGlyphs:I
            if_icmplt 3
         2: .line 79
            iload 2 /* glyphCode */
            ldc 65534
            if_icmplt 5
         3: .line 80
      StackMap locals: int
      StackMap stack:
            iload 2 /* glyphCode */
         4: ireturn
         5: .line 82
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 12
         6: .line 83
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
         7: .line 84
            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 85
            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 86
            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 84
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 83
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        12: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
            i2c
        13: ireturn
        end local 2 // char glyphCode
        14: .line 90
      StackMap locals: sun.font.TrueTypeGlyphMapper int
      StackMap stack: java.lang.Exception
            pop
        15: .line 91
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeGlyphMapper.handleBadCMAP:()V
        16: .line 92
            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 97
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 4
         1: .line 98
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            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 99
            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 98
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
         4: .line 101
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.SunFontManager.deRegisterBadFont:(Lsun/font/Font2D;)V
         5: .line 106
            aload 0 /* this */
            getstatic sun.font.CMap.theNullCmap:Lsun/font/CMap$NullCMapClass;
            putfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
         6: .line 107
            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=2, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // char unicode
         0: .line 110
            iload 1 /* unicode */
            bipush 92
            if_icmpne 1
            sipush 165
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* unicode */
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // char unicode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/font/TrueTypeGlyphMapper;
            0    3     1  unicode  C
    MethodParameters:
         Name  Flags
      unicode  

  private final int remapJAIntChar(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int unicode
         0: .line 114
            iload 1 /* unicode */
            bipush 92
            if_icmpne 1
            sipush 165
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* unicode */
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int unicode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/font/TrueTypeGlyphMapper;
            0    3     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 118
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 119
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAChar:(C)C
            istore 1 /* unicode */
         2: .line 121
      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 122
            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 123
            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 125
      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 129
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 130
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAIntChar:(I)I
            istore 1 /* unicode */
         2: .line 132
      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 133
            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 134
            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 136
      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 140
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 10
         2: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 142
            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 143
            goto 6
         5: .line 144
      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 146
      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 147
            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 148
            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 140
      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 151
            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 155
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 29
         2: .line 157
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 158
            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 159
            goto 6
        end local 5 // int code
         5: .line 160
      StackMap locals:
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         6: .line 163
      StackMap locals: int
      StackMap stack:
            iload 5 /* code */
            ldc 55296
            if_icmplt 24
         7: .line 164
            iload 5 /* code */
            ldc 56319
            if_icmpgt 24
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 24
         8: .line 165
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         9: .line 167
            iload 6 /* low */
            ldc 56320
            if_icmplt 24
        10: .line 168
            iload 6 /* low */
            ldc 57343
            if_icmpgt 24
        11: .line 169
            iload 5 /* code */
            ldc 55296
            isub
        12: .line 170
            sipush 1024
        13: .line 169
            imul
        14: .line 170
            iload 6 /* low */
        15: .line 169
            iadd
        16: .line 170
            ldc 56320
        17: .line 169
            isub
        18: .line 170
            ldc 65536
        19: .line 169
            iadd
            istore 5 /* code */
        20: .line 172
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
        21: .line 173
            iinc 4 /* i */ 1
        22: .line 174
            aload 3 /* glyphs */
            iload 4 /* i */
            ldc 65535
            iastore
        23: .line 175
            goto 28
        end local 6 // char low
        24: .line 178
      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 180
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 28
        26: .line 181
            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 182
            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 155
      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 186
            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 195
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 32
         2: .line 197
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 198
            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 199
            goto 6
        end local 5 // int code
         5: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         6: .line 203
      StackMap locals: int
      StackMap stack:
            iload 5 /* code */
            ldc 55296
            if_icmplt 21
         7: .line 204
            iload 5 /* code */
            ldc 56319
            if_icmpgt 21
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 21
         8: .line 205
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         9: .line 207
            iload 6 /* low */
            ldc 56320
            if_icmplt 21
        10: .line 208
            iload 6 /* low */
            ldc 57343
            if_icmpgt 21
        11: .line 209
            iload 5 /* code */
            ldc 55296
            isub
        12: .line 210
            sipush 1024
        13: .line 209
            imul
        14: .line 210
            iload 6 /* low */
        15: .line 209
            iadd
        16: .line 210
            ldc 56320
        17: .line 209
            isub
        18: .line 210
            ldc 65536
        19: .line 209
            iadd
            istore 5 /* code */
        20: .line 211
            aload 3 /* glyphs */
            iload 4 /* i */
            iconst_1
            iadd
            ldc 65535
            iastore
        end local 6 // char low
        21: .line 215
      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 216
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 25
        23: .line 217
            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 218
            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 221
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            sipush 768
            if_icmpge 27
        26: .line 222
            goto 31
        27: .line 224
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            invokestatic sun.font.FontUtilities.isComplexCharCode:(I)Z
            ifeq 29
        28: .line 225
            iconst_1
            ireturn
        29: .line 227
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            ldc 65536
            if_icmplt 31
        30: .line 228
            iinc 4 /* i */ 1
        end local 5 // int code
        31: .line 195
      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 233
            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 241
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat8
            ifne 4
         1: .line 242
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat10
            ifne 4
         2: .line 243
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat12
            ifne 4
         3: .line 240
            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