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