public class java.awt.Font implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.awt.Font
super_class: java.lang.Object
{
private java.util.Hashtable<java.lang.Object, java.lang.Object> fRequestedAttributes;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
public static final java.lang.String DIALOG;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "Dialog"
public static final java.lang.String DIALOG_INPUT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "DialogInput"
public static final java.lang.String SANS_SERIF;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SansSerif"
public static final java.lang.String SERIF;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "Serif"
public static final java.lang.String MONOSPACED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "Monospaced"
public static final int PLAIN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int BOLD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int ITALIC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int ROMAN_BASELINE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int CENTER_BASELINE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int HANGING_BASELINE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int TRUETYPE_FONT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int TYPE1_FONT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int style;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int size;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected float pointSize;
descriptor: F
flags: (0x0004) ACC_PROTECTED
private transient java.awt.peer.FontPeer peer;
descriptor: Ljava/awt/peer/FontPeer;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient long pData;
descriptor: J
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient sun.font.Font2DHandle font2DHandle;
descriptor: Lsun/font/Font2DHandle;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient sun.font.AttributeValues values;
descriptor: Lsun/font/AttributeValues;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean hasLayoutAttributes;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean createdFont;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean nonIdentityTx;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final java.awt.geom.AffineTransform identityTx;
descriptor: Ljava/awt/geom/AffineTransform;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -4206021311591459213
private static final int RECOGNIZED_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int PRIMARY_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int SECONDARY_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LAYOUT_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float[] ssinfo;
descriptor: [F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
transient int hash;
descriptor: I
flags: (0x0080) ACC_TRANSIENT
private int fontSerializedDataVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private transient java.lang.ref.SoftReference<sun.font.FontLineMetrics> flmref;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/lang/ref/SoftReference<Lsun/font/FontLineMetrics;>;
public static final int LAYOUT_LEFT_TO_RIGHT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int LAYOUT_RIGHT_TO_LEFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int LAYOUT_NO_START_CONTEXT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int LAYOUT_NO_LIMIT_CONTEXT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic java.awt.Toolkit.loadLibraries:()V
1: invokestatic java.awt.Font.initIDs:()V
2: new java.awt.Font$FontAccessImpl
dup
invokespecial java.awt.Font$FontAccessImpl.<init>:()V
invokestatic sun.font.FontAccess.setFontAccess:(Lsun/font/FontAccess;)V
3: new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
putstatic java.awt.Font.identityTx:Ljava/awt/geom/AffineTransform;
4: getstatic sun.font.AttributeValues.MASK_ALL:I
5: getstatic sun.font.EAttribute.EFONT:Lsun/font/EAttribute;
invokestatic sun.font.AttributeValues.getMask:(Lsun/font/EAttribute;)I
iconst_m1
ixor
6: iand
putstatic java.awt.Font.RECOGNIZED_MASK:I
7: bipush 8
anewarray sun.font.EAttribute
dup
iconst_0
8: getstatic sun.font.EAttribute.EFAMILY:Lsun/font/EAttribute;
aastore
dup
iconst_1
getstatic sun.font.EAttribute.EWEIGHT:Lsun/font/EAttribute;
aastore
dup
iconst_2
getstatic sun.font.EAttribute.EWIDTH:Lsun/font/EAttribute;
aastore
dup
iconst_3
getstatic sun.font.EAttribute.EPOSTURE:Lsun/font/EAttribute;
aastore
dup
iconst_4
getstatic sun.font.EAttribute.ESIZE:Lsun/font/EAttribute;
aastore
dup
iconst_5
9: getstatic sun.font.EAttribute.ETRANSFORM:Lsun/font/EAttribute;
aastore
dup
bipush 6
getstatic sun.font.EAttribute.ESUPERSCRIPT:Lsun/font/EAttribute;
aastore
dup
bipush 7
getstatic sun.font.EAttribute.ETRACKING:Lsun/font/EAttribute;
aastore
10: invokestatic sun.font.AttributeValues.getMask:([Lsun/font/EAttribute;)I
putstatic java.awt.Font.PRIMARY_MASK:I
11: getstatic java.awt.Font.RECOGNIZED_MASK:I
getstatic java.awt.Font.PRIMARY_MASK:I
iconst_m1
ixor
iand
12: putstatic java.awt.Font.SECONDARY_MASK:I
13: bipush 16
anewarray sun.font.EAttribute
dup
iconst_0
14: getstatic sun.font.EAttribute.ECHAR_REPLACEMENT:Lsun/font/EAttribute;
aastore
dup
iconst_1
getstatic sun.font.EAttribute.EFOREGROUND:Lsun/font/EAttribute;
aastore
dup
iconst_2
getstatic sun.font.EAttribute.EBACKGROUND:Lsun/font/EAttribute;
aastore
dup
iconst_3
15: getstatic sun.font.EAttribute.EUNDERLINE:Lsun/font/EAttribute;
aastore
dup
iconst_4
getstatic sun.font.EAttribute.ESTRIKETHROUGH:Lsun/font/EAttribute;
aastore
dup
iconst_5
getstatic sun.font.EAttribute.ERUN_DIRECTION:Lsun/font/EAttribute;
aastore
dup
bipush 6
16: getstatic sun.font.EAttribute.EBIDI_EMBEDDING:Lsun/font/EAttribute;
aastore
dup
bipush 7
getstatic sun.font.EAttribute.EJUSTIFICATION:Lsun/font/EAttribute;
aastore
dup
bipush 8
17: getstatic sun.font.EAttribute.EINPUT_METHOD_HIGHLIGHT:Lsun/font/EAttribute;
aastore
dup
bipush 9
getstatic sun.font.EAttribute.EINPUT_METHOD_UNDERLINE:Lsun/font/EAttribute;
aastore
dup
bipush 10
18: getstatic sun.font.EAttribute.ESWAP_COLORS:Lsun/font/EAttribute;
aastore
dup
bipush 11
getstatic sun.font.EAttribute.ENUMERIC_SHAPING:Lsun/font/EAttribute;
aastore
dup
bipush 12
getstatic sun.font.EAttribute.EKERNING:Lsun/font/EAttribute;
aastore
dup
bipush 13
19: getstatic sun.font.EAttribute.ELIGATURES:Lsun/font/EAttribute;
aastore
dup
bipush 14
getstatic sun.font.EAttribute.ETRACKING:Lsun/font/EAttribute;
aastore
dup
bipush 15
getstatic sun.font.EAttribute.ESUPERSCRIPT:Lsun/font/EAttribute;
aastore
20: invokestatic sun.font.AttributeValues.getMask:([Lsun/font/EAttribute;)I
putstatic java.awt.Font.LAYOUT_MASK:I
21: iconst_3
anewarray sun.font.EAttribute
dup
iconst_0
22: getstatic sun.font.EAttribute.ETRANSFORM:Lsun/font/EAttribute;
aastore
dup
iconst_1
getstatic sun.font.EAttribute.ESUPERSCRIPT:Lsun/font/EAttribute;
aastore
dup
iconst_2
getstatic sun.font.EAttribute.EWIDTH:Lsun/font/EAttribute;
aastore
invokestatic sun.font.AttributeValues.getMask:([Lsun/font/EAttribute;)I
putstatic java.awt.Font.EXTRA_MASK:I
23: bipush 8
newarray 6
dup
iconst_0
24: fconst_0
fastore
dup
iconst_1
25: ldc 0.375
fastore
dup
iconst_2
26: ldc 0.625
fastore
dup
iconst_3
27: ldc 0.7916667
fastore
dup
iconst_4
28: ldc 0.9027778
fastore
dup
iconst_5
29: ldc 0.9768519
fastore
dup
bipush 6
30: ldc 1.0262346
fastore
dup
bipush 7
31: ldc 1.0591564
fastore
32: putstatic java.awt.Font.ssinfo:[F
33: return
LocalVariableTable:
Start End Slot Name Signature
private java.awt.peer.FontPeer getFontPeer();
descriptor: ()Ljava/awt/peer/FontPeer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.peer:Ljava/awt/peer/FontPeer;
ifnonnull 4
1: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
astore 1
start local 1 2: aload 1
instanceof sun.awt.ComponentFactory
ifeq 4
3: aload 0
aload 1
checkcast sun.awt.ComponentFactory
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
aload 0
getfield java.awt.Font.style:I
invokeinterface sun.awt.ComponentFactory.getFontPeer:(Ljava/lang/String;I)Ljava/awt/peer/FontPeer;
putfield java.awt.Font.peer:Ljava/awt/peer/FontPeer;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Font.peer:Ljava/awt/peer/FontPeer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/Font;
2 4 1 tk Ljava/awt/Toolkit;
private sun.font.AttributeValues getAttributeValues();
descriptor: ()Lsun/font/AttributeValues;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnonnull 10
1: new sun.font.AttributeValues
dup
invokespecial sun.font.AttributeValues.<init>:()V
astore 1
start local 1 2: aload 1
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
invokevirtual sun.font.AttributeValues.setFamily:(Ljava/lang/String;)V
3: aload 1
aload 0
getfield java.awt.Font.pointSize:F
invokevirtual sun.font.AttributeValues.setSize:(F)V
4: aload 0
getfield java.awt.Font.style:I
iconst_1
iand
ifeq 6
5: aload 1
fconst_2
invokevirtual sun.font.AttributeValues.setWeight:(F)V
6: StackMap locals: sun.font.AttributeValues
StackMap stack:
aload 0
getfield java.awt.Font.style:I
iconst_2
iand
ifeq 8
7: aload 1
ldc 0.2
invokevirtual sun.font.AttributeValues.setPosture:(F)V
8: StackMap locals:
StackMap stack:
aload 1
getstatic java.awt.Font.PRIMARY_MASK:I
invokevirtual sun.font.AttributeValues.defineAll:(I)V
9: aload 0
aload 1
putfield java.awt.Font.values:Lsun/font/AttributeValues;
end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/awt/Font;
2 10 1 valuesTmp Lsun/font/AttributeValues;
private sun.font.Font2D getFont2D();
descriptor: ()Lsun/font/Font2D;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 1
start local 1 1: aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
ifnonnull 8
2: aload 0
3: aload 1
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
aload 0
getfield java.awt.Font.style:I
4: iconst_2
5: invokeinterface sun.font.FontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
6: getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
7: putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
8: StackMap locals: sun.font.FontManager
StackMap stack:
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/awt/Font;
1 9 1 fm Lsun/font/FontManager;
public void <init>(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 0
aload 1
ifnull 4
aload 1
goto 5
StackMap locals: java.awt.Font java.lang.String int int
StackMap stack: java.awt.Font
4: ldc "Default"
StackMap locals: java.awt.Font java.lang.String int int
StackMap stack: java.awt.Font java.lang.String
5: putfield java.awt.Font.name:Ljava/lang/String;
6: aload 0
iload 2
bipush -4
iand
ifne 7
iload 2
goto 8
StackMap locals:
StackMap stack: java.awt.Font
7: iconst_0
StackMap locals: java.awt.Font java.lang.String int int
StackMap stack: java.awt.Font int
8: putfield java.awt.Font.style:I
9: aload 0
iload 3
putfield java.awt.Font.size:I
10: aload 0
iload 3
i2f
putfield java.awt.Font.pointSize:F
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/awt/Font;
0 12 1 name Ljava/lang/String;
0 12 2 style I
0 12 3 size I
MethodParameters:
Name Flags
name
style
size
private void <init>(java.lang.String, int, float);
descriptor: (Ljava/lang/String;IF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 0
aload 1
ifnull 4
aload 1
goto 5
StackMap locals: java.awt.Font java.lang.String int float
StackMap stack: java.awt.Font
4: ldc "Default"
StackMap locals: java.awt.Font java.lang.String int float
StackMap stack: java.awt.Font java.lang.String
5: putfield java.awt.Font.name:Ljava/lang/String;
6: aload 0
iload 2
bipush -4
iand
ifne 7
iload 2
goto 8
StackMap locals:
StackMap stack: java.awt.Font
7: iconst_0
StackMap locals: java.awt.Font java.lang.String int float
StackMap stack: java.awt.Font int
8: putfield java.awt.Font.style:I
9: aload 0
fload 3
f2d
ldc 0.5
dadd
d2i
putfield java.awt.Font.size:I
10: aload 0
fload 3
putfield java.awt.Font.pointSize:F
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/awt/Font;
0 12 1 name Ljava/lang/String;
0 12 2 style I
0 12 3 sizePts F
MethodParameters:
Name Flags
name
style
sizePts
private void <init>(java.lang.String, int, float, boolean, sun.font.Font2DHandle);
descriptor: (Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
fload 3
invokespecial java.awt.Font.<init>:(Ljava/lang/String;IF)V
1: aload 0
iload 4
putfield java.awt.Font.createdFont:Z
2: iload 4
ifeq 9
3: aload 5
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
instanceof sun.font.CompositeFont
ifeq 8
4: aload 5
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
invokevirtual sun.font.Font2D.getStyle:()I
iload 2
if_icmpeq 8
5: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 6
start local 6 6: aload 0
aload 6
aconst_null
iload 2
aload 5
invokeinterface sun.font.FontManager.getNewComposite:(Ljava/lang/String;ILsun/font/Font2DHandle;)Lsun/font/Font2DHandle;
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
end local 6 7: goto 9
8: StackMap locals: java.awt.Font java.lang.String int float int sun.font.Font2DHandle
StackMap stack:
aload 0
aload 5
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
9: StackMap locals:
StackMap stack:
return
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 10 0 this Ljava/awt/Font;
0 10 1 name Ljava/lang/String;
0 10 2 style I
0 10 3 sizePts F
0 10 4 created Z
0 10 5 handle Lsun/font/Font2DHandle;
6 7 6 fm Lsun/font/FontManager;
MethodParameters:
Name Flags
name
style
sizePts
created
handle
private void <init>(java.io.File, int, boolean, sun.font.CreatedFontTracker);
descriptor: (Ljava/io/File;IZLsun/font/CreatedFontTracker;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 0
iconst_1
putfield java.awt.Font.createdFont:Z
4: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 5
start local 5 5: aload 5
aload 1
iload 2
iconst_0
iload 3
aload 4
invokeinterface sun.font.FontManager.createFont2D:(Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
6: astore 6
start local 6 7: aload 0
aload 6
iconst_0
aaload
getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
8: aload 0
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
putfield java.awt.Font.name:Ljava/lang/String;
9: aload 0
iconst_0
putfield java.awt.Font.style:I
10: aload 0
iconst_1
putfield java.awt.Font.size:I
11: aload 0
fconst_1
putfield java.awt.Font.pointSize:F
12: return
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 13 0 this Ljava/awt/Font;
0 13 1 fontFile Ljava/io/File;
0 13 2 fontFormat I
0 13 3 isCopy Z
0 13 4 tracker Lsun/font/CreatedFontTracker;
5 13 5 fm Lsun/font/FontManager;
7 13 6 fonts [Lsun/font/Font2D;
Exceptions:
throws java.awt.FontFormatException
MethodParameters:
Name Flags
fontFile
fontFormat
isCopy
tracker
private void <init>(sun.font.AttributeValues, java.lang.String, int, boolean, sun.font.Font2DHandle);
descriptor: (Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 0
iload 4
putfield java.awt.Font.createdFont:Z
4: iload 4
ifeq 27
5: aload 0
aload 5
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
6: aconst_null
astore 6
start local 6 7: aload 2
ifnull 10
8: aload 1
invokevirtual sun.font.AttributeValues.getFamily:()Ljava/lang/String;
astore 6
9: aload 2
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
aconst_null
astore 6
10: StackMap locals: java.awt.Font sun.font.AttributeValues java.lang.String int int sun.font.Font2DHandle java.lang.String
StackMap stack:
iconst_0
istore 7
start local 7 11: iload 3
iconst_m1
if_icmpne 14
12: iconst_m1
istore 7
13: goto 17
14: StackMap locals: int
StackMap stack:
aload 1
invokevirtual sun.font.AttributeValues.getWeight:()F
fconst_2
fcmpl
iflt 15
iconst_1
istore 7
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.font.AttributeValues.getPosture:()F
ldc 0.2
fcmpl
iflt 16
iload 7
iconst_2
ior
istore 7
16: StackMap locals:
StackMap stack:
iload 3
iload 7
if_icmpne 17
iconst_m1
istore 7
17: StackMap locals:
StackMap stack:
aload 5
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
instanceof sun.font.CompositeFont
ifeq 24
18: iload 7
iconst_m1
if_icmpne 19
aload 6
ifnull 27
19: StackMap locals:
StackMap stack:
invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 8
start local 8 20: aload 0
21: aload 8
aload 6
iload 7
aload 5
invokeinterface sun.font.FontManager.getNewComposite:(Ljava/lang/String;ILsun/font/Font2DHandle;)Lsun/font/Font2DHandle;
22: putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
end local 8 23: goto 27
StackMap locals:
StackMap stack:
24: aload 6
ifnull 27
25: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
26: aload 0
aconst_null
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
end local 7 end local 6 27: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.awt.Font.initFromValues:(Lsun/font/AttributeValues;)V
28: return
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 29 0 this Ljava/awt/Font;
0 29 1 values Lsun/font/AttributeValues;
0 29 2 oldName Ljava/lang/String;
0 29 3 oldStyle I
0 29 4 created Z
0 29 5 handle Lsun/font/Font2DHandle;
7 27 6 newName Ljava/lang/String;
11 27 7 newStyle I
20 23 8 fm Lsun/font/FontManager;
MethodParameters:
Name Flags
values
oldName
oldStyle
created
handle
public void <init>(java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 0
aload 1
getstatic java.awt.Font.RECOGNIZED_MASK:I
invokestatic sun.font.AttributeValues.fromMap:(Ljava/util/Map;I)Lsun/font/AttributeValues;
invokevirtual java.awt.Font.initFromValues:(Lsun/font/AttributeValues;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/Font;
0 5 1 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
Signature: (Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)V
MethodParameters:
Name Flags
attributes
protected void <init>(java.awt.Font);
descriptor: (Ljava/awt/Font;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 1
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnull 6
4: aload 0
aload 1
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
invokevirtual java.awt.Font.initFromValues:(Lsun/font/AttributeValues;)V
5: goto 10
6: StackMap locals: java.awt.Font java.awt.Font
StackMap stack:
aload 0
aload 1
getfield java.awt.Font.name:Ljava/lang/String;
putfield java.awt.Font.name:Ljava/lang/String;
7: aload 0
aload 1
getfield java.awt.Font.style:I
putfield java.awt.Font.style:I
8: aload 0
aload 1
getfield java.awt.Font.size:I
putfield java.awt.Font.size:I
9: aload 0
aload 1
getfield java.awt.Font.pointSize:F
putfield java.awt.Font.pointSize:F
10: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
11: aload 0
aload 1
getfield java.awt.Font.createdFont:Z
putfield java.awt.Font.createdFont:Z
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/awt/Font;
0 13 1 font Ljava/awt/Font;
MethodParameters:
Name Flags
font
private void initFromValues(sun.font.AttributeValues);
descriptor: (Lsun/font/AttributeValues;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.awt.Font.values:Lsun/font/AttributeValues;
1: aload 1
getstatic java.awt.Font.PRIMARY_MASK:I
invokevirtual sun.font.AttributeValues.defineAll:(I)V
2: aload 0
aload 1
invokevirtual sun.font.AttributeValues.getFamily:()Ljava/lang/String;
putfield java.awt.Font.name:Ljava/lang/String;
3: aload 0
aload 1
invokevirtual sun.font.AttributeValues.getSize:()F
putfield java.awt.Font.pointSize:F
4: aload 0
aload 1
invokevirtual sun.font.AttributeValues.getSize:()F
f2d
ldc 0.5
dadd
d2i
putfield java.awt.Font.size:I
5: aload 1
invokevirtual sun.font.AttributeValues.getWeight:()F
fconst_2
fcmpl
iflt 6
aload 0
dup
getfield java.awt.Font.style:I
iconst_1
ior
putfield java.awt.Font.style:I
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.font.AttributeValues.getPosture:()F
ldc 0.2
fcmpl
iflt 7
aload 0
dup
getfield java.awt.Font.style:I
iconst_2
ior
putfield java.awt.Font.style:I
7: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic java.awt.Font.EXTRA_MASK:I
invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
putfield java.awt.Font.nonIdentityTx:Z
8: aload 0
aload 1
getstatic java.awt.Font.LAYOUT_MASK:I
invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
putfield java.awt.Font.hasLayoutAttributes:Z
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/awt/Font;
0 10 1 values Lsun/font/AttributeValues;
MethodParameters:
Name Flags
values
public static boolean textRequiresLayout(char[], int, int);
descriptor: ([CII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "null char array"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 2
aload 0
arraylength
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
ldc "start < 0 or end > len"
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokestatic sun.font.FontUtilities.isComplexScript:([CII)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 chars [C
0 5 1 start I
0 5 2 end I
MethodParameters:
Name Flags
chars
start
end
public static java.awt.Font getFont(java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
descriptor: (Ljava/util/Map;)Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
instanceof sun.font.AttributeMap
ifeq 13
1: aload 0
checkcast sun.font.AttributeMap
invokevirtual sun.font.AttributeMap.getValues:()Lsun/font/AttributeValues;
ifnull 13
2: aload 0
checkcast sun.font.AttributeMap
invokevirtual sun.font.AttributeMap.getValues:()Lsun/font/AttributeValues;
astore 1
start local 1 3: aload 1
getstatic sun.font.EAttribute.EFONT:Lsun/font/EAttribute;
invokevirtual sun.font.AttributeValues.isNonDefault:(Lsun/font/EAttribute;)Z
ifeq 12
4: aload 1
invokevirtual sun.font.AttributeValues.getFont:()Ljava/awt/Font;
astore 2
start local 2 5: aload 1
getstatic java.awt.Font.SECONDARY_MASK:I
invokevirtual sun.font.AttributeValues.anyDefined:(I)Z
ifne 7
6: aload 2
areturn
7: StackMap locals: sun.font.AttributeValues java.awt.Font
StackMap stack:
aload 2
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 1
8: aload 1
aload 0
getstatic java.awt.Font.SECONDARY_MASK:I
invokevirtual sun.font.AttributeValues.merge:(Ljava/util/Map;I)Lsun/font/AttributeValues;
pop
9: new java.awt.Font
dup
aload 1
aload 2
getfield java.awt.Font.name:Ljava/lang/String;
aload 2
getfield java.awt.Font.style:I
10: aload 2
getfield java.awt.Font.createdFont:Z
aload 2
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
11: invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 2 12: StackMap locals:
StackMap stack:
new java.awt.Font
dup
aload 0
invokespecial java.awt.Font.<init>:(Ljava/util/Map;)V
areturn
end local 1 13: StackMap locals:
StackMap stack:
aload 0
getstatic java.awt.font.TextAttribute.FONT:Ljava/awt/font/TextAttribute;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.awt.Font
astore 1
start local 1 14: aload 1
ifnull 22
15: aload 0
invokeinterface java.util.Map.size:()I
iconst_1
if_icmple 21
16: aload 1
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 2
start local 2 17: aload 2
aload 0
getstatic java.awt.Font.SECONDARY_MASK:I
invokevirtual sun.font.AttributeValues.merge:(Ljava/util/Map;I)Lsun/font/AttributeValues;
pop
18: new java.awt.Font
dup
aload 2
aload 1
getfield java.awt.Font.name:Ljava/lang/String;
aload 1
getfield java.awt.Font.style:I
19: aload 1
getfield java.awt.Font.createdFont:Z
aload 1
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
20: invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 2 21: StackMap locals: java.awt.Font
StackMap stack:
aload 1
areturn
22: StackMap locals:
StackMap stack:
new java.awt.Font
dup
aload 0
invokespecial java.awt.Font.<init>:(Ljava/util/Map;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
3 13 1 values Lsun/font/AttributeValues;
5 12 2 font Ljava/awt/Font;
14 23 1 font Ljava/awt/Font;
17 21 2 values Lsun/font/AttributeValues;
Signature: (Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/Font;
MethodParameters:
Name Flags
attributes
private static boolean hasTempPermission();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 0
start local 0 3: iconst_0
istore 1
start local 1 4: ldc "+~JT"
ldc ".tmp"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createTempFile:(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
astore 0
5: aload 0
invokevirtual java.io.File.delete:()Z
pop
6: aconst_null
astore 0
7: iconst_1
istore 1
8: goto 10
StackMap locals: java.io.File int
StackMap stack: java.lang.Throwable
9: pop
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
3 11 0 f Ljava/io/File;
4 11 1 hasPerm Z
Exception table:
from to target type
4 8 9 Class java.lang.Throwable
public static java.awt.Font[] createFonts(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic java.awt.Font.hasTempPermission:()Z
ifeq 2
1: iconst_0
aload 0
iconst_1
aconst_null
invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
areturn
2: StackMap locals:
StackMap stack:
invokestatic sun.font.CreatedFontTracker.getTracker:()Lsun/font/CreatedFontTracker;
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: aload 1
invokevirtual sun.font.CreatedFontTracker.acquirePermit:()Z
istore 2
5: iload 2
ifne 7
6: new java.io.IOException
dup
ldc "Timed out waiting for resources."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.font.CreatedFontTracker int
StackMap stack:
iconst_0
aload 0
iconst_1
aload 1
invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
astore 4
8: iload 2
ifeq 10
9: aload 1
invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
10: StackMap locals: java.io.InputStream sun.font.CreatedFontTracker int top java.awt.Font[]
StackMap stack:
aload 4
areturn
11: StackMap locals: java.io.InputStream sun.font.CreatedFontTracker int
StackMap stack: java.lang.InterruptedException
pop
12: new java.io.IOException
dup
ldc "Problem reading font data."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
14: iload 2
ifeq 16
15: aload 1
invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
16: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 fontStream Ljava/io/InputStream;
3 17 1 tracker Lsun/font/CreatedFontTracker;
4 17 2 acquired Z
Exception table:
from to target type
4 8 11 Class java.lang.InterruptedException
4 8 13 any
11 13 13 any
Exceptions:
throws java.awt.FontFormatException, java.io.IOException
MethodParameters:
Name Flags
fontStream
private void <init>(sun.font.Font2D);
descriptor: (Lsun/font/Font2D;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.Font.createdFont:Z
2: aload 0
iconst_1
putfield java.awt.Font.fontSerializedDataVersion:I
3: aload 0
iconst_1
putfield java.awt.Font.createdFont:Z
4: aload 0
aload 1
getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
putfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
5: aload 0
aload 1
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
putfield java.awt.Font.name:Ljava/lang/String;
6: aload 0
iconst_0
putfield java.awt.Font.style:I
7: aload 0
iconst_1
putfield java.awt.Font.size:I
8: aload 0
fconst_1
putfield java.awt.Font.pointSize:F
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/awt/Font;
0 10 1 font2D Lsun/font/Font2D;
MethodParameters:
Name Flags
font2D
public static java.awt.Font[] createFonts(java.io.File);
descriptor: (Ljava/io/File;)[Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iload 1
aload 0
invokestatic java.awt.Font.checkFontFile:(ILjava/io/File;)Ljava/io/File;
astore 0
2: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 2
start local 2 3: aload 2
aload 0
iload 1
iconst_1
iconst_0
aconst_null
invokeinterface sun.font.FontManager.createFont2D:(Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
4: astore 3
start local 3 5: aload 3
arraylength
istore 4
start local 4 6: iload 4
anewarray java.awt.Font
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 11
9: StackMap locals: java.io.File int sun.font.FontManager sun.font.Font2D[] int java.awt.Font[] int
StackMap stack:
aload 5
iload 6
new java.awt.Font
dup
aload 3
iload 6
aaload
invokespecial java.awt.Font.<init>:(Lsun/font/Font2D;)V
aastore
10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 4
if_icmplt 9
end local 6 12: aload 5
areturn
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 13 0 fontFile Ljava/io/File;
1 13 1 fontFormat I
3 13 2 fm Lsun/font/FontManager;
5 13 3 font2DArr [Lsun/font/Font2D;
6 13 4 num I
7 13 5 fonts [Ljava/awt/Font;
8 12 6 i I
Exceptions:
throws java.awt.FontFormatException, java.io.IOException
MethodParameters:
Name Flags
fontFile
public static java.awt.Font createFont(int, java.io.InputStream);
descriptor: (ILjava/io/InputStream;)Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: invokestatic java.awt.Font.hasTempPermission:()Z
ifeq 2
1: iload 0
aload 1
iconst_0
aconst_null
invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
invokestatic sun.font.CreatedFontTracker.getTracker:()Lsun/font/CreatedFontTracker;
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 2
invokevirtual sun.font.CreatedFontTracker.acquirePermit:()Z
istore 3
5: iload 3
ifne 7
6: new java.io.IOException
dup
ldc "Timed out waiting for resources."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.font.CreatedFontTracker int
StackMap stack:
iload 0
aload 1
iconst_0
aload 2
invokestatic java.awt.Font.createFont0:(ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
iconst_0
aaload
astore 5
8: iload 3
ifeq 10
9: aload 2
invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
10: StackMap locals: int java.io.InputStream sun.font.CreatedFontTracker int top java.awt.Font
StackMap stack:
aload 5
areturn
11: StackMap locals: int java.io.InputStream sun.font.CreatedFontTracker int
StackMap stack: java.lang.InterruptedException
pop
12: new java.io.IOException
dup
ldc "Problem reading font data."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
14: iload 3
ifeq 16
15: aload 2
invokevirtual sun.font.CreatedFontTracker.releasePermit:()V
16: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 fontFormat I
0 17 1 fontStream Ljava/io/InputStream;
3 17 2 tracker Lsun/font/CreatedFontTracker;
4 17 3 acquired Z
Exception table:
from to target type
4 8 11 Class java.lang.InterruptedException
4 8 13 any
11 13 13 any
Exceptions:
throws java.awt.FontFormatException, java.io.IOException
MethodParameters:
Name Flags
fontFormat
fontStream
private static java.awt.Font[] createFont0(int, java.io.InputStream, boolean, sun.font.CreatedFontTracker);
descriptor: (ILjava/io/InputStream;ZLsun/font/CreatedFontTracker;)[Ljava/awt/Font;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
ifeq 3
1: iload 0
iconst_1
if_icmpeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "font format not recognized"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 4: new java.awt.Font$1
dup
invokespecial java.awt.Font$1.<init>:()V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.File
astore 5
start local 5 6: aload 3
ifnull 8
7: aload 3
aload 5
invokevirtual sun.font.CreatedFontTracker.add:(Ljava/io/File;)V
8: StackMap locals: int java.io.File
StackMap stack:
iconst_0
istore 6
start local 6 9: new java.awt.Font$3
dup
aload 5
invokespecial java.awt.Font$3.<init>:(Ljava/io/File;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.OutputStream
11: astore 7
start local 7 12: aload 3
ifnull 14
13: aload 3
aload 5
aload 7
invokevirtual sun.font.CreatedFontTracker.set:(Ljava/io/File;Ljava/io/OutputStream;)V
14: StackMap locals: int java.io.OutputStream
StackMap stack:
sipush 8192
newarray 8
astore 8
start local 8 15: StackMap locals: byte[]
StackMap stack:
aload 1
aload 8
invokevirtual java.io.InputStream.read:([B)I
istore 9
start local 9 16: iload 9
ifge 18
17: goto 31
18: StackMap locals: int
StackMap stack:
aload 3
ifnull 26
19: iload 6
iload 9
iadd
ldc 33554432
if_icmple 21
20: new java.io.IOException
dup
ldc "File too big."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
iload 6
aload 3
invokevirtual sun.font.CreatedFontTracker.getNumBytes:()I
iadd
22: ldc 335544320
if_icmple 24
23: new java.io.IOException
dup
ldc "Total files too big."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
iload 6
iload 9
iadd
istore 6
25: aload 3
iload 9
invokevirtual sun.font.CreatedFontTracker.addBytes:(I)V
26: StackMap locals:
StackMap stack:
aload 7
aload 8
iconst_0
iload 9
invokevirtual java.io.OutputStream.write:([BII)V
end local 9 27: goto 15
end local 8 28: StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int java.io.OutputStream
StackMap stack: java.lang.Throwable
astore 10
29: aload 7
invokevirtual java.io.OutputStream.close:()V
30: aload 10
athrow
31: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.OutputStream.close:()V
32: iconst_1
istore 4
33: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 8
start local 8 34: aload 8
aload 5
iload 0
iload 2
iconst_1
aload 3
invokeinterface sun.font.FontManager.createFont2D:(Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
35: astore 9
start local 9 36: aload 9
arraylength
istore 10
start local 10 37: iload 10
anewarray java.awt.Font
astore 11
start local 11 38: iconst_0
istore 12
start local 12 39: goto 42
40: StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int java.io.OutputStream sun.font.FontManager sun.font.Font2D[] int java.awt.Font[] int
StackMap stack:
aload 11
iload 12
new java.awt.Font
dup
aload 9
iload 12
aaload
invokespecial java.awt.Font.<init>:(Lsun/font/Font2D;)V
aastore
41: iinc 12 1
StackMap locals:
StackMap stack:
42: iload 12
iload 10
if_icmplt 40
end local 12 43: aload 11
astore 14
44: aload 3
ifnull 46
45: aload 3
aload 5
invokevirtual sun.font.CreatedFontTracker.remove:(Ljava/io/File;)V
46: StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int java.io.OutputStream sun.font.FontManager sun.font.Font2D[] int java.awt.Font[] top top java.awt.Font[]
StackMap stack:
iload 4
ifne 51
47: aload 3
ifnull 49
48: aload 3
iload 6
invokevirtual sun.font.CreatedFontTracker.subBytes:(I)V
49: StackMap locals:
StackMap stack:
new java.awt.Font$2
dup
aload 5
invokespecial java.awt.Font$2.<init>:(Ljava/io/File;)V
50: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
51: StackMap locals:
StackMap stack:
aload 14
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 52: StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int
StackMap stack: java.lang.Throwable
astore 13
53: aload 3
ifnull 55
54: aload 3
aload 5
invokevirtual sun.font.CreatedFontTracker.remove:(Ljava/io/File;)V
55: StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int java.io.File int top top top top top top java.lang.Throwable
StackMap stack:
iload 4
ifne 60
56: aload 3
ifnull 58
57: aload 3
iload 6
invokevirtual sun.font.CreatedFontTracker.subBytes:(I)V
58: StackMap locals:
StackMap stack:
new java.awt.Font$2
dup
aload 5
invokespecial java.awt.Font$2.<init>:(Ljava/io/File;)V
59: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
60: StackMap locals:
StackMap stack:
aload 13
athrow
end local 6 end local 5 61: StackMap locals: int java.io.InputStream int sun.font.CreatedFontTracker int
StackMap stack: java.lang.Throwable
astore 5
start local 5 62: aload 5
instanceof java.awt.FontFormatException
ifeq 64
63: aload 5
checkcast java.awt.FontFormatException
athrow
64: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
instanceof java.io.IOException
ifeq 66
65: aload 5
checkcast java.io.IOException
athrow
66: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 6
start local 6 67: aload 6
instanceof java.awt.FontFormatException
ifeq 69
68: aload 6
checkcast java.awt.FontFormatException
athrow
69: StackMap locals: java.lang.Throwable
StackMap stack:
new java.io.IOException
dup
ldc "Problem reading font data."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
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 70 0 fontFormat I
0 70 1 fontStream Ljava/io/InputStream;
0 70 2 allFonts Z
0 70 3 tracker Lsun/font/CreatedFontTracker;
4 70 4 copiedFontData Z
6 61 5 tFile Ljava/io/File;
9 61 6 totalSize I
12 52 7 outStream Ljava/io/OutputStream;
15 28 8 buf [B
16 27 9 bytesRead I
34 52 8 fm Lsun/font/FontManager;
36 52 9 font2DArr [Lsun/font/Font2D;
37 52 10 num I
38 52 11 fonts [Ljava/awt/Font;
39 43 12 i I
62 70 5 t Ljava/lang/Throwable;
67 70 6 cause Ljava/lang/Throwable;
Exception table:
from to target type
14 28 28 any
9 44 52 any
4 51 61 Class java.lang.Throwable
52 61 61 Class java.lang.Throwable
Exceptions:
throws java.awt.FontFormatException, java.io.IOException
MethodParameters:
Name Flags
fontFormat
fontStream
allFonts
tracker
public static java.awt.Font createFont(int, java.io.File);
descriptor: (ILjava/io/File;)Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
invokestatic java.awt.Font.checkFontFile:(ILjava/io/File;)Ljava/io/File;
astore 1
1: new java.awt.Font
dup
aload 1
iload 0
iconst_0
aconst_null
invokespecial java.awt.Font.<init>:(Ljava/io/File;IZLsun/font/CreatedFontTracker;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fontFormat I
0 2 1 fontFile Ljava/io/File;
Exceptions:
throws java.awt.FontFormatException, java.io.IOException
MethodParameters:
Name Flags
fontFormat
fontFile
private static java.io.File checkFontFile(int, java.io.File);
descriptor: (ILjava/io/File;)Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
1: iload 0
ifeq 4
2: iload 0
iconst_1
if_icmpeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "font format not recognized"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 5: aload 2
ifnull 9
6: new java.io.FilePermission
dup
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
7: astore 3
start local 3 8: aload 2
aload 3
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 3 9: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
invokevirtual java.io.File.canRead:()Z
ifne 11
10: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Can't read "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 fontFormat I
0 12 1 fontFile Ljava/io/File;
5 12 2 sm Ljava/lang/SecurityManager;
8 9 3 filePermission Ljava/io/FilePermission;
Exceptions:
throws java.awt.FontFormatException, java.io.IOException
MethodParameters:
Name Flags
fontFormat
fontFile
public java.awt.geom.AffineTransform getTransform();
descriptor: ()Ljava/awt/geom/AffineTransform;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.nonIdentityTx:Z
ifeq 33
1: aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
astore 1
start local 1 2: aload 1
getstatic sun.font.EAttribute.ETRANSFORM:Lsun/font/EAttribute;
invokevirtual sun.font.AttributeValues.isNonDefault:(Lsun/font/EAttribute;)Z
ifeq 4
3: new java.awt.geom.AffineTransform
dup
aload 1
invokevirtual sun.font.AttributeValues.getTransform:()Ljava/awt/geom/AffineTransform;
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
goto 5
4: StackMap locals: sun.font.AttributeValues
StackMap stack:
new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
5: StackMap locals:
StackMap stack: java.awt.geom.AffineTransform
astore 2
start local 2 6: aload 1
invokevirtual sun.font.AttributeValues.getSuperscript:()I
ifeq 30
7: aload 1
invokevirtual sun.font.AttributeValues.getSuperscript:()I
istore 3
start local 3 8: dconst_0
dstore 4
start local 4 9: iconst_0
istore 6
start local 6 10: iload 3
ifle 11
iconst_1
goto 12
StackMap locals: java.awt.Font sun.font.AttributeValues java.awt.geom.AffineTransform int double int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 7
start local 7 13: iload 7
ifeq 14
iconst_m1
goto 15
StackMap locals: int
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: istore 8
start local 8 16: iload 7
ifeq 17
iload 3
goto 18
StackMap locals: int
StackMap stack:
17: iload 3
ineg
StackMap locals:
StackMap stack: int
18: istore 9
start local 9 19: goto 25
20: StackMap locals: int
StackMap stack:
iload 9
bipush 7
iand
istore 10
start local 10 21: dload 4
iload 8
i2f
getstatic java.awt.Font.ssinfo:[F
iload 10
faload
getstatic java.awt.Font.ssinfo:[F
iload 6
faload
fsub
fmul
f2d
dadd
dstore 4
22: iload 9
iconst_3
ishr
istore 9
23: iload 8
ineg
istore 8
24: iload 10
istore 6
end local 10 25: StackMap locals:
StackMap stack:
iload 9
bipush 7
iand
iload 6
if_icmpgt 20
26: dload 4
aload 0
getfield java.awt.Font.pointSize:F
f2d
dmul
dstore 4
27: ldc 0.6666666666666666
iload 6
i2d
invokestatic java.lang.Math.pow:(DD)D
dstore 10
start local 10 28: aload 2
dconst_0
dload 4
invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
29: aload 2
dload 10
dload 10
invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 30: StackMap locals: java.awt.Font sun.font.AttributeValues java.awt.geom.AffineTransform
StackMap stack:
aload 1
getstatic sun.font.EAttribute.EWIDTH:Lsun/font/EAttribute;
invokevirtual sun.font.AttributeValues.isNonDefault:(Lsun/font/EAttribute;)Z
ifeq 32
31: aload 2
aload 1
invokevirtual sun.font.AttributeValues.getWidth:()F
f2d
dconst_1
invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
32: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 33: StackMap locals:
StackMap stack:
new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljava/awt/Font;
2 33 1 values Lsun/font/AttributeValues;
6 33 2 at Ljava/awt/geom/AffineTransform;
8 30 3 superscript I
9 30 4 trans D
10 30 6 n I
13 30 7 up Z
16 30 8 sign I
19 30 9 ss I
21 25 10 newn I
28 30 10 scale D
public java.lang.String getFamily();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.Font.getFamily_NoClientCode:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
final java.lang.String getFamily_NoClientCode();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.awt.Font.getFamily:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public java.lang.String getFamily(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "null locale doesn't mean default"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
aload 1
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/Font;
0 3 1 l Ljava/util/Locale;
MethodParameters:
Name Flags
l
public java.lang.String getPSName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
invokevirtual sun.font.Font2D.getPostscriptName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public java.lang.String getFontName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.awt.Font.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public java.lang.String getFontName(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "null locale doesn't mean default"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
aload 1
invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/Font;
0 3 1 l Ljava/util/Locale;
MethodParameters:
Name Flags
l
public int getStyle();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.style:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public int getSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public float getSize2D();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.pointSize:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public boolean isPlain();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.style:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/Font;
public boolean isBold();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.style:I
iconst_1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/Font;
public boolean isItalic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.style:I
iconst_2
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/Font;
public boolean isTransformed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.nonIdentityTx:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public boolean hasLayoutAttributes();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.hasLayoutAttributes:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public static java.awt.Font getFont(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic java.awt.Font.getFont:(Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 nm Ljava/lang/String;
MethodParameters:
Name Flags
nm
public static java.awt.Font decode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: bipush 12
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 0
ifnonnull 6
5: new java.awt.Font
dup
ldc "Dialog"
iload 4
iload 3
invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
areturn
6: StackMap locals: java.lang.String java.lang.String java.lang.String int int
StackMap stack:
aload 0
bipush 45
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 7: aload 0
bipush 32
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 6
start local 6 8: iload 5
iload 6
if_icmple 9
bipush 45
goto 10
StackMap locals: int int
StackMap stack:
9: bipush 32
StackMap locals:
StackMap stack: int
10: istore 7
start local 7 11: aload 0
iload 7
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 8
start local 8 12: aload 0
iload 7
iload 8
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 9
start local 9 13: aload 0
invokevirtual java.lang.String.length:()I
istore 10
start local 10 14: iload 8
ifle 25
iload 8
iconst_1
iadd
iload 10
if_icmpge 25
15: aload 0
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
16: istore 3
17: iload 3
ifgt 25
18: bipush 12
istore 3
19: goto 25
StackMap locals: java.lang.String java.lang.String java.lang.String int int int int int int int int
StackMap stack: java.lang.NumberFormatException
20: pop
21: iload 8
istore 9
22: iload 10
istore 8
23: aload 0
iload 8
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
iload 7
if_icmpne 25
24: iinc 8 -1
25: StackMap locals:
StackMap stack:
iload 9
iflt 45
iload 9
iconst_1
iadd
iload 10
if_icmpge 45
26: aload 0
iload 9
iconst_1
iadd
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
27: aload 2
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 2
28: aload 2
ldc "bolditalic"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
29: iconst_3
istore 4
30: goto 43
StackMap locals:
StackMap stack:
31: aload 2
ldc "italic"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
32: iconst_2
istore 4
33: goto 43
StackMap locals:
StackMap stack:
34: aload 2
ldc "bold"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
35: iconst_1
istore 4
36: goto 43
StackMap locals:
StackMap stack:
37: aload 2
ldc "plain"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 40
38: iconst_0
istore 4
39: goto 43
40: StackMap locals:
StackMap stack:
iload 8
istore 9
41: aload 0
iload 9
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
iload 7
if_icmpne 43
42: iinc 9 -1
43: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
44: goto 54
45: StackMap locals:
StackMap stack:
iload 10
istore 11
start local 11 46: iload 9
ifle 49
47: iload 9
istore 11
48: goto 51
StackMap locals: int
StackMap stack:
49: iload 8
ifle 51
50: iload 8
istore 11
51: StackMap locals:
StackMap stack:
iload 11
ifle 53
aload 0
iload 11
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
iload 7
if_icmpne 53
52: iinc 11 -1
53: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
end local 11 54: StackMap locals:
StackMap stack:
new java.awt.Font
dup
aload 1
iload 4
iload 3
invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
areturn
end local 10 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 55 0 str Ljava/lang/String;
1 55 1 fontName Ljava/lang/String;
2 55 2 styleName Ljava/lang/String;
3 55 3 fontSize I
4 55 4 fontStyle I
7 55 5 lastHyphen I
8 55 6 lastSpace I
11 55 7 sepChar C
12 55 8 sizeIndex I
13 55 9 styleIndex I
14 55 10 strlen I
46 54 11 fontEnd I
Exception table:
from to target type
15 19 20 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
str
public static java.awt.Font getFont(java.lang.String, java.awt.Font);
descriptor: (Ljava/lang/String;Ljava/awt/Font;)Ljava/awt/Font;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
2: goto 4
StackMap locals: java.lang.String java.awt.Font java.lang.String
StackMap stack: java.lang.SecurityException
3: pop
4: StackMap locals:
StackMap stack:
aload 2
ifnonnull 6
5: aload 1
areturn
6: StackMap locals:
StackMap stack:
aload 2
invokestatic java.awt.Font.decode:(Ljava/lang/String;)Ljava/awt/Font;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 nm Ljava/lang/String;
0 7 1 font Ljava/awt/Font;
1 7 2 str Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
MethodParameters:
Name Flags
nm
font
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Font.hash:I
ifne 5
1: aload 0
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield java.awt.Font.style:I
ixor
aload 0
getfield java.awt.Font.size:I
ixor
putfield java.awt.Font.hash:I
2: aload 0
getfield java.awt.Font.nonIdentityTx:Z
ifeq 5
3: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnull 5
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getTransform:()Ljava/awt/geom/AffineTransform;
ifnull 5
4: aload 0
dup
getfield java.awt.Font.hash:I
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.hashCode:()I
ixor
putfield java.awt.Font.hash:I
5: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Font.hash:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/Font;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.awt.Font
ifeq 15
3: aload 1
checkcast java.awt.Font
astore 2
start local 2 4: aload 0
getfield java.awt.Font.size:I
aload 2
getfield java.awt.Font.size:I
if_icmpne 15
5: aload 0
getfield java.awt.Font.style:I
aload 2
getfield java.awt.Font.style:I
if_icmpne 15
6: aload 0
getfield java.awt.Font.nonIdentityTx:Z
aload 2
getfield java.awt.Font.nonIdentityTx:Z
if_icmpne 15
7: aload 0
getfield java.awt.Font.hasLayoutAttributes:Z
aload 2
getfield java.awt.Font.hasLayoutAttributes:Z
if_icmpne 15
8: aload 0
getfield java.awt.Font.pointSize:F
aload 2
getfield java.awt.Font.pointSize:F
fcmpl
ifne 15
9: aload 0
getfield java.awt.Font.name:Ljava/lang/String;
aload 2
getfield java.awt.Font.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
10: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnonnull 14
11: aload 2
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnonnull 13
12: iconst_1
ireturn
13: StackMap locals: java.awt.Font
StackMap stack:
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
aload 2
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.equals:(Lsun/font/AttributeValues;)Z
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
aload 2
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.equals:(Lsun/font/AttributeValues;)Z
ireturn
end local 2 15: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/awt/Font;
0 16 1 obj Ljava/lang/Object;
4 15 2 font Ljava/awt/Font;
MethodParameters:
Name Flags
obj
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.Font.isBold:()Z
ifeq 5
1: aload 0
invokevirtual java.awt.Font.isItalic:()Z
ifeq 2
ldc "bolditalic"
goto 3
StackMap locals:
StackMap stack:
2: ldc "bold"
StackMap locals:
StackMap stack: java.lang.String
3: astore 1
start local 1 4: goto 8
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.isItalic:()Z
ifeq 6
ldc "italic"
goto 7
StackMap locals:
StackMap stack:
6: ldc "plain"
StackMap locals:
StackMap stack: java.lang.String
7: astore 1
start local 1 8: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[family="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ",name="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.awt.Font.name: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;
9: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ",size="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.awt.Font.size:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/awt/Font;
4 5 1 strStyle Ljava/lang/String;
8 11 1 strStyle Ljava/lang/String;
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnull 9
1: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
dup
astore 2
monitorenter
2: aload 0
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.toSerializableHashtable:()Ljava/util/Hashtable;
putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
3: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
4: aload 0
aconst_null
putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
5: aload 2
monitorexit
6: goto 10
StackMap locals: java.awt.Font java.io.ObjectOutputStream sun.font.AttributeValues
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/awt/Font;
0 11 1 s Ljava/io/ObjectOutputStream;
Exception table:
from to target type
2 6 7 any
7 8 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
getfield java.awt.Font.pointSize:F
fconst_0
fcmpl
ifne 3
2: aload 0
aload 0
getfield java.awt.Font.size:I
i2f
putfield java.awt.Font.pointSize:F
3: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
ifnull 19
4: aload 0
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
putfield java.awt.Font.values:Lsun/font/AttributeValues;
5: aload 0
getfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
invokestatic sun.font.AttributeValues.fromSerializableHashtable:(Ljava/util/Hashtable;)Lsun/font/AttributeValues;
6: astore 2
start local 2 7: aload 0
getfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
invokestatic sun.font.AttributeValues.is16Hashtable:(Ljava/util/Hashtable;)Z
ifne 9
8: aload 2
invokevirtual sun.font.AttributeValues.unsetDefault:()V
9: StackMap locals: sun.font.AttributeValues
StackMap stack:
aload 0
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
aload 2
invokevirtual sun.font.AttributeValues.merge:(Lsun/font/AttributeValues;)Lsun/font/AttributeValues;
putfield java.awt.Font.values:Lsun/font/AttributeValues;
10: aload 0
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
getstatic java.awt.Font.EXTRA_MASK:I
invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
putfield java.awt.Font.nonIdentityTx:Z
11: aload 0
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
getstatic java.awt.Font.LAYOUT_MASK:I
invokevirtual sun.font.AttributeValues.anyNonDefault:(I)Z
putfield java.awt.Font.hasLayoutAttributes:Z
end local 2 12: goto 18
StackMap locals: java.awt.Font java.io.ObjectInputStream
StackMap stack: java.lang.Throwable
13: astore 2
start local 2 14: new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
16: aload 0
aconst_null
putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
17: aload 3
athrow
18: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.awt.Font.fRequestedAttributes:Ljava/util/Hashtable;
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/awt/Font;
0 20 1 s Ljava/io/ObjectInputStream;
7 12 2 extras Lsun/font/AttributeValues;
14 15 2 t Ljava/lang/Throwable;
Exception table:
from to target type
4 12 13 Class java.lang.Throwable
4 15 15 any
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
MethodParameters:
Name Flags
s
public int getNumGlyphs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
invokevirtual sun.font.Font2D.getNumGlyphs:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public int getMissingGlyphCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
invokevirtual sun.font.Font2D.getMissingGlyphCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
public byte getBaselineFor(char);
descriptor: (C)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.getBaselineFor:(C)B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
0 1 1 c C
MethodParameters:
Name Flags
c
public java.util.Map<java.awt.font.TextAttribute, ?> getAttributes();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.font.AttributeMap
dup
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokespecial sun.font.AttributeMap.<init>:(Lsun/font/AttributeValues;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
Signature: ()Ljava/util/Map<Ljava/awt/font/TextAttribute;*>;
public java.text.AttributedCharacterIterator$Attribute[] getAvailableAttributes();
descriptor: ()[Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: bipush 22
anewarray java.text.AttributedCharacterIterator$Attribute
dup
iconst_0
1: getstatic java.awt.font.TextAttribute.FAMILY:Ljava/awt/font/TextAttribute;
aastore
dup
iconst_1
2: getstatic java.awt.font.TextAttribute.WEIGHT:Ljava/awt/font/TextAttribute;
aastore
dup
iconst_2
3: getstatic java.awt.font.TextAttribute.WIDTH:Ljava/awt/font/TextAttribute;
aastore
dup
iconst_3
4: getstatic java.awt.font.TextAttribute.POSTURE:Ljava/awt/font/TextAttribute;
aastore
dup
iconst_4
5: getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
aastore
dup
iconst_5
6: getstatic java.awt.font.TextAttribute.TRANSFORM:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 6
7: getstatic java.awt.font.TextAttribute.SUPERSCRIPT:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 7
8: getstatic java.awt.font.TextAttribute.CHAR_REPLACEMENT:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 8
9: getstatic java.awt.font.TextAttribute.FOREGROUND:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 9
10: getstatic java.awt.font.TextAttribute.BACKGROUND:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 10
11: getstatic java.awt.font.TextAttribute.UNDERLINE:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 11
12: getstatic java.awt.font.TextAttribute.STRIKETHROUGH:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 12
13: getstatic java.awt.font.TextAttribute.RUN_DIRECTION:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 13
14: getstatic java.awt.font.TextAttribute.BIDI_EMBEDDING:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 14
15: getstatic java.awt.font.TextAttribute.JUSTIFICATION:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 15
16: getstatic java.awt.font.TextAttribute.INPUT_METHOD_HIGHLIGHT:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 16
17: getstatic java.awt.font.TextAttribute.INPUT_METHOD_UNDERLINE:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 17
18: getstatic java.awt.font.TextAttribute.SWAP_COLORS:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 18
19: getstatic java.awt.font.TextAttribute.NUMERIC_SHAPING:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 19
20: getstatic java.awt.font.TextAttribute.KERNING:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 20
21: getstatic java.awt.font.TextAttribute.LIGATURES:Ljava/awt/font/TextAttribute;
aastore
dup
bipush 21
22: getstatic java.awt.font.TextAttribute.TRACKING:Ljava/awt/font/TextAttribute;
aastore
23: astore 1
start local 1 24: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljava/awt/Font;
24 25 1 attributes [Ljava/text/AttributedCharacterIterator$Attribute;
public java.awt.Font deriveFont(int, float);
descriptor: (IF)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnonnull 2
1: new java.awt.Font
dup
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
iload 1
fload 2
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 3
start local 3 3: aload 0
getfield java.awt.Font.style:I
iload 1
if_icmpeq 4
aload 0
getfield java.awt.Font.style:I
goto 5
StackMap locals: sun.font.AttributeValues
StackMap stack:
4: iconst_m1
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: iload 1
aload 3
invokestatic java.awt.Font.applyStyle:(ILsun/font/AttributeValues;)V
7: aload 3
fload 2
invokevirtual sun.font.AttributeValues.setSize:(F)V
8: new java.awt.Font
dup
aload 3
aconst_null
iload 4
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/awt/Font;
0 9 1 style I
0 9 2 size F
3 9 3 newValues Lsun/font/AttributeValues;
6 9 4 oldStyle I
MethodParameters:
Name Flags
style
size
public java.awt.Font deriveFont(int, java.awt.geom.AffineTransform);
descriptor: (ILjava/awt/geom/AffineTransform;)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 3
start local 3 1: aload 0
getfield java.awt.Font.style:I
iload 1
if_icmpeq 2
aload 0
getfield java.awt.Font.style:I
goto 3
StackMap locals: sun.font.AttributeValues
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 1
aload 3
invokestatic java.awt.Font.applyStyle:(ILsun/font/AttributeValues;)V
5: aload 2
aload 3
invokestatic java.awt.Font.applyTransform:(Ljava/awt/geom/AffineTransform;Lsun/font/AttributeValues;)V
6: new java.awt.Font
dup
aload 3
aconst_null
iload 4
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/awt/Font;
0 7 1 style I
0 7 2 trans Ljava/awt/geom/AffineTransform;
1 7 3 newValues Lsun/font/AttributeValues;
4 7 4 oldStyle I
MethodParameters:
Name Flags
style
trans
public java.awt.Font deriveFont(float);
descriptor: (F)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnonnull 2
1: new java.awt.Font
dup
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
aload 0
getfield java.awt.Font.style:I
fload 1
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 2
start local 2 3: aload 2
fload 1
invokevirtual sun.font.AttributeValues.setSize:(F)V
4: new java.awt.Font
dup
aload 2
aconst_null
iconst_m1
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/Font;
0 5 1 size F
3 5 2 newValues Lsun/font/AttributeValues;
MethodParameters:
Name Flags
size
public java.awt.Font deriveFont(java.awt.geom.AffineTransform);
descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 2
start local 2 1: aload 1
aload 2
invokestatic java.awt.Font.applyTransform:(Ljava/awt/geom/AffineTransform;Lsun/font/AttributeValues;)V
2: new java.awt.Font
dup
aload 2
aconst_null
iconst_m1
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/Font;
0 3 1 trans Ljava/awt/geom/AffineTransform;
1 3 2 newValues Lsun/font/AttributeValues;
MethodParameters:
Name Flags
trans
public java.awt.Font deriveFont(int);
descriptor: (I)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnonnull 2
1: new java.awt.Font
dup
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
iload 1
aload 0
getfield java.awt.Font.size:I
i2f
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Ljava/lang/String;IFZLsun/font/Font2DHandle;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 2
start local 2 3: aload 0
getfield java.awt.Font.style:I
iload 1
if_icmpeq 4
aload 0
getfield java.awt.Font.style:I
goto 5
StackMap locals: sun.font.AttributeValues
StackMap stack:
4: iconst_m1
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: iload 1
aload 2
invokestatic java.awt.Font.applyStyle:(ILsun/font/AttributeValues;)V
7: new java.awt.Font
dup
aload 2
aconst_null
iload 3
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/awt/Font;
0 8 1 style I
3 8 2 newValues Lsun/font/AttributeValues;
6 8 3 oldStyle I
MethodParameters:
Name Flags
style
public java.awt.Font deriveFont(java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
descriptor: (Ljava/util/Map;)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getAttributeValues:()Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.clone:()Lsun/font/AttributeValues;
astore 2
start local 2 3: aload 2
aload 1
getstatic java.awt.Font.RECOGNIZED_MASK:I
invokevirtual sun.font.AttributeValues.merge:(Ljava/util/Map;I)Lsun/font/AttributeValues;
pop
4: new java.awt.Font
dup
aload 2
aload 0
getfield java.awt.Font.name:Ljava/lang/String;
aload 0
getfield java.awt.Font.style:I
aload 0
getfield java.awt.Font.createdFont:Z
aload 0
getfield java.awt.Font.font2DHandle:Lsun/font/Font2DHandle;
invokespecial java.awt.Font.<init>:(Lsun/font/AttributeValues;Ljava/lang/String;IZLsun/font/Font2DHandle;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/Font;
0 5 1 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
3 5 2 newValues Lsun/font/AttributeValues;
Signature: (Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/Font;
MethodParameters:
Name Flags
attributes
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 java.awt.Font.getFont2D:()Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDisplay:(C)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
0 1 1 c C
MethodParameters:
Name Flags
c
public boolean canDisplay(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifne 4
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid code point: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDisplay:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/Font;
0 5 1 codePoint I
MethodParameters:
Name Flags
codePoint
public int canDisplayUpTo(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
astore 2
start local 2 1: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 13
4: StackMap locals: sun.font.Font2D int int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: aload 2
iload 5
invokevirtual sun.font.Font2D.canDisplay:(C)Z
ifeq 7
6: goto 12
7: StackMap locals: int
StackMap stack:
iload 5
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifne 9
8: iload 4
ireturn
9: StackMap locals:
StackMap stack:
aload 2
aload 1
iload 4
invokevirtual java.lang.String.codePointAt:(I)I
invokevirtual sun.font.Font2D.canDisplay:(I)Z
ifne 11
10: iload 4
ireturn
11: StackMap locals:
StackMap stack:
iinc 4 1
end local 5 12: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 3
if_icmplt 4
end local 4 14: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/awt/Font;
0 15 1 str Ljava/lang/String;
1 15 2 font2d Lsun/font/Font2D;
2 15 3 len I
3 14 4 i I
5 12 5 c C
MethodParameters:
Name Flags
str
public int canDisplayUpTo(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
astore 4
start local 4 1: iload 2
istore 5
start local 5 2: goto 12
3: StackMap locals: sun.font.Font2D int
StackMap stack:
aload 1
iload 5
caload
istore 6
start local 6 4: aload 4
iload 6
invokevirtual sun.font.Font2D.canDisplay:(C)Z
ifeq 6
5: goto 11
6: StackMap locals: int
StackMap stack:
iload 6
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifne 8
7: iload 5
ireturn
8: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 5
iload 3
invokestatic java.lang.Character.codePointAt:([CII)I
invokevirtual sun.font.Font2D.canDisplay:(I)Z
ifne 10
9: iload 5
ireturn
10: StackMap locals:
StackMap stack:
iinc 5 1
end local 6 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 3
if_icmplt 3
end local 5 13: iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/awt/Font;
0 14 1 text [C
0 14 2 start I
0 14 3 limit I
1 14 4 font2d Lsun/font/Font2D;
2 13 5 i I
4 11 6 c C
MethodParameters:
Name Flags
text
start
limit
public int canDisplayUpTo(java.text.CharacterIterator, int, int);
descriptor: (Ljava/text/CharacterIterator;II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
astore 4
start local 4 1: aload 1
iload 2
invokeinterface java.text.CharacterIterator.setIndex:(I)C
istore 5
start local 5 2: iload 2
istore 6
start local 6 3: goto 15
4: StackMap locals: sun.font.Font2D int int
StackMap stack:
aload 4
iload 5
invokevirtual sun.font.Font2D.canDisplay:(C)Z
ifeq 6
5: goto 14
6: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifne 8
7: iload 6
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.text.CharacterIterator.next:()C
istore 7
start local 7 9: iload 7
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifne 11
10: iload 6
ireturn
11: StackMap locals: int
StackMap stack:
aload 4
iload 5
iload 7
invokestatic java.lang.Character.toCodePoint:(CC)I
invokevirtual sun.font.Font2D.canDisplay:(I)Z
ifne 13
12: iload 6
ireturn
13: StackMap locals:
StackMap stack:
iinc 6 1
end local 7 14: StackMap locals:
StackMap stack:
iinc 6 1
aload 1
invokeinterface java.text.CharacterIterator.next:()C
istore 5
StackMap locals:
StackMap stack:
15: iload 6
iload 3
if_icmplt 4
end local 6 16: iconst_m1
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 17 0 this Ljava/awt/Font;
0 17 1 iter Ljava/text/CharacterIterator;
0 17 2 start I
0 17 3 limit I
1 17 4 font2d Lsun/font/Font2D;
2 17 5 c C
3 16 6 i I
9 14 7 c2 C
MethodParameters:
Name Flags
iter
start
limit
public float getItalicAngle();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual java.awt.Font.getItalicAngle:(Ljava/awt/font/FontRenderContext;)F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
private float getItalicAngle(java.awt.font.FontRenderContext);
descriptor: (Ljava/awt/font/FontRenderContext;)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 4
1: getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_OFF:Ljava/lang/Object;
astore 2
start local 2 2: getstatic java.awt.RenderingHints.VALUE_FRACTIONALMETRICS_OFF:Ljava/lang/Object;
astore 3
start local 3 3: goto 6
end local 3 end local 2 4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.awt.font.FontRenderContext.getAntiAliasingHint:()Ljava/lang/Object;
astore 2
start local 2 5: aload 1
invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
astore 3
start local 3 6: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
aload 0
getstatic java.awt.Font.identityTx:Ljava/awt/geom/AffineTransform;
aload 2
aload 3
invokevirtual sun.font.Font2D.getItalicAngle:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;)F
freturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/awt/Font;
0 7 1 frc Ljava/awt/font/FontRenderContext;
2 4 2 aa Ljava/lang/Object;
5 7 2 aa Ljava/lang/Object;
3 4 3 fm Ljava/lang/Object;
6 7 3 fm Ljava/lang/Object;
MethodParameters:
Name Flags
frc
public boolean hasUniformLineMetrics();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
private sun.font.FontLineMetrics defaultLineMetrics(java.awt.font.FontRenderContext);
descriptor: (Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=18, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield java.awt.Font.flmref:Ljava/lang/ref/SoftReference;
ifnull 4
2: aload 0
getfield java.awt.Font.flmref:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast sun.font.FontLineMetrics
dup
astore 2
ifnull 4
3: aload 2
getfield sun.font.FontLineMetrics.frc:Ljava/awt/font/FontRenderContext;
aload 1
invokevirtual java.awt.font.FontRenderContext.equals:(Ljava/awt/font/FontRenderContext;)Z
ifne 52
4: StackMap locals: sun.font.FontLineMetrics
StackMap stack:
bipush 8
newarray 6
astore 3
start local 3 5: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
aload 0
getstatic java.awt.Font.identityTx:Ljava/awt/geom/AffineTransform;
6: aload 1
invokevirtual java.awt.font.FontRenderContext.getAntiAliasingHint:()Ljava/lang/Object;
7: aload 1
invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
8: aload 3
9: invokevirtual sun.font.Font2D.getFontMetrics:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;[F)V
10: aload 3
iconst_0
faload
fstore 4
start local 4 11: aload 3
iconst_1
faload
fstore 5
start local 5 12: aload 3
iconst_2
faload
fstore 6
start local 6 13: fconst_0
fstore 7
start local 7 14: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnull 18
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getSuperscript:()I
ifeq 18
15: aload 0
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 7
16: fload 4
fload 7
fsub
fstore 4
17: fload 5
fload 7
fadd
fstore 5
18: StackMap locals: java.awt.Font java.awt.font.FontRenderContext sun.font.FontLineMetrics float[] float float float float
StackMap stack:
fload 4
fload 5
fadd
fload 6
fadd
fstore 8
start local 8 19: iconst_0
istore 9
start local 9 20: iconst_3
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fload 5
fconst_2
fdiv
fload 4
fsub
fconst_2
fdiv
fastore
dup
iconst_2
fload 4
fneg
fastore
astore 10
start local 10 21: aload 3
iconst_4
faload
fstore 11
start local 11 22: aload 3
iconst_5
faload
fstore 12
start local 12 23: aload 3
bipush 6
faload
fstore 13
start local 13 24: aload 3
bipush 7
faload
fstore 14
start local 14 25: aload 0
aload 1
invokevirtual java.awt.Font.getItalicAngle:(Ljava/awt/font/FontRenderContext;)F
fstore 15
start local 15 26: aload 0
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 42
27: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getCharTransform:()Ljava/awt/geom/AffineTransform;
astore 16
start local 16 28: aload 16
ifnull 42
29: new java.awt.geom.Point2D$Float
dup
invokespecial java.awt.geom.Point2D$Float.<init>:()V
astore 17
start local 17 30: aload 17
fconst_0
fload 11
invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
31: aload 16
aload 17
aload 17
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
32: aload 17
getfield java.awt.geom.Point2D$Float.y:F
fstore 11
33: aload 17
fconst_0
fload 12
invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
34: aload 16
aload 17
aload 17
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
35: aload 17
getfield java.awt.geom.Point2D$Float.y:F
fstore 12
36: aload 17
fconst_0
fload 13
invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
37: aload 16
aload 17
aload 17
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
38: aload 17
getfield java.awt.geom.Point2D$Float.y:F
fstore 13
39: aload 17
fconst_0
fload 14
invokevirtual java.awt.geom.Point2D$Float.setLocation:(FF)V
40: aload 16
aload 17
aload 17
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
41: aload 17
getfield java.awt.geom.Point2D$Float.y:F
fstore 14
end local 17 end local 16 42: StackMap locals: java.awt.Font java.awt.font.FontRenderContext sun.font.FontLineMetrics float[] float float float float float int float[] float float float float float
StackMap stack:
fload 11
fload 7
fadd
fstore 11
43: fload 13
fload 7
fadd
fstore 13
44: new sun.font.CoreMetrics
dup
fload 4
fload 5
fload 6
fload 8
45: iload 9
aload 10
46: fload 11
fload 12
47: fload 13
fload 14
48: fload 7
fload 15
49: invokespecial sun.font.CoreMetrics.<init>:(FFFFI[FFFFFFF)V
astore 16
start local 16 50: new sun.font.FontLineMetrics
dup
iconst_0
aload 16
aload 1
invokespecial sun.font.FontLineMetrics.<init>:(ILsun/font/CoreMetrics;Ljava/awt/font/FontRenderContext;)V
astore 2
51: aload 0
new java.lang.ref.SoftReference
dup
aload 2
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield java.awt.Font.flmref:Ljava/lang/ref/SoftReference;
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 52: StackMap locals: java.awt.Font java.awt.font.FontRenderContext sun.font.FontLineMetrics
StackMap stack:
aload 2
invokevirtual sun.font.FontLineMetrics.clone:()Ljava/lang/Object;
checkcast sun.font.FontLineMetrics
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Ljava/awt/Font;
0 53 1 frc Ljava/awt/font/FontRenderContext;
1 53 2 flm Lsun/font/FontLineMetrics;
5 52 3 metrics [F
11 52 4 ascent F
12 52 5 descent F
13 52 6 leading F
14 52 7 ssOffset F
19 52 8 height F
20 52 9 baselineIndex I
21 52 10 baselineOffsets [F
22 52 11 strikethroughOffset F
23 52 12 strikethroughThickness F
24 52 13 underlineOffset F
25 52 14 underlineThickness F
26 52 15 italicAngle F
28 42 16 ctx Ljava/awt/geom/AffineTransform;
30 42 17 pt Ljava/awt/geom/Point2D$Float;
50 52 16 cm Lsun/font/CoreMetrics;
MethodParameters:
Name Flags
frc
public java.awt.font.LineMetrics getLineMetrics(java.lang.String, java.awt.font.FontRenderContext);
descriptor: (Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
astore 3
start local 3 1: aload 3
aload 1
invokevirtual java.lang.String.length:()I
putfield sun.font.FontLineMetrics.numchars:I
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/Font;
0 3 1 str Ljava/lang/String;
0 3 2 frc Ljava/awt/font/FontRenderContext;
1 3 3 flm Lsun/font/FontLineMetrics;
MethodParameters:
Name Flags
str
frc
public java.awt.font.LineMetrics getLineMetrics(java.lang.String, int, int, java.awt.font.FontRenderContext);
descriptor: (Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
astore 5
start local 5 1: iload 3
iload 2
isub
istore 6
start local 6 2: aload 5
iload 6
ifge 3
iconst_0
goto 4
StackMap locals: java.awt.Font java.lang.String int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
StackMap stack: sun.font.FontLineMetrics
3: iload 6
StackMap locals: java.awt.Font java.lang.String int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
StackMap stack: sun.font.FontLineMetrics int
4: putfield sun.font.FontLineMetrics.numchars:I
5: aload 5
areturn
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 6 0 this Ljava/awt/Font;
0 6 1 str Ljava/lang/String;
0 6 2 beginIndex I
0 6 3 limit I
0 6 4 frc Ljava/awt/font/FontRenderContext;
1 6 5 flm Lsun/font/FontLineMetrics;
2 6 6 numChars I
MethodParameters:
Name Flags
str
beginIndex
limit
frc
public java.awt.font.LineMetrics getLineMetrics(char[], int, int, java.awt.font.FontRenderContext);
descriptor: ([CIILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
astore 5
start local 5 1: iload 3
iload 2
isub
istore 6
start local 6 2: aload 5
iload 6
ifge 3
iconst_0
goto 4
StackMap locals: java.awt.Font char[] int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
StackMap stack: sun.font.FontLineMetrics
3: iload 6
StackMap locals: java.awt.Font char[] int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
StackMap stack: sun.font.FontLineMetrics int
4: putfield sun.font.FontLineMetrics.numchars:I
5: aload 5
areturn
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 6 0 this Ljava/awt/Font;
0 6 1 chars [C
0 6 2 beginIndex I
0 6 3 limit I
0 6 4 frc Ljava/awt/font/FontRenderContext;
1 6 5 flm Lsun/font/FontLineMetrics;
2 6 6 numChars I
MethodParameters:
Name Flags
chars
beginIndex
limit
frc
public java.awt.font.LineMetrics getLineMetrics(java.text.CharacterIterator, int, int, java.awt.font.FontRenderContext);
descriptor: (Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokevirtual java.awt.Font.defaultLineMetrics:(Ljava/awt/font/FontRenderContext;)Lsun/font/FontLineMetrics;
astore 5
start local 5 1: iload 3
iload 2
isub
istore 6
start local 6 2: aload 5
iload 6
ifge 3
iconst_0
goto 4
StackMap locals: java.awt.Font java.text.CharacterIterator int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
StackMap stack: sun.font.FontLineMetrics
3: iload 6
StackMap locals: java.awt.Font java.text.CharacterIterator int int java.awt.font.FontRenderContext sun.font.FontLineMetrics int
StackMap stack: sun.font.FontLineMetrics int
4: putfield sun.font.FontLineMetrics.numchars:I
5: aload 5
areturn
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 6 0 this Ljava/awt/Font;
0 6 1 ci Ljava/text/CharacterIterator;
0 6 2 beginIndex I
0 6 3 limit I
0 6 4 frc Ljava/awt/font/FontRenderContext;
1 6 5 flm Lsun/font/FontLineMetrics;
2 6 6 numChars I
MethodParameters:
Name Flags
ci
beginIndex
limit
frc
public java.awt.geom.Rectangle2D getStringBounds(java.lang.String, java.awt.font.FontRenderContext);
descriptor: (Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 3
start local 3 1: aload 0
aload 3
iconst_0
aload 3
arraylength
aload 2
invokevirtual java.awt.Font.getStringBounds:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/Font;
0 2 1 str Ljava/lang/String;
0 2 2 frc Ljava/awt/font/FontRenderContext;
1 2 3 array [C
MethodParameters:
Name Flags
str
frc
public java.awt.geom.Rectangle2D getStringBounds(java.lang.String, int, int, java.awt.font.FontRenderContext);
descriptor: (Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
iload 2
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 1: aload 0
aload 5
aload 4
invokevirtual java.awt.Font.getStringBounds:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
areturn
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 2 0 this Ljava/awt/Font;
0 2 1 str Ljava/lang/String;
0 2 2 beginIndex I
0 2 3 limit I
0 2 4 frc Ljava/awt/font/FontRenderContext;
1 2 5 substr Ljava/lang/String;
MethodParameters:
Name Flags
str
beginIndex
limit
frc
public java.awt.geom.Rectangle2D getStringBounds(char[], int, int, java.awt.font.FontRenderContext);
descriptor: ([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
ifge 2
1: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "beginIndex: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 3
aload 1
arraylength
if_icmple 4
3: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "limit: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmple 8
5: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "range length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: iload 3
iload 2
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
ifnull 12
9: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getKerning:()I
ifne 11
aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getLigatures:()I
ifne 11
10: aload 0
getfield java.awt.Font.values:Lsun/font/AttributeValues;
invokevirtual sun.font.AttributeValues.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
ifnull 12
11: StackMap locals:
StackMap stack:
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 5
start local 5 14: iload 5
ifeq 18
15: aload 1
iload 2
iload 3
invokestatic sun.font.FontUtilities.isComplexText:([CII)Z
ifeq 16
iconst_0
goto 17
StackMap locals: int
StackMap stack:
16: iconst_1
StackMap locals:
StackMap stack: int
17: istore 5
18: StackMap locals:
StackMap stack:
iload 5
ifeq 21
19: aload 0
aload 4
invokestatic sun.font.FontDesignMetrics.getMetrics:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontDesignMetrics;
astore 6
start local 6 20: aload 6
aload 1
iload 2
iload 3
iload 2
isub
invokevirtual sun.font.FontDesignMetrics.getSimpleBounds:([CII)Ljava/awt/geom/Rectangle2D;
areturn
end local 6 21: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
invokespecial java.lang.String.<init>:([CII)V
astore 6
start local 6 22: new java.awt.font.TextLayout
dup
aload 6
aload 0
aload 4
invokespecial java.awt.font.TextLayout.<init>:(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V
astore 7
start local 7 23: new java.awt.geom.Rectangle2D$Float
dup
fconst_0
aload 7
invokevirtual java.awt.font.TextLayout.getAscent:()F
fneg
aload 7
invokevirtual java.awt.font.TextLayout.getAdvance:()F
24: aload 7
invokevirtual java.awt.font.TextLayout.getAscent:()F
aload 7
invokevirtual java.awt.font.TextLayout.getDescent:()F
fadd
25: aload 7
invokevirtual java.awt.font.TextLayout.getLeading:()F
26: fadd
27: invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
areturn
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 28 0 this Ljava/awt/Font;
0 28 1 chars [C
0 28 2 beginIndex I
0 28 3 limit I
0 28 4 frc Ljava/awt/font/FontRenderContext;
14 28 5 simple Z
20 21 6 metrics Lsun/font/FontDesignMetrics;
22 28 6 str Ljava/lang/String;
23 28 7 tl Ljava/awt/font/TextLayout;
MethodParameters:
Name Flags
chars
beginIndex
limit
frc
public java.awt.geom.Rectangle2D getStringBounds(java.text.CharacterIterator, int, int, java.awt.font.FontRenderContext);
descriptor: (Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokeinterface java.text.CharacterIterator.getBeginIndex:()I
istore 5
start local 5 1: aload 1
invokeinterface java.text.CharacterIterator.getEndIndex:()I
istore 6
start local 6 2: iload 2
iload 5
if_icmpge 4
3: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "beginIndex: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int int
StackMap stack:
iload 3
iload 6
if_icmple 6
5: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "limit: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmple 10
7: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "range length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: iload 3
iload 2
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 3
iload 2
isub
newarray 5
astore 7
start local 7 11: aload 1
iload 2
invokeinterface java.text.CharacterIterator.setIndex:(I)C
pop
12: iconst_0
istore 8
start local 8 13: goto 17
14: StackMap locals: char[] int
StackMap stack:
aload 7
iload 8
aload 1
invokeinterface java.text.CharacterIterator.current:()C
castore
15: aload 1
invokeinterface java.text.CharacterIterator.next:()C
pop
16: iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
aload 7
arraylength
if_icmplt 14
end local 8 18: aload 0
aload 7
iconst_0
aload 7
arraylength
aload 4
invokevirtual java.awt.Font.getStringBounds:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
areturn
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 19 0 this Ljava/awt/Font;
0 19 1 ci Ljava/text/CharacterIterator;
0 19 2 beginIndex I
0 19 3 limit I
0 19 4 frc Ljava/awt/font/FontRenderContext;
1 19 5 start I
2 19 6 end I
11 19 7 arr [C
13 18 8 idx I
MethodParameters:
Name Flags
ci
beginIndex
limit
frc
public java.awt.geom.Rectangle2D getMaxCharBounds(java.awt.font.FontRenderContext);
descriptor: (Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: iconst_4
newarray 6
astore 2
start local 2 1: aload 0
invokevirtual java.awt.Font.getFont2D:()Lsun/font/Font2D;
aload 0
aload 1
aload 2
invokevirtual sun.font.Font2D.getFontMetrics:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[F)V
2: new java.awt.geom.Rectangle2D$Float
dup
fconst_0
aload 2
iconst_0
faload
fneg
3: aload 2
iconst_3
faload
4: aload 2
iconst_0
faload
aload 2
iconst_1
faload
fadd
aload 2
iconst_2
faload
fadd
5: invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/Font;
0 6 1 frc Ljava/awt/font/FontRenderContext;
1 6 2 metrics [F
MethodParameters:
Name Flags
frc
public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.lang.String);
descriptor: (Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Ljava/awt/font/GlyphVector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.font.StandardGlyphVector
dup
aload 0
aload 2
aload 1
invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;Ljava/lang/String;Ljava/awt/font/FontRenderContext;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
0 1 1 frc Ljava/awt/font/FontRenderContext;
0 1 2 str Ljava/lang/String;
MethodParameters:
Name Flags
frc
str
public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, char[]);
descriptor: (Ljava/awt/font/FontRenderContext;[C)Ljava/awt/font/GlyphVector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.font.StandardGlyphVector
dup
aload 0
aload 2
aload 1
invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;[CLjava/awt/font/FontRenderContext;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
0 1 1 frc Ljava/awt/font/FontRenderContext;
0 1 2 chars [C
MethodParameters:
Name Flags
frc
chars
public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.text.CharacterIterator);
descriptor: (Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Ljava/awt/font/GlyphVector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.font.StandardGlyphVector
dup
aload 0
aload 2
aload 1
invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;Ljava/text/CharacterIterator;Ljava/awt/font/FontRenderContext;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
0 1 1 frc Ljava/awt/font/FontRenderContext;
0 1 2 ci Ljava/text/CharacterIterator;
MethodParameters:
Name Flags
frc
ci
public java.awt.font.GlyphVector createGlyphVector(java.awt.font.FontRenderContext, int[]);
descriptor: (Ljava/awt/font/FontRenderContext;[I)Ljava/awt/font/GlyphVector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.font.StandardGlyphVector
dup
aload 0
aload 2
aload 1
invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;[ILjava/awt/font/FontRenderContext;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Font;
0 1 1 frc Ljava/awt/font/FontRenderContext;
0 1 2 glyphCodes [I
MethodParameters:
Name Flags
frc
glyphCodes
public java.awt.font.GlyphVector layoutGlyphVector(java.awt.font.FontRenderContext, char[], int, int, int);
descriptor: (Ljava/awt/font/FontRenderContext;[CIII)Ljava/awt/font/GlyphVector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
invokestatic sun.font.GlyphLayout.get:(Lsun/font/GlyphLayout$LayoutEngineFactory;)Lsun/font/GlyphLayout;
astore 6
start local 6 1: aload 6
aload 0
aload 1
aload 2
2: iload 3
iload 4
iload 3
isub
iload 5
aconst_null
3: invokevirtual sun.font.GlyphLayout.layout:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[CIIILsun/font/StandardGlyphVector;)Lsun/font/StandardGlyphVector;
astore 7
start local 7 4: aload 6
invokestatic sun.font.GlyphLayout.done:(Lsun/font/GlyphLayout;)V
5: aload 7
areturn
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 6 0 this Ljava/awt/Font;
0 6 1 frc Ljava/awt/font/FontRenderContext;
0 6 2 text [C
0 6 3 start I
0 6 4 limit I
0 6 5 flags I
1 6 6 gl Lsun/font/GlyphLayout;
4 6 7 gv Lsun/font/StandardGlyphVector;
MethodParameters:
Name Flags
frc
text
start
limit
flags
private static void applyTransform(java.awt.geom.AffineTransform, sun.font.AttributeValues);
descriptor: (Ljava/awt/geom/AffineTransform;Lsun/font/AttributeValues;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "transform must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.font.AttributeValues.setTransform:(Ljava/awt/geom/AffineTransform;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 trans Ljava/awt/geom/AffineTransform;
0 4 1 values Lsun/font/AttributeValues;
MethodParameters:
Name Flags
trans
values
private static void applyStyle(int, sun.font.AttributeValues);
descriptor: (ILsun/font/AttributeValues;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iload 0
iconst_1
iand
ifeq 1
fconst_2
goto 2
StackMap locals:
StackMap stack: sun.font.AttributeValues
1: fconst_1
StackMap locals: int sun.font.AttributeValues
StackMap stack: sun.font.AttributeValues float
2: invokevirtual sun.font.AttributeValues.setWeight:(F)V
3: aload 1
iload 0
iconst_2
iand
ifeq 4
ldc 0.2
goto 5
StackMap locals:
StackMap stack: sun.font.AttributeValues
4: fconst_0
StackMap locals: int sun.font.AttributeValues
StackMap stack: sun.font.AttributeValues float
5: invokevirtual sun.font.AttributeValues.setPosture:(F)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 style I
0 7 1 values Lsun/font/AttributeValues;
MethodParameters:
Name Flags
style
values
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "Font.java"
NestMembers:
java.awt.Font$1 java.awt.Font$2 java.awt.Font$3 java.awt.Font$FontAccessImpl
InnerClasses:
java.awt.Font$1
java.awt.Font$2
java.awt.Font$3
private FontAccessImpl = java.awt.Font$FontAccessImpl of java.awt.Font
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
public abstract LayoutEngineFactory = sun.font.GlyphLayout$LayoutEngineFactory of sun.font.GlyphLayout