public final class sun.font.CompositeFont extends sun.font.Font2D
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.font.CompositeFont
super_class: sun.font.Font2D
{
private boolean[] deferredInitialisation;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
java.lang.String[] componentFileNames;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String[] componentNames;
descriptor: [Ljava/lang/String;
flags: (0x0000)
private sun.font.PhysicalFont[] components;
descriptor: [Lsun/font/PhysicalFont;
flags: (0x0002) ACC_PRIVATE
int numSlots;
descriptor: I
flags: (0x0000)
int numMetricsSlots;
descriptor: I
flags: (0x0000)
int[] exclusionRanges;
descriptor: [I
flags: (0x0000)
int[] maxIndices;
descriptor: [I
flags: (0x0000)
int numGlyphs;
descriptor: I
flags: (0x0000)
int localeSlot;
descriptor: I
flags: (0x0000)
boolean isStdComposite;
descriptor: Z
flags: (0x0000)
public void <init>(java.lang.String, java.lang.String[], java.lang.String[], int, int[], int[], boolean, sun.font.SunFontManager);
descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLsun/font/SunFontManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial sun.font.Font2D.<init>:()V
1: aload 0
iconst_0
putfield sun.font.CompositeFont.numGlyphs:I
2: aload 0
iconst_m1
putfield sun.font.CompositeFont.localeSlot:I
3: aload 0
iconst_1
putfield sun.font.CompositeFont.isStdComposite:Z
4: aload 0
new sun.font.Font2DHandle
dup
aload 0
invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
putfield sun.font.CompositeFont.handle:Lsun/font/Font2DHandle;
5: aload 0
aload 1
putfield sun.font.CompositeFont.fullName:Ljava/lang/String;
6: aload 0
aload 2
putfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
7: aload 0
aload 3
putfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
8: aload 3
ifnonnull 11
9: aload 0
aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
arraylength
putfield sun.font.CompositeFont.numSlots:I
10: goto 12
11: StackMap locals: sun.font.CompositeFont java.lang.String java.lang.String[] java.lang.String[] int int[] int[] int sun.font.SunFontManager
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
arraylength
putfield sun.font.CompositeFont.numSlots:I
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
sipush 254
if_icmpgt 13
aload 0
getfield sun.font.CompositeFont.numSlots:I
goto 14
StackMap locals:
StackMap stack: sun.font.CompositeFont
13: sipush 254
StackMap locals: sun.font.CompositeFont java.lang.String java.lang.String[] java.lang.String[] int int[] int[] int sun.font.SunFontManager
StackMap stack: sun.font.CompositeFont int
14: putfield sun.font.CompositeFont.numSlots:I
15: aload 0
iload 4
putfield sun.font.CompositeFont.numMetricsSlots:I
16: aload 0
aload 5
putfield sun.font.CompositeFont.exclusionRanges:[I
17: aload 0
aload 6
putfield sun.font.CompositeFont.maxIndices:[I
18: aload 8
invokevirtual sun.font.SunFontManager.getEUDCFont:()Lsun/font/TrueTypeFont;
ifnull 47
19: aload 0
getfield sun.font.CompositeFont.numMetricsSlots:I
istore 9
start local 9 20: aload 0
getfield sun.font.CompositeFont.numSlots:I
iload 9
isub
istore 10
start local 10 21: aload 0
dup
getfield sun.font.CompositeFont.numSlots:I
iconst_1
iadd
putfield sun.font.CompositeFont.numSlots:I
22: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
ifnull 29
23: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray java.lang.String
putfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
24: aload 3
iconst_0
aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iconst_0
iload 9
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 9
aload 8
invokevirtual sun.font.SunFontManager.getEUDCFont:()Lsun/font/TrueTypeFont;
aconst_null
invokevirtual sun.font.TrueTypeFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
aastore
26: aload 3
iload 9
27: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 9
iconst_1
iadd
iload 10
28: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
29: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
ifnull 37
30: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray java.lang.String
putfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
31: aload 2
iconst_0
32: aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iconst_0
iload 9
33: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: aload 2
iload 9
35: aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iload 9
iconst_1
iadd
iload 10
36: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
37: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray sun.font.PhysicalFont
putfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
38: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 9
aload 8
invokevirtual sun.font.SunFontManager.getEUDCFont:()Lsun/font/TrueTypeFont;
aastore
39: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
newarray 4
putfield sun.font.CompositeFont.deferredInitialisation:[Z
40: iload 7
ifeq 55
41: iconst_0
istore 11
start local 11 42: goto 45
43: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iload 11
iconst_1
bastore
44: iinc 11 1
StackMap locals:
StackMap stack:
45: iload 11
aload 0
getfield sun.font.CompositeFont.numSlots:I
iconst_1
isub
if_icmplt 43
end local 11 end local 10 end local 9 46: goto 55
47: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray sun.font.PhysicalFont
putfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
48: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
newarray 4
putfield sun.font.CompositeFont.deferredInitialisation:[Z
49: iload 7
ifeq 55
50: iconst_0
istore 9
start local 9 51: goto 54
52: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iload 9
iconst_1
bastore
53: iinc 9 1
StackMap locals:
StackMap stack:
54: iload 9
aload 0
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 52
end local 9 55: StackMap locals:
StackMap stack:
aload 0
iconst_2
putfield sun.font.CompositeFont.fontRank:I
56: aload 0
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 9
start local 9 57: iload 9
ifle 73
58: aload 0
aload 0
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
iconst_0
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield sun.font.CompositeFont.familyName:Ljava/lang/String;
59: iload 9
iconst_1
iadd
aload 0
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 74
60: aload 0
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
iload 9
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 10
start local 10 61: ldc "plain"
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 64
62: aload 0
iconst_0
putfield sun.font.CompositeFont.style:I
63: goto 74
StackMap locals: int java.lang.String
StackMap stack:
64: ldc "bold"
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 67
65: aload 0
iconst_1
putfield sun.font.CompositeFont.style:I
66: goto 74
StackMap locals:
StackMap stack:
67: ldc "italic"
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 70
68: aload 0
iconst_2
putfield sun.font.CompositeFont.style:I
69: goto 74
StackMap locals:
StackMap stack:
70: ldc "bolditalic"
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 74
71: aload 0
iconst_3
putfield sun.font.CompositeFont.style:I
end local 10 72: goto 74
73: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
putfield sun.font.CompositeFont.familyName:Ljava/lang/String;
74: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lsun/font/CompositeFont;
0 75 1 name Ljava/lang/String;
0 75 2 compFileNames [Ljava/lang/String;
0 75 3 compNames [Ljava/lang/String;
0 75 4 metricsSlotCnt I
0 75 5 exclRanges [I
0 75 6 maxIndexes [I
0 75 7 defer Z
0 75 8 fm Lsun/font/SunFontManager;
20 46 9 msCnt I
21 46 10 fbCnt I
42 46 11 i I
51 55 9 i I
57 75 9 index I
61 72 10 styleStr Ljava/lang/String;
MethodParameters:
Name Flags
name
compFileNames
compNames
metricsSlotCnt
exclRanges
maxIndexes
defer
fm
void <init>(sun.font.PhysicalFont[]);
descriptor: ([Lsun/font/PhysicalFont;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.font.Font2D.<init>:()V
1: aload 0
iconst_0
putfield sun.font.CompositeFont.numGlyphs:I
2: aload 0
iconst_m1
putfield sun.font.CompositeFont.localeSlot:I
3: aload 0
iconst_1
putfield sun.font.CompositeFont.isStdComposite:Z
4: aload 0
iconst_0
putfield sun.font.CompositeFont.isStdComposite:Z
5: aload 0
new sun.font.Font2DHandle
dup
aload 0
invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
putfield sun.font.CompositeFont.handle:Lsun/font/Font2DHandle;
6: aload 0
aload 1
iconst_0
aaload
getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
putfield sun.font.CompositeFont.fullName:Ljava/lang/String;
7: aload 0
aload 1
iconst_0
aaload
getfield sun.font.PhysicalFont.familyName:Ljava/lang/String;
putfield sun.font.CompositeFont.familyName:Ljava/lang/String;
8: aload 0
aload 1
iconst_0
aaload
getfield sun.font.PhysicalFont.style:I
putfield sun.font.CompositeFont.style:I
9: aload 0
iconst_1
putfield sun.font.CompositeFont.numMetricsSlots:I
10: aload 0
aload 1
arraylength
putfield sun.font.CompositeFont.numSlots:I
11: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray sun.font.PhysicalFont
putfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
12: aload 1
iconst_0
aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iconst_0
aload 0
getfield sun.font.CompositeFont.numSlots:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
newarray 4
putfield sun.font.CompositeFont.deferredInitialisation:[Z
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/font/CompositeFont;
0 15 1 slotFonts [Lsun/font/PhysicalFont;
MethodParameters:
Name Flags
slotFonts
void <init>(sun.font.PhysicalFont, sun.font.CompositeFont);
descriptor: (Lsun/font/PhysicalFont;Lsun/font/CompositeFont;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.font.Font2D.<init>:()V
1: aload 0
iconst_0
putfield sun.font.CompositeFont.numGlyphs:I
2: aload 0
iconst_m1
putfield sun.font.CompositeFont.localeSlot:I
3: aload 0
iconst_1
putfield sun.font.CompositeFont.isStdComposite:Z
4: aload 0
iconst_0
putfield sun.font.CompositeFont.isStdComposite:Z
5: aload 0
new sun.font.Font2DHandle
dup
aload 0
invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
putfield sun.font.CompositeFont.handle:Lsun/font/Font2DHandle;
6: aload 0
aload 1
getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
putfield sun.font.CompositeFont.fullName:Ljava/lang/String;
7: aload 0
aload 1
getfield sun.font.PhysicalFont.familyName:Ljava/lang/String;
putfield sun.font.CompositeFont.familyName:Ljava/lang/String;
8: aload 0
aload 1
getfield sun.font.PhysicalFont.style:I
putfield sun.font.CompositeFont.style:I
9: aload 0
iconst_1
putfield sun.font.CompositeFont.numMetricsSlots:I
10: aload 0
aload 2
getfield sun.font.CompositeFont.numSlots:I
iconst_1
iadd
putfield sun.font.CompositeFont.numSlots:I
11: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
dup
astore 3
monitorenter
12: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray sun.font.PhysicalFont
putfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
13: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iconst_0
aload 1
aastore
14: aload 2
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iconst_0
15: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iconst_1
aload 2
getfield sun.font.CompositeFont.numSlots:I
16: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 2
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
ifnull 23
18: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray java.lang.String
putfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
19: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iconst_0
aload 1
getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
aastore
20: aload 2
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iconst_0
21: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iconst_1
aload 2
getfield sun.font.CompositeFont.numSlots:I
22: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: StackMap locals: sun.font.CompositeFont sun.font.PhysicalFont sun.font.CompositeFont sun.font.FontManager
StackMap stack:
aload 2
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
ifnull 29
24: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray java.lang.String
putfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
25: aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iconst_0
aconst_null
aastore
26: aload 2
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iconst_0
27: aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iconst_1
aload 2
getfield sun.font.CompositeFont.numSlots:I
28: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
29: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
newarray 4
putfield sun.font.CompositeFont.deferredInitialisation:[Z
30: aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iconst_0
iconst_0
bastore
31: aload 2
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iconst_0
32: aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iconst_1
aload 2
getfield sun.font.CompositeFont.numSlots:I
33: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: aload 3
monitorexit
35: goto 38
StackMap locals:
StackMap stack: java.lang.Throwable
36: aload 3
monitorexit
37: athrow
38: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lsun/font/CompositeFont;
0 39 1 physFont Lsun/font/PhysicalFont;
0 39 2 compFont Lsun/font/CompositeFont;
Exception table:
from to target type
12 35 36 any
36 37 36 any
MethodParameters:
Name Flags
physFont
compFont
private void doDeferredInitialisation(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iload 1
baload
ifne 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
astore 2
start local 2 3: aload 2
dup
astore 3
monitorenter
4: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
ifnonnull 6
5: aload 0
aload 0
getfield sun.font.CompositeFont.numSlots:I
anewarray java.lang.String
putfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
6: StackMap locals: sun.font.SunFontManager sun.font.SunFontManager
StackMap stack:
aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aaload
ifnonnull 28
7: aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
ifnull 12
8: aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iload 1
aaload
ifnull 12
9: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
10: aload 2
aload 0
getfield sun.font.CompositeFont.componentFileNames:[Ljava/lang/String;
iload 1
aaload
invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
11: aastore
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aaload
ifnonnull 14
13: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aload 2
invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
aastore
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aaload
aconst_null
invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
astore 4
start local 4 15: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 1
aaload
ifnonnull 18
16: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 1
aload 4
aastore
17: goto 28
StackMap locals: java.lang.String
StackMap stack:
18: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 1
aaload
aload 4
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 28
19: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
20: aload 2
aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 1
aaload
21: aload 0
getfield sun.font.CompositeFont.style:I
22: iconst_1
23: invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
checkcast sun.font.PhysicalFont
24: aastore
25: goto 28
StackMap locals:
StackMap stack: java.lang.ClassCastException
26: pop
27: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aload 2
invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
aastore
end local 4 28: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iload 1
iconst_0
bastore
29: aload 3
monitorexit
30: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
31: aload 3
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/font/CompositeFont;
0 34 1 slot I
3 34 2 fm Lsun/font/SunFontManager;
15 28 4 name Ljava/lang/String;
Exception table:
from to target type
19 25 26 Class java.lang.ClassCastException
4 30 31 any
31 32 31 any
MethodParameters:
Name Flags
slot
void replaceComponentFont(sun.font.PhysicalFont, sun.font.PhysicalFont);
descriptor: (Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 9
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 3
aaload
aload 1
if_acmpne 8
5: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 3
aload 2
aastore
6: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
ifnull 8
7: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 3
aload 2
aconst_null
invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
aastore
8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 4
end local 3 10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/font/CompositeFont;
0 11 1 oldFont Lsun/font/PhysicalFont;
0 11 2 newFont Lsun/font/PhysicalFont;
3 10 3 slot I
MethodParameters:
Name Flags
oldFont
newFont
public boolean isExcludedChar(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.CompositeFont.exclusionRanges:[I
ifnull 2
aload 0
getfield sun.font.CompositeFont.maxIndices:[I
ifnull 2
1: iload 1
aload 0
getfield sun.font.CompositeFont.numMetricsSlots:I
if_icmplt 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 4: aload 0
getfield sun.font.CompositeFont.maxIndices:[I
iload 1
iaload
istore 4
start local 4 5: iload 1
ifle 7
6: aload 0
getfield sun.font.CompositeFont.maxIndices:[I
iload 1
iconst_1
isub
iaload
istore 3
7: StackMap locals: int int
StackMap stack:
iload 3
istore 5
start local 5 8: goto 13
9: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield sun.font.CompositeFont.exclusionRanges:[I
iload 5
iaload
if_icmplt 12
10: iload 2
aload 0
getfield sun.font.CompositeFont.exclusionRanges:[I
iload 5
iconst_1
iadd
iaload
if_icmpgt 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
iinc 5 2
13: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmpgt 9
14: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/font/CompositeFont;
0 15 1 slot I
0 15 2 charcode I
4 15 3 minIndex I
5 15 4 maxIndex I
8 15 5 curIndex I
MethodParameters:
Name Flags
slot
charcode
public void getStyleMetrics(float, float[], int);
descriptor: (F[FI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_0
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 4
start local 4 1: aload 4
ifnonnull 4
2: aload 0
fload 1
aload 2
iload 3
invokespecial sun.font.Font2D.getStyleMetrics:(F[FI)V
3: goto 5
4: StackMap locals: sun.font.PhysicalFont
StackMap stack:
aload 4
fload 1
aload 2
iload 3
invokevirtual sun.font.PhysicalFont.getStyleMetrics:(F[FI)V
5: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/CompositeFont;
0 6 1 pointSize F
0 6 2 metrics [F
0 6 3 offset I
1 6 4 font Lsun/font/PhysicalFont;
MethodParameters:
Name Flags
pointSize
metrics
offset
public int getNumSlots();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.CompositeFont.numSlots:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CompositeFont;
public sun.font.PhysicalFont getSlotFont(int);
descriptor: (I)Lsun/font/PhysicalFont;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.CompositeFont.deferredInitialisation:[Z
iload 1
baload
ifeq 2
1: aload 0
iload 1
invokevirtual sun.font.CompositeFont.doDeferredInitialisation:(I)V
2: StackMap locals:
StackMap stack:
invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
astore 2
start local 2 3: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aaload
astore 3
start local 3 4: aload 3
ifnonnull 14
5: aload 2
6: aload 0
getfield sun.font.CompositeFont.componentNames:[Ljava/lang/String;
iload 1
aaload
aload 0
getfield sun.font.CompositeFont.style:I
7: iconst_1
8: invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
9: checkcast sun.font.PhysicalFont
astore 3
10: aload 0
getfield sun.font.CompositeFont.components:[Lsun/font/PhysicalFont;
iload 1
aload 3
aastore
11: goto 14
StackMap locals: sun.font.CompositeFont int sun.font.SunFontManager sun.font.PhysicalFont
StackMap stack: java.lang.ClassCastException
12: pop
13: aload 2
invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
astore 3
14: StackMap locals:
StackMap stack:
aload 3
15: areturn
end local 3 16: StackMap locals: sun.font.CompositeFont int sun.font.SunFontManager
StackMap stack: java.lang.Exception
pop
17: aload 2
invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/font/CompositeFont;
0 18 1 slot I
3 18 2 fm Lsun/font/SunFontManager;
4 16 3 font Lsun/font/PhysicalFont;
Exception table:
from to target type
5 11 12 Class java.lang.ClassCastException
3 15 16 Class java.lang.Exception
MethodParameters:
Name Flags
slot
sun.font.FontStrike createStrike(sun.font.FontStrikeDesc);
descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new sun.font.CompositeStrike
dup
aload 0
aload 1
invokespecial sun.font.CompositeStrike.<init>:(Lsun/font/CompositeFont;Lsun/font/FontStrikeDesc;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CompositeFont;
0 1 1 desc Lsun/font/FontStrikeDesc;
MethodParameters:
Name Flags
desc
public boolean isStdComposite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.CompositeFont.isStdComposite:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CompositeFont;
protected int getValidatedGlyphCode(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iload 1
bipush 24
iushr
istore 2
start local 2 1: iload 2
aload 0
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 3
2: aload 0
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
ldc 16777215
iand
istore 3
start local 3 4: aload 0
iload 2
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 4
start local 4 5: aload 4
iload 3
invokevirtual sun.font.PhysicalFont.getValidatedGlyphCode:(I)I
6: aload 4
invokevirtual sun.font.PhysicalFont.getMissingGlyphCode:()I
7: if_icmpne 9
8: aload 0
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
ireturn
9: StackMap locals: int sun.font.PhysicalFont
StackMap stack:
iload 1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/CompositeFont;
0 10 1 glyphCode I
1 10 2 slot I
4 10 3 slotglyphCode I
5 10 4 slotFont Lsun/font/PhysicalFont;
MethodParameters:
Name Flags
glyphCode
public sun.font.CharToGlyphMapper getMapper();
descriptor: ()Lsun/font/CharToGlyphMapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.CompositeFont.mapper:Lsun/font/CharToGlyphMapper;
ifnonnull 2
1: aload 0
new sun.font.CompositeGlyphMapper
dup
aload 0
invokespecial sun.font.CompositeGlyphMapper.<init>:(Lsun/font/CompositeFont;)V
putfield sun.font.CompositeFont.mapper:Lsun/font/CharToGlyphMapper;
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CompositeFont.mapper:Lsun/font/CharToGlyphMapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/CompositeFont;
public boolean hasSupplementaryChars();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.hasSupplementaryChars:()Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
aload 0
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 2
end local 1 6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/CompositeFont;
1 6 1 i I
public int getNumGlyphs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.CompositeFont.numGlyphs:I
ifne 2
1: aload 0
aload 0
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
putfield sun.font.CompositeFont.numGlyphs:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CompositeFont.numGlyphs:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/CompositeFont;
public int getMissingGlyphCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CompositeFont;
public boolean canDisplay(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
iload 1
invokevirtual sun.font.CharToGlyphMapper.canDisplay:(C)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/CompositeFont;
0 1 1 c C
MethodParameters:
Name Flags
c
public boolean useAAForPtSize(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.CompositeFont.localeSlot:I
iconst_m1
if_icmpne 13
1: aload 0
getfield sun.font.CompositeFont.numMetricsSlots:I
istore 2
start local 2 2: iload 2
iconst_1
if_icmpne 4
aload 0
invokevirtual sun.font.CompositeFont.isStdComposite:()Z
ifne 4
3: aload 0
getfield sun.font.CompositeFont.numSlots:I
istore 2
4: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 5: goto 10
6: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
aconst_null
invokevirtual sun.font.PhysicalFont.supportsEncoding:(Ljava/lang/String;)Z
ifeq 9
7: aload 0
iload 3
putfield sun.font.CompositeFont.localeSlot:I
8: goto 11
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 2
if_icmplt 6
end local 3 11: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CompositeFont.localeSlot:I
iconst_m1
if_icmpne 13
12: aload 0
iconst_0
putfield sun.font.CompositeFont.localeSlot:I
end local 2 13: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.CompositeFont.localeSlot:I
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
iload 1
invokevirtual sun.font.PhysicalFont.useAAForPtSize:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/font/CompositeFont;
0 14 1 ptsize I
2 13 2 numCoreSlots I
5 11 3 slot I
MethodParameters:
Name Flags
ptsize
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Slot["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 3
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
getfield sun.font.CompositeFont.numSlots:I
if_icmplt 4
end local 3 7: new java.lang.StringBuilder
dup
ldc "** Composite Font: Family="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " Name="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " style="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.CompositeFont.style:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/CompositeFont;
1 10 1 ls Ljava/lang/String;
2 10 2 componentsStr Ljava/lang/String;
3 7 3 i I
}
SourceFile: "CompositeFont.java"