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 char getGlyphFromCMAP(int, int);
    descriptor: (II)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int charCode
        start local 2 // int variationSelector
         0: .line 97
            iload 2 /* variationSelector */
            ifne 2
         1: .line 98
            aload 0 /* this */
            iload 1 /* charCode */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            ireturn
         2: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            iload 1 /* charCode */
         3: .line 102
            iload 2 /* variationSelector */
         4: .line 101
            invokevirtual sun.font.CMap.getVariationGlyph:(II)C
            istore 3 /* glyphCode */
        start local 3 // char glyphCode
         5: .line 103
            iload 3 /* glyphCode */
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.numGlyphs:I
            if_icmplt 7
         6: .line 104
            iload 3 /* glyphCode */
            ldc 65534
            if_icmplt 9
         7: .line 105
      StackMap locals: int
      StackMap stack:
            iload 3 /* glyphCode */
         8: ireturn
         9: .line 107
      StackMap locals:
      StackMap stack:
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 17
        10: .line 108
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
        11: .line 109
            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;
        12: .line 110
            iload 3 /* glyphCode */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 111
            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;
        14: .line 112
            ldc " for vs "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* variationSelector */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 109
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 108
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        17: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
            i2c
        18: ireturn
        end local 3 // char glyphCode
        19: .line 116
      StackMap locals: sun.font.TrueTypeGlyphMapper int int
      StackMap stack: java.lang.Exception
            pop
        20: .line 117
            aload 0 /* this */
            invokevirtual sun.font.TrueTypeGlyphMapper.handleBadCMAP:()V
        21: .line 118
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.missingGlyph:I
            i2c
            ireturn
        end local 2 // int variationSelector
        end local 1 // int charCode
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lsun/font/TrueTypeGlyphMapper;
            0   22     1           charCode  I
            0   22     2  variationSelector  I
            5   19     3          glyphCode  C
      Exception table:
        from    to  target  type
           2     8      19  Class java.lang.Exception
           9    18      19  Class java.lang.Exception
    MethodParameters:
                   Name  Flags
      charCode           
      variationSelector  

  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 123
            invokestatic sun.font.FontUtilities.isLogging:()Z
            ifeq 4
         1: .line 124
            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 125
            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 124
            invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
         4: .line 127
      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 132
            aload 0 /* this */
            getstatic sun.font.CMap.theNullCmap:Lsun/font/CMap$NullCMapClass;
            putfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
         6: .line 133
            return
        end local 0 // sun.font.TrueTypeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/font/TrueTypeGlyphMapper;

  private char remapJAChar(char);
    descriptor: (C)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // char unicode
         0: .line 136
            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 int remapJAIntChar(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int unicode
         0: .line 140
            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 144
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 145
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAChar:(C)C
            istore 1 /* unicode */
         2: .line 147
      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 148
            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 149
            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 151
      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 155
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 156
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAIntChar:(I)I
            istore 1 /* unicode */
         2: .line 158
      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 159
            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 160
            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 162
      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 int charToVariationGlyph(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.font.TrueTypeGlyphMapper this
        start local 1 // int unicode
        start local 2 // int variationSelector
         0: .line 167
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 2
         1: .line 168
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.TrueTypeGlyphMapper.remapJAIntChar:(I)I
            istore 1 /* unicode */
         2: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unicode */
            iload 2 /* variationSelector */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(II)C
            istore 3 /* glyph */
        start local 3 // int glyph
         3: .line 171
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 5
            iload 3 /* glyph */
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            arraylength
            if_icmpge 5
         4: .line 172
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            getfield sun.font.TrueTypeFont.glyphToCharMap:[C
            iload 3 /* glyph */
            iload 1 /* unicode */
            i2c
            castore
         5: .line 174
      StackMap locals: int
      StackMap stack:
            iload 3 /* glyph */
            ireturn
        end local 3 // int glyph
        end local 2 // int variationSelector
        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
            0    6     2  variationSelector  I
            3    6     3              glyph  I
    MethodParameters:
                   Name  Flags
      unicode            
      variationSelector  

  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 178
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 10
         2: .line 179
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 180
            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 181
            goto 6
         5: .line 182
      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 184
      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 185
            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 186
            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 178
      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 189
            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 193
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 29
         2: .line 195
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 196
            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 197
            goto 6
        end local 5 // int code
         5: .line 198
      StackMap locals:
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         6: .line 201
      StackMap locals: int
      StackMap stack:
            iload 5 /* code */
            ldc 55296
            if_icmplt 24
         7: .line 202
            iload 5 /* code */
            ldc 56319
            if_icmpgt 24
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 24
         8: .line 203
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         9: .line 205
            iload 6 /* low */
            ldc 56320
            if_icmplt 24
        10: .line 206
            iload 6 /* low */
            ldc 57343
            if_icmpgt 24
        11: .line 207
            iload 5 /* code */
            ldc 55296
            isub
        12: .line 208
            sipush 1024
        13: .line 207
            imul
        14: .line 208
            iload 6 /* low */
        15: .line 207
            iadd
        16: .line 208
            ldc 56320
        17: .line 207
            isub
        18: .line 208
            ldc 65536
        19: .line 207
            iadd
            istore 5 /* code */
        20: .line 210
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.TrueTypeGlyphMapper.getGlyphFromCMAP:(I)C
            iastore
        21: .line 211
            iinc 4 /* i */ 1
        22: .line 212
            aload 3 /* glyphs */
            iload 4 /* i */
            ldc 65535
            iastore
        23: .line 213
            goto 28
        end local 6 // char low
        24: .line 216
      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 218
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 28
        26: .line 219
            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 220
            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 193
      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 224
            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 233
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 33
         2: .line 235
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.needsJAremapping:Z
            ifeq 5
         3: .line 236
            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 237
            goto 6
        end local 5 // int code
         5: .line 238
      StackMap locals:
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         6: .line 241
      StackMap locals: int
      StackMap stack:
            iload 5 /* code */
            ldc 55296
            if_icmplt 21
         7: .line 242
            iload 5 /* code */
            ldc 56319
            if_icmpgt 21
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 21
         8: .line 243
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         9: .line 245
            iload 6 /* low */
            ldc 56320
            if_icmplt 21
        10: .line 246
            iload 6 /* low */
            ldc 57343
            if_icmpgt 21
        11: .line 247
            iload 5 /* code */
            ldc 55296
            isub
        12: .line 248
            sipush 1024
        13: .line 247
            imul
        14: .line 248
            iload 6 /* low */
        15: .line 247
            iadd
        16: .line 248
            ldc 56320
        17: .line 247
            isub
        18: .line 248
            ldc 65536
        19: .line 247
            iadd
            istore 5 /* code */
        20: .line 249
            aload 3 /* glyphs */
            iload 4 /* i */
            iconst_1
            iadd
            ldc 65535
            iastore
        end local 6 // char low
        21: .line 253
      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 254
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.font:Lsun/font/TrueTypeFont;
            invokevirtual sun.font.TrueTypeFont.checkUseNatives:()Z
            ifeq 25
        23: .line 255
            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 256
            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 259
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            sipush 768
            if_icmpge 27
        26: .line 260
            goto 32
        27: .line 262
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            invokestatic sun.font.FontUtilities.isComplexCharCode:(I)Z
            ifne 29
        28: .line 263
            iload 5 /* code */
            invokestatic sun.font.CharToGlyphMapper.isVariationSelector:(I)Z
            ifeq 30
        29: .line 264
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        30: .line 266
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            ldc 65536
            if_icmplt 32
        31: .line 267
            iinc 4 /* i */ 1
        end local 5 // int code
        32: .line 233
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
        34: .line 272
            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   35     0      this  Lsun/font/TrueTypeGlyphMapper;
            0   35     1     count  I
            0   35     2  unicodes  [C
            0   35     3    glyphs  [I
            1   34     4         i  I
            4    5     5      code  I
            6   32     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 280
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat8
            ifne 4
         1: .line 281
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat10
            ifne 4
         2: .line 282
            aload 0 /* this */
            getfield sun.font.TrueTypeGlyphMapper.cmap:Lsun/font/CMap;
            instanceof sun.font.CMap$CMapFormat12
            ifne 4
         3: .line 279
            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