public final class sun.font.CCompositeGlyphMapper extends sun.font.CompositeGlyphMapper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.font.CCompositeGlyphMapper
super_class: sun.font.CompositeGlyphMapper
{
private sun.font.CompositeFont font;
descriptor: Lsun/font/CompositeFont;
flags: (0x0002) ACC_PRIVATE
private sun.font.CharToGlyphMapper[] slotMappers;
descriptor: [Lsun/font/CharToGlyphMapper;
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.CCompositeGlyphMapper this
start local 1 // sun.font.CompositeFont compFont
0: .line 34
aload 0 /* this */
aload 1 /* compFont */
invokespecial sun.font.CompositeGlyphMapper.<init>:(Lsun/font/CompositeFont;)V
1: .line 35
aload 0 /* this */
aload 1 /* compFont */
putfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
2: .line 36
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
getfield sun.font.CompositeFont.numSlots:I
anewarray sun.font.CharToGlyphMapper
putfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
3: .line 37
aload 0 /* this */
iconst_0
putfield sun.font.CCompositeGlyphMapper.missingGlyph:I
4: .line 38
return
end local 1 // sun.font.CompositeFont compFont
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/CCompositeGlyphMapper;
0 5 1 compFont Lsun/font/CompositeFont;
MethodParameters:
Name Flags
compFont
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.CCompositeGlyphMapper this
start local 1 // int slot
0: .line 41
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 1 /* slot */
aaload
astore 2 /* mapper */
start local 2 // sun.font.CharToGlyphMapper mapper
1: .line 42
aload 2 /* mapper */
ifnonnull 4
2: .line 43
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.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 44
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 1 /* slot */
aload 2 /* mapper */
aastore
4: .line 46
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.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/CCompositeGlyphMapper;
0 5 1 slot I
1 5 2 mapper Lsun/font/CharToGlyphMapper;
MethodParameters:
Name Flags
slot
public boolean canDisplay(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // sun.font.CCompositeGlyphMapper this
start local 1 // char ch
0: .line 50
aload 0 /* this */
iload 1 /* ch */
invokevirtual sun.font.CCompositeGlyphMapper.charToGlyph:(C)I
istore 2 /* glyph */
start local 2 // int glyph
1: .line 51
iload 2 /* glyph */
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.missingGlyph:I
if_icmpeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 2 // int glyph
end local 1 // char ch
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/CCompositeGlyphMapper;
0 3 1 ch C
1 3 2 glyph I
MethodParameters:
Name Flags
ch
private int convertToGlyph(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 // sun.font.CCompositeGlyphMapper this
start local 1 // int unicode
0: .line 55
iconst_0
istore 2 /* slot */
start local 2 // int slot
1: goto 8
2: .line 56
StackMap locals: int
StackMap stack:
aload 0 /* this */
iload 2 /* slot */
invokevirtual sun.font.CCompositeGlyphMapper.getSlotMapper:(I)Lsun/font/CharToGlyphMapper;
astore 3 /* mapper */
start local 3 // sun.font.CharToGlyphMapper mapper
3: .line 57
aload 3 /* mapper */
iload 1 /* unicode */
invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
istore 4 /* glyphCode */
start local 4 // int glyphCode
4: .line 62
iload 4 /* glyphCode */
ifle 7
5: .line 63
aload 0 /* this */
iload 2 /* slot */
iload 4 /* glyphCode */
invokevirtual sun.font.CCompositeGlyphMapper.compositeGlyphCode:(II)I
istore 4 /* glyphCode */
6: .line 64
iload 4 /* glyphCode */
ireturn
end local 4 // int glyphCode
end local 3 // sun.font.CharToGlyphMapper mapper
7: .line 55
StackMap locals:
StackMap stack:
iinc 2 /* slot */ 1
StackMap locals:
StackMap stack:
8: iload 2 /* slot */
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 2
end local 2 // int slot
9: .line 67
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.missingGlyph:I
ireturn
end local 1 // int unicode
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/CCompositeGlyphMapper;
0 10 1 unicode I
1 9 2 slot I
3 7 3 mapper Lsun/font/CharToGlyphMapper;
4 7 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.CCompositeGlyphMapper this
0: .line 71
iconst_0
istore 1 /* numGlyphs */
start local 1 // int numGlyphs
1: .line 72
iconst_0
istore 2 /* slot */
start local 2 // int slot
2: goto 9
3: .line 73
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 2 /* slot */
aaload
astore 3 /* mapper */
start local 3 // sun.font.CharToGlyphMapper mapper
4: .line 74
aload 3 /* mapper */
ifnonnull 7
5: .line 75
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.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 76
aload 0 /* this */
getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
iload 2 /* slot */
aload 3 /* mapper */
aastore
7: .line 78
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 72
iinc 2 /* slot */ 1
StackMap locals:
StackMap stack:
9: iload 2 /* slot */
iconst_1
if_icmplt 3
end local 2 // int slot
10: .line 80
iload 1 /* numGlyphs */
ireturn
end local 1 // int numGlyphs
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/font/CCompositeGlyphMapper;
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=2, args_size=2
start local 0 // sun.font.CCompositeGlyphMapper this
start local 1 // int unicode
0: .line 84
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
ireturn
end local 1 // int unicode
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CCompositeGlyphMapper;
0 1 1 unicode I
MethodParameters:
Name Flags
unicode
public int charToGlyph(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.font.CCompositeGlyphMapper this
start local 1 // char unicode
0: .line 88
aload 0 /* this */
iload 1 /* unicode */
invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
ireturn
end local 1 // char unicode
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CCompositeGlyphMapper;
0 1 1 unicode C
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.CCompositeGlyphMapper this
start local 1 // int count
start local 2 // char[] unicodes
start local 3 // int[] glyphs
0: .line 93
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 26
2: .line 94
StackMap locals: int
StackMap stack:
aload 2 /* unicodes */
iload 4 /* i */
caload
istore 5 /* code */
start local 5 // int code
3: .line 96
iload 5 /* code */
ldc 55296
if_icmplt 18
4: .line 97
iload 5 /* code */
ldc 56319
if_icmpgt 18
iload 4 /* i */
iload 1 /* count */
iconst_1
isub
if_icmpge 18
5: .line 98
aload 2 /* unicodes */
iload 4 /* i */
iconst_1
iadd
caload
istore 6 /* low */
start local 6 // char low
6: .line 100
iload 6 /* low */
ldc 56320
if_icmplt 18
7: .line 101
iload 6 /* low */
ldc 57343
if_icmpgt 18
8: .line 102
iload 5 /* code */
ldc 55296
isub
9: .line 103
sipush 1024
10: .line 102
imul
11: .line 103
iload 6 /* low */
12: .line 102
iadd
13: .line 103
ldc 56320
14: .line 102
isub
15: .line 103
ldc 65536
16: .line 102
iadd
istore 5 /* code */
17: .line 104
aload 3 /* glyphs */
iload 4 /* i */
iconst_1
iadd
ldc 65535
iastore
end local 6 // char low
18: .line 108
StackMap locals: int
StackMap stack:
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
iastore
19: .line 110
iload 5 /* code */
sipush 768
if_icmpge 21
20: .line 111
goto 25
21: .line 113
StackMap locals:
StackMap stack:
iload 5 /* code */
invokestatic sun.font.FontUtilities.isComplexCharCode:(I)Z
ifeq 23
22: .line 114
iconst_1
ireturn
23: .line 116
StackMap locals:
StackMap stack:
iload 5 /* code */
ldc 65536
if_icmplt 25
24: .line 117
iinc 4 /* i */ 1
end local 5 // int code
25: .line 93
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 4 /* i */
iload 1 /* count */
if_icmplt 2
end local 4 // int i
27: .line 122
iconst_0
ireturn
end local 3 // int[] glyphs
end local 2 // char[] unicodes
end local 1 // int count
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/font/CCompositeGlyphMapper;
0 28 1 count I
0 28 2 unicodes [C
0 28 3 glyphs [I
1 27 4 i I
3 25 5 code I
6 18 6 low C
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=7, args_size=4
start local 0 // sun.font.CCompositeGlyphMapper this
start local 1 // int count
start local 2 // char[] unicodes
start local 3 // int[] glyphs
0: .line 126
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 23
2: .line 127
StackMap locals: int
StackMap stack:
aload 2 /* unicodes */
iload 4 /* i */
caload
istore 5 /* code */
start local 5 // int code
3: .line 129
iload 5 /* code */
ldc 55296
if_icmplt 21
4: .line 130
iload 5 /* code */
ldc 56319
if_icmpgt 21
iload 4 /* i */
iload 1 /* count */
iconst_1
isub
if_icmpge 21
5: .line 131
aload 2 /* unicodes */
iload 4 /* i */
iconst_1
iadd
caload
istore 6 /* low */
start local 6 // char low
6: .line 133
iload 6 /* low */
ldc 56320
if_icmplt 21
7: .line 134
iload 6 /* low */
ldc 57343
if_icmpgt 21
8: .line 135
iload 5 /* code */
ldc 55296
isub
9: .line 136
sipush 1024
10: .line 135
imul
11: .line 136
iload 6 /* low */
12: .line 135
iadd
13: .line 136
ldc 56320
14: .line 135
isub
15: .line 136
ldc 65536
16: .line 135
iadd
istore 5 /* code */
17: .line 138
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
iastore
18: .line 139
iinc 4 /* i */ 1
19: .line 140
aload 3 /* glyphs */
iload 4 /* i */
ldc 65535
iastore
20: .line 141
goto 22
end local 6 // char low
21: .line 145
StackMap locals: int
StackMap stack:
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
iload 5 /* code */
invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
iastore
end local 5 // int code
22: .line 126
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
23: iload 4 /* i */
iload 1 /* count */
if_icmplt 2
end local 4 // int i
24: .line 147
return
end local 3 // int[] glyphs
end local 2 // char[] unicodes
end local 1 // int count
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/font/CCompositeGlyphMapper;
0 25 1 count I
0 25 2 unicodes [C
0 25 3 glyphs [I
1 24 4 i I
3 22 5 code I
6 21 6 low C
MethodParameters:
Name Flags
count
unicodes
glyphs
public void charsToGlyphs(int, int[], int[]);
descriptor: (I[I[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 // sun.font.CCompositeGlyphMapper this
start local 1 // int count
start local 2 // int[] unicodes
start local 3 // int[] glyphs
0: .line 150
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 4
2: .line 151
StackMap locals: int
StackMap stack:
aload 3 /* glyphs */
iload 4 /* i */
aload 0 /* this */
aload 2 /* unicodes */
iload 4 /* i */
iaload
invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
iastore
3: .line 150
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 4 /* i */
iload 1 /* count */
if_icmplt 2
end local 4 // int i
5: .line 153
return
end local 3 // int[] glyphs
end local 2 // int[] unicodes
end local 1 // int count
end local 0 // sun.font.CCompositeGlyphMapper this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/CCompositeGlyphMapper;
0 6 1 count I
0 6 2 unicodes [I
0 6 3 glyphs [I
1 5 4 i I
MethodParameters:
Name Flags
count
unicodes
glyphs
}
SourceFile: "CCompositeGlyphMapper.java"