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 953
            aload 0 /* this */
            invokespecial sun.font.CMap.<init>:()V
         1: .line 946
            aload 0 /* this */
            iconst_0
            putfield sun.font.CMap$CMapFormat12.highBit:I
         2: .line 954
            aload 3 /* xlat */
            ifnull 4
         3: .line 955
            new java.lang.RuntimeException
            dup
            ldc "xlat array for cmap fmt=12"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 958
      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 959
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 11
            putfield sun.font.CMap$CMapFormat12.startCharCode:[J
         6: .line 960
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 11
            putfield sun.font.CMap$CMapFormat12.endCharCode:[J
         7: .line 961
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 10
            putfield sun.font.CMap$CMapFormat12.startGlyphID:[I
         8: .line 962
            aload 1 /* buffer */
            iload 2 /* offset */
            bipush 16
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         9: .line 963
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        10: .line 964
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
            astore 4 /* ibuffer */
        start local 4 // java.nio.IntBuffer ibuffer
        11: .line 965
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 966
      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 967
            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 968
            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 965
            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 972
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            istore 5 /* value */
        start local 5 // int value
        19: .line 974
            iload 5 /* value */
            ldc 65536
            if_icmplt 22
        20: .line 975
            iload 5 /* value */
            bipush 16
            ishr
            istore 5 /* value */
        21: .line 976
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            bipush 16
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        22: .line 979
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            sipush 256
            if_icmplt 25
        23: .line 980
            iload 5 /* value */
            bipush 8
            ishr
            istore 5 /* value */
        24: .line 981
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            bipush 8
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        25: .line 984
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            bipush 16
            if_icmplt 28
        26: .line 985
            iload 5 /* value */
            iconst_4
            ishr
            istore 5 /* value */
        27: .line 986
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_4
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        28: .line 989
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            iconst_4
            if_icmplt 31
        29: .line 990
            iload 5 /* value */
            iconst_2
            ishr
            istore 5 /* value */
        30: .line 991
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_2
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        31: .line 994
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            iconst_2
            if_icmplt 34
        32: .line 995
            iload 5 /* value */
            iconst_1
            ishr
            istore 5 /* value */
        33: .line 996
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_1
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        34: .line 999
      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 1000
            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 1001
            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=5, args_size=2
        start local 0 // sun.font.CMap$CMapFormat12 this
        start local 1 // int charCode
         0: .line 1004
            aload 0 /* this */
            iload 1 /* charCode */
            iconst_0
            invokevirtual sun.font.CMap$CMapFormat12.getControlCodeGlyph:(IZ)I
            istore 2 /* controlGlyph */
        start local 2 // int controlGlyph
         1: .line 1005
            iload 2 /* controlGlyph */
            iflt 3
         2: .line 1006
            iload 2 /* controlGlyph */
            i2c
            ireturn
         3: .line 1008
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.power:I
            istore 3 /* probe */
        start local 3 // int probe
         4: .line 1009
            iconst_0
            istore 4 /* range */
        start local 4 // int range
         5: .line 1011
            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 11
         6: .line 1012
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.extra:I
            istore 4 /* range */
         7: .line 1015
            goto 11
         8: .line 1016
      StackMap locals: int int
      StackMap stack:
            iload 3 /* probe */
            iconst_1
            ishr
            istore 3 /* probe */
         9: .line 1018
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 4 /* range */
            iload 3 /* probe */
            iadd
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            ifgt 11
        10: .line 1019
            iload 4 /* range */
            iload 3 /* probe */
            iadd
            istore 4 /* range */
        11: .line 1015
      StackMap locals:
      StackMap stack:
            iload 3 /* probe */
            iconst_1
            if_icmpgt 8
        12: .line 1023
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 4 /* range */
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            ifgt 16
        13: .line 1024
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.endCharCode:[J
            iload 4 /* range */
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            iflt 16
        14: .line 1026
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startGlyphID:[I
            iload 4 /* range */
            iaload
            i2l
            iload 1 /* charCode */
            i2l
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 4 /* range */
            laload
            lsub
            ladd
            l2i
            i2c
        15: .line 1025
            ireturn
        16: .line 1029
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int range
        end local 3 // int probe
        end local 2 // int controlGlyph
        end local 1 // int charCode
        end local 0 // sun.font.CMap$CMapFormat12 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lsun/font/CMap$CMapFormat12;
            0   17     1      charCode  I
            1   17     2  controlGlyph  I
            4   17     3         probe  I
            5   17     4         range  I
    MethodParameters:
          Name  Flags
      charCode  
}
SourceFile: "CMap.java"
NestHost: sun.font.CMap
InnerClasses:
  CMapFormat12 = sun.font.CMap$CMapFormat12 of sun.font.CMap