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=6, 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 961
            aload 0 /* this */
            invokespecial sun.font.CMap.<init>:()V
         1: .line 954
            aload 0 /* this */
            iconst_0
            putfield sun.font.CMap$CMapFormat12.highBit:I
         2: .line 962
            aload 3 /* xlat */
            ifnull 4
         3: .line 963
            new java.lang.RuntimeException
            dup
            ldc "xlat array for cmap fmt=12"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 966
      StackMap locals: sun.font.CMap$CMapFormat12 java.nio.ByteBuffer int char[]
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* offset */
            bipush 12
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         5: .line 967
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            ldc 2147483647
            iand
            putfield sun.font.CMap$CMapFormat12.numGroups:I
         6: .line 969
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            ldc 12
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            i2l
            lmul
            lcmp
            ifge 8
         7: .line 970
            new java.lang.RuntimeException
            dup
            ldc "Format 12 table exceeded"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 11
            putfield sun.font.CMap$CMapFormat12.startCharCode:[J
         9: .line 973
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 11
            putfield sun.font.CMap$CMapFormat12.endCharCode:[J
        10: .line 974
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            newarray 10
            putfield sun.font.CMap$CMapFormat12.startGlyphID:[I
        11: .line 975
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        12: .line 976
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
            astore 4 /* ibuffer */
        start local 4 // java.nio.IntBuffer ibuffer
        13: .line 977
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 19
        15: .line 978
      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
            ldc 2147483647
            iand
            i2l
            lastore
        16: .line 979
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.endCharCode:[J
            iload 5 /* i */
            aload 4 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            ldc 2147483647
            iand
            i2l
            lastore
        17: .line 980
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startGlyphID:[I
            iload 5 /* i */
            aload 4 /* ibuffer */
            invokevirtual java.nio.IntBuffer.get:()I
            ldc 2147483647
            iand
            iastore
        18: .line 977
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            if_icmplt 15
        end local 5 // int i
        20: .line 984
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.numGroups:I
            istore 5 /* value */
        start local 5 // int value
        21: .line 986
            iload 5 /* value */
            ldc 65536
            if_icmplt 24
        22: .line 987
            iload 5 /* value */
            bipush 16
            ishr
            istore 5 /* value */
        23: .line 988
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            bipush 16
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        24: .line 991
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            sipush 256
            if_icmplt 27
        25: .line 992
            iload 5 /* value */
            bipush 8
            ishr
            istore 5 /* value */
        26: .line 993
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            bipush 8
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        27: .line 996
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            bipush 16
            if_icmplt 30
        28: .line 997
            iload 5 /* value */
            iconst_4
            ishr
            istore 5 /* value */
        29: .line 998
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_4
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        30: .line 1001
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            iconst_4
            if_icmplt 33
        31: .line 1002
            iload 5 /* value */
            iconst_2
            ishr
            istore 5 /* value */
        32: .line 1003
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_2
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        33: .line 1006
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            iconst_2
            if_icmplt 36
        34: .line 1007
            iload 5 /* value */
            iconst_1
            ishr
            istore 5 /* value */
        35: .line 1008
            aload 0 /* this */
            dup
            getfield sun.font.CMap$CMapFormat12.highBit:I
            iconst_1
            iadd
            putfield sun.font.CMap$CMapFormat12.highBit:I
        36: .line 1011
      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
        37: .line 1012
            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
        38: .line 1013
            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   39     0     this  Lsun/font/CMap$CMapFormat12;
            0   39     1   buffer  Ljava/nio/ByteBuffer;
            0   39     2   offset  I
            0   39     3     xlat  [C
           13   39     4  ibuffer  Ljava/nio/IntBuffer;
           14   20     5        i  I
           21   39     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 1016
            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 1017
            iload 2 /* controlGlyph */
            iflt 3
         2: .line 1018
            iload 2 /* controlGlyph */
            i2c
            ireturn
         3: .line 1020
      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 1021
            iconst_0
            istore 4 /* range */
        start local 4 // int range
         5: .line 1023
            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 1024
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.extra:I
            istore 4 /* range */
         7: .line 1027
            goto 11
         8: .line 1028
      StackMap locals: int int
      StackMap stack:
            iload 3 /* probe */
            iconst_1
            ishr
            istore 3 /* probe */
         9: .line 1030
            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 1031
            iload 4 /* range */
            iload 3 /* probe */
            iadd
            istore 4 /* range */
        11: .line 1027
      StackMap locals:
      StackMap stack:
            iload 3 /* probe */
            iconst_1
            if_icmpgt 8
        12: .line 1035
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.startCharCode:[J
            iload 4 /* range */
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            ifgt 16
        13: .line 1036
            aload 0 /* this */
            getfield sun.font.CMap$CMapFormat12.endCharCode:[J
            iload 4 /* range */
            laload
            iload 1 /* charCode */
            i2l
            lcmp
            iflt 16
        14: .line 1038
            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 1037
            ireturn
        16: .line 1041
      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