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