public class sun.font.CompositeGlyphMapper extends sun.font.CharToGlyphMapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.font.CompositeGlyphMapper
super_class: sun.font.CharToGlyphMapper
{
public static final int SLOTMASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -16777216
public static final int GLYPHMASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16777215
public static final int NBLOCKS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 216
public static final int BLOCKSZ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final int MAXUNICODE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 55296
sun.font.CompositeFont font;
descriptor: Lsun/font/CompositeFont;
flags: (0x0000)
sun.font.CharToGlyphMapper[] slotMappers;
descriptor: [Lsun/font/CharToGlyphMapper;
flags: (0x0000)
int[][] glyphMaps;
descriptor: [[I
flags: (0x0000)
private boolean hasExcludes;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.font.CompositeFont);
descriptor: (Lsun/font/CompositeFont;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // sun.font.CompositeFont compFont
0: .line 60
aload 0 /* this */
invokespecial sun.font.CharToGlyphMapper.<init>:()V
1: .line 61
aload 0 /* this */
aload 1 /* compFont */
putfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
2: .line 62
aload 0 /* this */
invokevirtual sun.font.CompositeGlyphMapper.initMapper:()V
3: .line 66
aload 0 /* this */
aload 1 /* compFont */
getfield sun.font.CompositeFont.exclusionRanges:[I
ifnull 5
4: .line 67
aload 1 /* compFont */
getfield sun.font.CompositeFont.maxIndices:[I
ifnull 5
iconst_1
goto 6
StackMap locals: sun.font.CompositeGlyphMapper sun.font.CompositeFont
StackMap stack: sun.font.CompositeGlyphMapper
5: iconst_0
6: .line 66
StackMap locals: sun.font.CompositeGlyphMapper sun.font.CompositeFont
StackMap stack: sun.font.CompositeGlyphMapper int
putfield sun.font.CompositeGlyphMapper.hasExcludes:Z
7: .line 68
return
end local 1 // sun.font.CompositeFont compFont
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/font/CompositeGlyphMapper;
0 8 1 compFont Lsun/font/CompositeFont;
MethodParameters:
Name Flags
compFont
public int compositeGlyphCode(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int slot
start local 2 // int glyphCode
0: .line 71
iload 1 /* slot */
bipush 24
ishl
iload 2 /* glyphCode */
ldc 16777215
iand
ior
ireturn
end local 2 // int glyphCode
end local 1 // int slot
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CompositeGlyphMapper;
0 1 1 slot I
0 1 2 glyphCode I
MethodParameters:
Name Flags
slot
glyphCode
private void initMapper();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 // sun.font.CompositeGlyphMapper this
0: .line 75
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.missingGlyph:I
iconst_m1
if_icmpne 6
1: .line 76
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
ifnonnull 3
2: .line 77
aload 0 /* this */
sipush 216
anewarray int[]
putfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
3: .line 79
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
getfield sun.font.CompositeFont.numSlots:I
anewarray sun.font.CharToGlyphMapper
putfield sun.font.CompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
4: .line 81
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
iconst_0
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.getMissingGlyphCode:()I
putfield sun.font.CompositeGlyphMapper.missingGlyph:I
5: .line 82
aload 0 /* this */
aload 0 /* this */
iconst_0
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.missingGlyph:I
invokevirtual sun.font.CompositeGlyphMapper.compositeGlyphCode:(II)I
putfield sun.font.CompositeGlyphMapper.missingGlyph:I
6: .line 84
StackMap locals:
StackMap stack:
return
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/CompositeGlyphMapper;
private int getCachedGlyphCode(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int unicode
0: .line 87
iload 1 /* unicode */
ldc 55296
if_icmplt 2
1: .line 88
iconst_m1
ireturn
2: .line 91
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
iload 1 /* unicode */
bipush 8
ishr
aaload
dup
astore 2 /* gmap */
start local 2 // int[] gmap
3: ifnonnull 5
4: .line 92
iconst_m1
ireturn
5: .line 94
StackMap locals: int[]
StackMap stack:
aload 2 /* gmap */
iload 1 /* unicode */
sipush 255
iand
iaload
ireturn
end local 2 // int[] gmap
end local 1 // int unicode
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/CompositeGlyphMapper;
0 6 1 unicode I
3 6 2 gmap [I
MethodParameters:
Name Flags
unicode
private void setCachedGlyphCode(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int unicode
start local 2 // int glyphCode
0: .line 98
iload 1 /* unicode */
ldc 55296
if_icmplt 2
1: .line 99
return
2: .line 101
StackMap locals:
StackMap stack:
iload 1 /* unicode */
bipush 8
ishr
istore 3 /* index0 */
start local 3 // int index0
3: .line 102
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
iload 3 /* index0 */
aaload
ifnonnull 10
4: .line 103
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
iload 3 /* index0 */
sipush 256
newarray 10
aastore
5: .line 104
iconst_0
istore 4 /* i */
start local 4 // int i
6: goto 9
7: .line 105
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
iload 3 /* index0 */
aaload
iload 4 /* i */
iconst_m1
iastore
8: .line 104
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 4 /* i */
sipush 256
if_icmplt 7
end local 4 // int i
10: .line 108
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.glyphMaps:[[I
iload 3 /* index0 */
aaload
iload 1 /* unicode */
sipush 255
iand
iload 2 /* glyphCode */
iastore
11: .line 109
return
end local 3 // int index0
end local 2 // int glyphCode
end local 1 // int unicode
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/font/CompositeGlyphMapper;
0 12 1 unicode I
0 12 2 glyphCode I
3 12 3 index0 I
6 10 4 i I
MethodParameters:
Name Flags
unicode
glyphCode
private sun.font.CharToGlyphMapper getSlotMapper(int);
descriptor: (I)Lsun/font/CharToGlyphMapper;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int slot
0: .line 112
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 1 /* slot */
aaload
astore 2 /* mapper */
start local 2 // sun.font.CharToGlyphMapper mapper
1: .line 113
aload 2 /* mapper */
ifnonnull 4
2: .line 114
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
iload 1 /* slot */
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.getMapper:()Lsun/font/CharToGlyphMapper;
astore 2 /* mapper */
3: .line 115
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 1 /* slot */
aload 2 /* mapper */
aastore
4: .line 117
StackMap locals: sun.font.CharToGlyphMapper
StackMap stack:
aload 2 /* mapper */
areturn
end local 2 // sun.font.CharToGlyphMapper mapper
end local 1 // int slot
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/CompositeGlyphMapper;
0 5 1 slot I
1 5 2 mapper Lsun/font/CharToGlyphMapper;
MethodParameters:
Name Flags
slot
private int convertToGlyph(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int unicode
0: .line 122
iconst_0
istore 2 /* slot */
start local 2 // int slot
1: goto 10
2: .line 123
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.hasExcludes:Z
ifeq 3
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
iload 2 /* slot */
iload 1 /* unicode */
invokevirtual sun.font.CompositeFont.isExcludedChar:(II)Z
ifne 9
3: .line 124
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 2 /* slot */
invokevirtual sun.font.CompositeGlyphMapper.getSlotMapper:(I)Lsun/font/CharToGlyphMapper;
astore 3 /* mapper */
start local 3 // sun.font.CharToGlyphMapper mapper
4: .line 125
aload 3 /* mapper */
iload 1 /* unicode */
invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
istore 4 /* glyphCode */
start local 4 // int glyphCode
5: .line 126
iload 4 /* glyphCode */
aload 3 /* mapper */
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
if_icmpeq 9
6: .line 127
aload 0 /* this */
iload 2 /* slot */
iload 4 /* glyphCode */
invokevirtual sun.font.CompositeGlyphMapper.compositeGlyphCode:(II)I
istore 4 /* glyphCode */
7: .line 128
aload 0 /* this */
iload 1 /* unicode */
iload 4 /* glyphCode */
invokevirtual sun.font.CompositeGlyphMapper.setCachedGlyphCode:(II)V
8: .line 129
iload 4 /* glyphCode */
ireturn
end local 4 // int glyphCode
end local 3 // sun.font.CharToGlyphMapper mapper
9: .line 122
StackMap locals:
StackMap stack:
iinc 2 /* slot */ 1
StackMap locals:
StackMap stack:
10: iload 2 /* slot */
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 2
end local 2 // int slot
11: .line 133
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.missingGlyph:I
ireturn
end local 1 // int unicode
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/font/CompositeGlyphMapper;
0 12 1 unicode I
1 11 2 slot I
4 9 3 mapper Lsun/font/CharToGlyphMapper;
5 9 4 glyphCode I
MethodParameters:
Name Flags
unicode
public int getNumGlyphs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // sun.font.CompositeGlyphMapper this
0: .line 137
iconst_0
istore 1 /* numGlyphs */
start local 1 // int numGlyphs
1: .line 147
iconst_0
istore 2 /* slot */
start local 2 // int slot
2: goto 9
3: .line 148
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 2 /* slot */
aaload
astore 3 /* mapper */
start local 3 // sun.font.CharToGlyphMapper mapper
4: .line 149
aload 3 /* mapper */
ifnonnull 7
5: .line 150
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.font:Lsun/font/CompositeFont;
iload 2 /* slot */
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.getMapper:()Lsun/font/CharToGlyphMapper;
astore 3 /* mapper */
6: .line 151
aload 0 /* this */
getfield sun.font.CompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 2 /* slot */
aload 3 /* mapper */
aastore
7: .line 153
StackMap locals: sun.font.CharToGlyphMapper
StackMap stack:
iload 1 /* numGlyphs */
aload 3 /* mapper */
invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
iadd
istore 1 /* numGlyphs */
end local 3 // sun.font.CharToGlyphMapper mapper
8: .line 147
iinc 2 /* slot */ 1
StackMap locals:
StackMap stack:
9: iload 2 /* slot */
iconst_1
if_icmplt 3
end local 2 // int slot
10: .line 155
iload 1 /* numGlyphs */
ireturn
end local 1 // int numGlyphs
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/font/CompositeGlyphMapper;
1 11 1 numGlyphs I
2 10 2 slot I
4 8 3 mapper Lsun/font/CharToGlyphMapper;
public int charToGlyph(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int unicode
0: .line 160
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CompositeGlyphMapper.getCachedGlyphCode:(I)I
istore 2 /* glyphCode */
start local 2 // int glyphCode
1: .line 161
iload 2 /* glyphCode */
iconst_m1
if_icmpne 3
2: .line 162
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CompositeGlyphMapper.convertToGlyph:(I)I
istore 2 /* glyphCode */
3: .line 164
StackMap locals: int
StackMap stack:
iload 2 /* glyphCode */
ireturn
end local 2 // int glyphCode
end local 1 // int unicode
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/CompositeGlyphMapper;
0 4 1 unicode I
1 4 2 glyphCode I
MethodParameters:
Name Flags
unicode
public int charToGlyph(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int unicode
start local 2 // int prefSlot
0: .line 168
iload 2 /* prefSlot */
iflt 5
1: .line 169
aload 0 /* this */
iload 2 /* prefSlot */
invokevirtual sun.font.CompositeGlyphMapper.getSlotMapper:(I)Lsun/font/CharToGlyphMapper;
astore 3 /* mapper */
start local 3 // sun.font.CharToGlyphMapper mapper
2: .line 170
aload 3 /* mapper */
iload 1 /* unicode */
invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
istore 4 /* glyphCode */
start local 4 // int glyphCode
3: .line 171
iload 4 /* glyphCode */
aload 3 /* mapper */
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
if_icmpeq 5
4: .line 172
aload 0 /* this */
iload 2 /* prefSlot */
iload 4 /* glyphCode */
invokevirtual sun.font.CompositeGlyphMapper.compositeGlyphCode:(II)I
ireturn
end local 4 // int glyphCode
end local 3 // sun.font.CharToGlyphMapper mapper
5: .line 175
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CompositeGlyphMapper.charToGlyph:(I)I
ireturn
end local 2 // int prefSlot
end local 1 // int unicode
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/CompositeGlyphMapper;
0 6 1 unicode I
0 6 2 prefSlot I
2 5 3 mapper Lsun/font/CharToGlyphMapper;
3 5 4 glyphCode I
MethodParameters:
Name Flags
unicode
prefSlot
public int charToGlyph(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // char unicode
0: .line 180
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CompositeGlyphMapper.getCachedGlyphCode:(I)I
istore 2 /* glyphCode */
start local 2 // int glyphCode
1: .line 181
iload 2 /* glyphCode */
iconst_m1
if_icmpne 3
2: .line 182
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CompositeGlyphMapper.convertToGlyph:(I)I
istore 2 /* glyphCode */
3: .line 184
StackMap locals: int
StackMap stack:
iload 2 /* glyphCode */
ireturn
end local 2 // int glyphCode
end local 1 // char unicode
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/CompositeGlyphMapper;
0 4 1 unicode C
1 4 2 glyphCode I
MethodParameters:
Name Flags
unicode
public boolean charsToGlyphsNS(int, char[], int[]);
descriptor: (I[C[I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int count
start local 2 // char[] unicodes
start local 3 // int[] glyphs
0: .line 194
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 28
2: .line 195
StackMap locals: int
StackMap stack:
aload 2 /* unicodes */
iload 4 /* i */
caload
istore 5 /* code */
start local 5 // int code
3: .line 197
iload 5 /* code */
ldc 55296
if_icmplt 18
4: .line 198
iload 5 /* code */
ldc 56319
if_icmpgt 18
iload 4 /* i */
iload 1 /* count */
iconst_1
isub
if_icmpge 18
5: .line 199
aload 2 /* unicodes */
iload 4 /* i */
iconst_1
iadd
caload
istore 6 /* low */
start local 6 // char low
6: .line 201
iload 6 /* low */
ldc 56320
if_icmplt 18
7: .line 202
iload 6 /* low */
ldc 57343
if_icmpgt 18
8: .line 203
iload 5 /* code */
ldc 55296
isub
9: .line 204
sipush 1024
10: .line 203
imul
11: .line 204
iload 6 /* low */
12: .line 203
iadd
13: .line 204
ldc 56320
14: .line 203
isub
15: .line 204
ldc 65536
16: .line 203
iadd
istore 5 /* code */
17: .line 205
aload 3 /* glyphs */
iload 4 /* i */
iconst_1
iadd
ldc 65535
iastore
end local 6 // char low
18: .line 209
StackMap locals: int
StackMap stack:
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.getCachedGlyphCode:(I)I
dup_x2
iastore
istore 6 /* gc */
start local 6 // int gc
19: .line 210
iload 6 /* gc */
iconst_m1
if_icmpne 21
20: .line 211
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.convertToGlyph:(I)I
iastore
21: .line 214
StackMap locals: int
StackMap stack:
iload 5 /* code */
sipush 768
if_icmpge 23
22: .line 215
goto 27
23: .line 217
StackMap locals:
StackMap stack:
iload 5 /* code */
invokestatic sun.font.FontUtilities.isComplexCharCode:(I)Z
ifeq 25
24: .line 218
iconst_1
ireturn
25: .line 220
StackMap locals:
StackMap stack:
iload 5 /* code */
ldc 65536
if_icmplt 27
26: .line 221
iinc 4 /* i */ 1
end local 6 // int gc
end local 5 // int code
27: .line 194
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
28: iload 4 /* i */
iload 1 /* count */
if_icmplt 2
end local 4 // int i
29: .line 226
iconst_0
ireturn
end local 3 // int[] glyphs
end local 2 // char[] unicodes
end local 1 // int count
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/font/CompositeGlyphMapper;
0 30 1 count I
0 30 2 unicodes [C
0 30 3 glyphs [I
1 29 4 i I
3 27 5 code I
6 18 6 low C
19 27 6 gc I
MethodParameters:
Name Flags
count
unicodes
glyphs
public void charsToGlyphs(int, char[], int[]);
descriptor: (I[C[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int count
start local 2 // char[] unicodes
start local 3 // int[] glyphs
0: .line 233
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 27
2: .line 234
StackMap locals: int
StackMap stack:
aload 2 /* unicodes */
iload 4 /* i */
caload
istore 5 /* code */
start local 5 // int code
3: .line 236
iload 5 /* code */
ldc 55296
if_icmplt 23
4: .line 237
iload 5 /* code */
ldc 56319
if_icmpgt 23
iload 4 /* i */
iload 1 /* count */
iconst_1
isub
if_icmpge 23
5: .line 238
aload 2 /* unicodes */
iload 4 /* i */
iconst_1
iadd
caload
istore 6 /* low */
start local 6 // char low
6: .line 240
iload 6 /* low */
ldc 56320
if_icmplt 23
7: .line 241
iload 6 /* low */
ldc 57343
if_icmpgt 23
8: .line 242
iload 5 /* code */
ldc 55296
isub
9: .line 243
sipush 1024
10: .line 242
imul
11: .line 243
iload 6 /* low */
12: .line 242
iadd
13: .line 243
ldc 56320
14: .line 242
isub
15: .line 243
ldc 65536
16: .line 242
iadd
istore 5 /* code */
17: .line 245
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.getCachedGlyphCode:(I)I
dup_x2
iastore
istore 7 /* gc */
start local 7 // int gc
18: .line 246
iload 7 /* gc */
iconst_m1
if_icmpne 20
19: .line 247
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.convertToGlyph:(I)I
iastore
20: .line 249
StackMap locals: int int int
StackMap stack:
iinc 4 /* i */ 1
21: .line 250
aload 3 /* glyphs */
iload 4 /* i */
ldc 65535
iastore
22: .line 251
goto 26
end local 7 // int gc
end local 6 // char low
23: .line 255
StackMap locals:
StackMap stack:
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.getCachedGlyphCode:(I)I
dup_x2
iastore
istore 6 /* gc */
start local 6 // int gc
24: .line 256
iload 6 /* gc */
iconst_m1
if_icmpne 26
25: .line 257
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.convertToGlyph:(I)I
iastore
end local 6 // int gc
end local 5 // int code
26: .line 233
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 4 /* i */
iload 1 /* count */
if_icmplt 2
end local 4 // int i
28: .line 260
return
end local 3 // int[] glyphs
end local 2 // char[] unicodes
end local 1 // int count
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/font/CompositeGlyphMapper;
0 29 1 count I
0 29 2 unicodes [C
0 29 3 glyphs [I
1 28 4 i I
3 26 5 code I
6 23 6 low C
18 23 7 gc I
24 26 6 gc I
MethodParameters:
Name Flags
count
unicodes
glyphs
public void charsToGlyphs(int, int[], int[]);
descriptor: (I[I[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 // sun.font.CompositeGlyphMapper this
start local 1 // int count
start local 2 // int[] unicodes
start local 3 // int[] glyphs
0: .line 263
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 7
2: .line 264
StackMap locals: int
StackMap stack:
aload 2 /* unicodes */
iload 4 /* i */
iaload
istore 5 /* code */
start local 5 // int code
3: .line 266
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.getCachedGlyphCode:(I)I
iastore
4: .line 267
aload 3 /* glyphs */
iload 4 /* i */
iaload
iconst_m1
if_icmpne 6
5: .line 268
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CompositeGlyphMapper.convertToGlyph:(I)I
iastore
end local 5 // int code
6: .line 263
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
iload 1 /* count */
if_icmplt 2
end local 4 // int i
8: .line 271
return
end local 3 // int[] glyphs
end local 2 // int[] unicodes
end local 1 // int count
end local 0 // sun.font.CompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/font/CompositeGlyphMapper;
0 9 1 count I
0 9 2 unicodes [I
0 9 3 glyphs [I
1 8 4 i I
3 6 5 code I
MethodParameters:
Name Flags
count
unicodes
glyphs
}
SourceFile: "CompositeGlyphMapper.java"