class sun.font.CMap$CMapFormat12 extends sun.font.CMap
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.font.CMap$CMapFormat12
  super_class: sun.font.CMap
{
  int numGroups;
    descriptor: I
    flags: (0x0000) 

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

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

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

  long[] startCharCode;
    descriptor: [J
    flags: (0x0000) 

  long[] endCharCode;
    descriptor: [J
    flags: (0x0000) 

  int[] startGlyphID;
    descriptor: [I
    flags: (0x0000) 

  void <init>(java.nio.ByteBuffer, int, char[]);
    descriptor: (Ljava/nio/ByteBuffer;I[C)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // sun.font.CMap$CMapFormat12 this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // int offset
        start local 3 // char[] xlat
         0: .line 987
            aload 0 /* this */
            invokespecial sun.font.CMap.<init>:()V
         1: .line 980
            aload 0 /* this */
            iconst_0
            putfield sun.font.CMap$CMapFormat12.highBit:I
         2: .line 988
            aload 3 /* xlat */
            ifnull 4
         3: .line 989
            new java.lang.RuntimeException
            dup
            ldc "xlat array for cmap fmt=12"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 992
      StackMap locals: sun.font.CMap$CMapFormat12 java.nio.ByteBuffer int char[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            iload 2 /* offset */
            bipush 12
            iadd
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            putfield sun.font.CMap$CMapFormat12.numGroups:I
         5: .line 993
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 11
            putfield sun.font.CMap$CMapFormat12.startCharCode:[J
         6: .line 994
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 11
            putfield sun.font.CMap$CMapFormat12.endCharCode:[J
         7: .line 995
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 10
            putfield sun.font.CMap$CMapFormat12.startGlyphID:[I
         8: .line 996
            aload 1 /* buffer */
            iload 2 /* offset */
            bipush 16
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         9: .line 997
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        10: .line 998
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
            astore 4 /* ibuffer */
        start local 4 // java.nio.IntBuffer ibuffer
        11: .line 999
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 1000
      StackMap locals: java.nio.IntBuffer int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 5 /* i */
            aload 4 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            iconst_m1
            iand
            i2l
            lastore
        14: .line 1001
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.endCharCode:[J
            iload 5 /* i */
            aload 4 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            iconst_m1
            iand
            i2l
            lastore
        15: .line 1002
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startGlyphID:[I
            iload 5 /* i */
            aload 4 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            iconst_m1
            iand
            iastore
        16: .line 999
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            if_icmplt 13
        end local 5 // int i
        18: .line 1006
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            istore 5 /* value */
        start local 5 // int value
        19: .line 1008
            iload 5 /* value */
            ldc 65536
            if_icmplt 22
        20: .line 1009
            iload 5 /* value */
            bipush 16
            ishr
            istore 5 /* value */
        21: .line 1010
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            bipush 16
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        22: .line 1013
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            sipush 256
            if_icmplt 25
        23: .line 1014
            iload 5 /* value */
            bipush 8
            ishr
            istore 5 /* value */
        24: .line 1015
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            bipush 8
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        25: .line 1018
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            bipush 16
            if_icmplt 28
        26: .line 1019
            iload 5 /* value */
            iconst_4
            ishr
            istore 5 /* value */
        27: .line 1020
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_4
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        28: .line 1023
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            iconst_4
            if_icmplt 31
        29: .line 1024
            iload 5 /* value */
            iconst_2
            ishr
            istore 5 /* value */
        30: .line 1025
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_2
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        31: .line 1028
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            iconst_2
            if_icmplt 34
        32: .line 1029
            iload 5 /* value */
            iconst_1
            ishr
            istore 5 /* value */
        33: .line 1030
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_1
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        34: .line 1033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.highBit:I
            ishl
            putfield sun.font.CMap$CMapFormat12.power:I
        35: .line 1034
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.power:I
            isub
            putfield sun.font.CMap$CMapFormat12.extra:I
        36: .line 1035
            return
        end local 5 // int value
        end local 4 // java.nio.IntBuffer ibuffer
        end local 3 // char[] xlat
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.font.CMap$CMapFormat12 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     this  Lsun/font/CMap$CMapFormat12;
            0   37     1   buffer  Ljava/nio/ByteBuffer;
            0   37     2   offset  I
            0   37     3     xlat  [C
           11   37     4  ibuffer  Ljava/nio/IntBuffer;
           12   18     5        i  I
           19   37     5    value  I
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      xlat    

  char getGlyph(int);
    descriptor: (I)C
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.font.CMap$CMapFormat12 this
        start local 1 // int charCode
         0: .line 1038
            iload 1 /* charCode */
            istore 2 /* origCharCode */
        start local 2 // int origCharCode
         1: .line 1039
            aload 0 /* this */
            iload 1 /* charCode */
            iconst_0
            invokevirtual sun.font.CMap$CMapFormat12.getControlCodeGlyph:(IZ)I
            istore 3 /* controlGlyph */
        start local 3 // int controlGlyph
         2: .line 1040
            iload 3 /* controlGlyph */
            iflt 4
         3: .line 1041
            iload 3 /* controlGlyph */
            i2c
            ireturn
         4: .line 1043
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.power:I
            istore 4 /* probe */
        start local 4 // int probe
         5: .line 1044
            iconst_0
            istore 5 /* range */
        start local 5 // int range
         6: .line 1046
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.extra:I
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            ifgt 12
         7: .line 1047
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.extra:I
            istore 5 /* range */
         8: .line 1050
            goto 12
         9: .line 1051
      StackMap locals: int int
      StackMap stack:
            iload 4 /* probe */
            iconst_1
            ishr
            istore 4 /* probe */
        10: .line 1053
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 5 /* range */
            iload 4 /* probe */
            iadd
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            ifgt 12
        11: .line 1054
            iload 5 /* range */
            iload 4 /* probe */
            iadd
            istore 5 /* range */
        12: .line 1050
      StackMap locals:
      StackMap stack:
            iload 4 /* probe */
            iconst_1
            if_icmpgt 9
        13: .line 1058
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 5 /* range */
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            ifgt 17
        14: .line 1059
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.endCharCode:[J
            iload 5 /* range */
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            iflt 17
        15: .line 1061
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startGlyphID:[I
            iload 5 /* range */
            iaload
            i2l
            iload 1 /* charCode */
            i2l
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 5 /* range */
            laload
            lsub
            ladd
            l2i
            i2c
        16: .line 1060
            ireturn
        17: .line 1064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* origCharCode */
            invokevirtual sun.font.CMap$CMapFormat12.getFormatCharGlyph:(I)C
            ireturn
        end local 5 // int range
        end local 4 // int probe
        end local 3 // int controlGlyph
        end local 2 // int origCharCode
        end local 1 // int charCode
        end local 0 // sun.font.CMap$CMapFormat12 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lsun/font/CMap$CMapFormat12;
            0   18     1      charCode  I
            1   18     2  origCharCode  I
            2   18     3  controlGlyph  I
            5   18     4         probe  I
            6   18     5         range  I
    MethodParameters:
          Name  Flags
      charCode  
}
SourceFile: "CMap.java"
NestHost: sun.font.CMap
InnerClasses:
  CMapFormat12 = sun.font.CMap$CMapFormat12 of sun.font.CMap