class com.sun.javafx.font.CMap$CMapFormat2 extends com.sun.javafx.font.CMap
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.javafx.font.CMap$CMapFormat2
super_class: com.sun.javafx.font.CMap
{
char[] subHeaderKey;
descriptor: [C
flags: (0x0000)
char[] firstCodeArray;
descriptor: [C
flags: (0x0000)
char[] entryCountArray;
descriptor: [C
flags: (0x0000)
short[] idDeltaArray;
descriptor: [S
flags: (0x0000)
char[] idRangeOffSetArray;
descriptor: [C
flags: (0x0000)
char[] glyphIndexArray;
descriptor: [C
flags: (0x0000)
void <init>(com.sun.javafx.font.FontFileReader$Buffer, int);
descriptor: (Lcom/sun/javafx/font/FontFileReader$Buffer;I)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=3
start local 0 // com.sun.javafx.font.CMap$CMapFormat2 this
start local 1 // com.sun.javafx.font.FontFileReader$Buffer buffer
start local 2 // int offset
0: .line 327
aload 0 /* this */
invokespecial com.sun.javafx.font.CMap.<init>:()V
1: .line 311
aload 0 /* this */
sipush 256
newarray 5
putfield com.sun.javafx.font.CMap$CMapFormat2.subHeaderKey:[C
2: .line 329
aload 1 /* buffer */
iload 2 /* offset */
iconst_2
iadd
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:(I)C
istore 3 /* tableLen */
start local 3 // int tableLen
3: .line 330
aload 1 /* buffer */
iload 2 /* offset */
bipush 6
iadd
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.position:(I)V
4: .line 331
iconst_0
istore 4 /* maxSubHeader */
start local 4 // char maxSubHeader
5: .line 332
iconst_0
istore 5 /* i */
start local 5 // int i
6: goto 11
7: .line 333
StackMap locals: com.sun.javafx.font.CMap$CMapFormat2 com.sun.javafx.font.FontFileReader$Buffer int int int int
StackMap stack:
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.subHeaderKey:[C
iload 5 /* i */
aload 1 /* buffer */
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
castore
8: .line 334
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.subHeaderKey:[C
iload 5 /* i */
caload
iload 4 /* maxSubHeader */
if_icmple 10
9: .line 335
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.subHeaderKey:[C
iload 5 /* i */
caload
istore 4 /* maxSubHeader */
10: .line 332
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 5 /* i */
sipush 256
if_icmplt 7
end local 5 // int i
12: .line 342
iload 4 /* maxSubHeader */
iconst_3
ishr
iconst_1
iadd
istore 5 /* numSubHeaders */
start local 5 // int numSubHeaders
13: .line 343
aload 0 /* this */
iload 5 /* numSubHeaders */
newarray 5
putfield com.sun.javafx.font.CMap$CMapFormat2.firstCodeArray:[C
14: .line 344
aload 0 /* this */
iload 5 /* numSubHeaders */
newarray 5
putfield com.sun.javafx.font.CMap$CMapFormat2.entryCountArray:[C
15: .line 345
aload 0 /* this */
iload 5 /* numSubHeaders */
newarray 9
putfield com.sun.javafx.font.CMap$CMapFormat2.idDeltaArray:[S
16: .line 346
aload 0 /* this */
iload 5 /* numSubHeaders */
newarray 5
putfield com.sun.javafx.font.CMap$CMapFormat2.idRangeOffSetArray:[C
17: .line 347
iconst_0
istore 6 /* i */
start local 6 // int i
18: goto 24
19: .line 348
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.firstCodeArray:[C
iload 6 /* i */
aload 1 /* buffer */
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
castore
20: .line 349
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.entryCountArray:[C
iload 6 /* i */
aload 1 /* buffer */
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
castore
21: .line 350
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.idDeltaArray:[S
iload 6 /* i */
aload 1 /* buffer */
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
i2s
sastore
22: .line 351
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.idRangeOffSetArray:[C
iload 6 /* i */
aload 1 /* buffer */
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
castore
23: .line 347
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
24: iload 6 /* i */
iload 5 /* numSubHeaders */
if_icmplt 19
end local 6 // int i
25: .line 354
iload 3 /* tableLen */
sipush 518
isub
iload 5 /* numSubHeaders */
bipush 8
imul
isub
iconst_2
idiv
istore 6 /* glyphIndexArrSize */
start local 6 // int glyphIndexArrSize
26: .line 355
aload 0 /* this */
iload 6 /* glyphIndexArrSize */
newarray 5
putfield com.sun.javafx.font.CMap$CMapFormat2.glyphIndexArray:[C
27: .line 356
iconst_0
istore 7 /* i */
start local 7 // int i
28: goto 31
29: .line 357
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.glyphIndexArray:[C
iload 7 /* i */
aload 1 /* buffer */
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
castore
30: .line 356
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
31: iload 7 /* i */
iload 6 /* glyphIndexArrSize */
if_icmplt 29
end local 7 // int i
32: .line 359
return
end local 6 // int glyphIndexArrSize
end local 5 // int numSubHeaders
end local 4 // char maxSubHeader
end local 3 // int tableLen
end local 2 // int offset
end local 1 // com.sun.javafx.font.FontFileReader$Buffer buffer
end local 0 // com.sun.javafx.font.CMap$CMapFormat2 this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/javafx/font/CMap$CMapFormat2;
0 33 1 buffer Lcom/sun/javafx/font/FontFileReader$Buffer;
0 33 2 offset I
3 33 3 tableLen I
5 33 4 maxSubHeader C
6 12 5 i I
13 33 5 numSubHeaders I
18 25 6 i I
26 33 6 glyphIndexArrSize I
28 32 7 i I
MethodParameters:
Name Flags
buffer
offset
char getGlyph(int);
descriptor: (I)C
flags: (0x0000)
Code:
stack=3, locals=11, args_size=2
start local 0 // com.sun.javafx.font.CMap$CMapFormat2 this
start local 1 // int charCode
0: .line 362
aload 0 /* this */
iload 1 /* charCode */
iconst_1
invokevirtual com.sun.javafx.font.CMap$CMapFormat2.getControlCodeGlyph:(IZ)I
istore 2 /* controlGlyph */
start local 2 // int controlGlyph
1: .line 363
iload 2 /* controlGlyph */
iflt 3
2: .line 364
iload 2 /* controlGlyph */
i2c
ireturn
3: .line 367
StackMap locals: int
StackMap stack:
iload 1 /* charCode */
bipush 8
ishr
i2c
istore 3 /* highByte */
start local 3 // char highByte
4: .line 368
iload 1 /* charCode */
sipush 255
iand
i2c
istore 4 /* lowByte */
start local 4 // char lowByte
5: .line 369
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.subHeaderKey:[C
iload 3 /* highByte */
caload
iconst_3
ishr
istore 5 /* key */
start local 5 // int key
6: .line 372
iload 5 /* key */
ifeq 9
7: .line 373
iload 4 /* lowByte */
istore 6 /* mapMe */
start local 6 // char mapMe
8: .line 374
goto 12
end local 6 // char mapMe
9: .line 375
StackMap locals: int int int
StackMap stack:
iload 3 /* highByte */
istore 6 /* mapMe */
start local 6 // char mapMe
10: .line 376
iload 6 /* mapMe */
ifne 12
11: .line 377
iload 4 /* lowByte */
istore 6 /* mapMe */
12: .line 380
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.firstCodeArray:[C
iload 5 /* key */
caload
istore 7 /* firstCode */
start local 7 // char firstCode
13: .line 381
iload 6 /* mapMe */
iload 7 /* firstCode */
if_icmpge 15
14: .line 382
iconst_0
ireturn
15: .line 384
StackMap locals: int
StackMap stack:
iload 6 /* mapMe */
iload 7 /* firstCode */
isub
i2c
istore 6 /* mapMe */
16: .line 387
iload 6 /* mapMe */
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.entryCountArray:[C
iload 5 /* key */
caload
if_icmpge 24
17: .line 401
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.idRangeOffSetArray:[C
arraylength
iload 5 /* key */
isub
bipush 8
imul
bipush 6
isub
istore 8 /* glyphArrayOffset */
start local 8 // int glyphArrayOffset
18: .line 403
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.idRangeOffSetArray:[C
iload 5 /* key */
caload
iload 8 /* glyphArrayOffset */
isub
iconst_2
idiv
19: .line 402
istore 9 /* glyphSubArrayStart */
start local 9 // int glyphSubArrayStart
20: .line 404
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.glyphIndexArray:[C
iload 9 /* glyphSubArrayStart */
iload 6 /* mapMe */
iadd
caload
istore 10 /* glyphCode */
start local 10 // char glyphCode
21: .line 405
iload 10 /* glyphCode */
ifeq 24
22: .line 406
iload 10 /* glyphCode */
aload 0 /* this */
getfield com.sun.javafx.font.CMap$CMapFormat2.idDeltaArray:[S
iload 5 /* key */
saload
iadd
i2c
istore 10 /* glyphCode */
23: .line 407
iload 10 /* glyphCode */
ireturn
end local 10 // char glyphCode
end local 9 // int glyphSubArrayStart
end local 8 // int glyphArrayOffset
24: .line 410
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 // char firstCode
end local 6 // char mapMe
end local 5 // int key
end local 4 // char lowByte
end local 3 // char highByte
end local 2 // int controlGlyph
end local 1 // int charCode
end local 0 // com.sun.javafx.font.CMap$CMapFormat2 this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/javafx/font/CMap$CMapFormat2;
0 25 1 charCode I
1 25 2 controlGlyph I
4 25 3 highByte C
5 25 4 lowByte C
6 25 5 key I
8 9 6 mapMe C
10 25 6 mapMe C
13 25 7 firstCode C
18 24 8 glyphArrayOffset I
20 24 9 glyphSubArrayStart I
21 24 10 glyphCode C
MethodParameters:
Name Flags
charCode
}
SourceFile: "CMap.java"
NestHost: com.sun.javafx.font.CMap
InnerClasses:
CMapFormat2 = com.sun.javafx.font.CMap$CMapFormat2 of com.sun.javafx.font.CMap
Buffer = com.sun.javafx.font.FontFileReader$Buffer of com.sun.javafx.font.FontFileReader