public abstract class sun.font.Font2D
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.font.Font2D
super_class: java.lang.Object
{
public static final int FONT_CONFIG_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int JRE_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int TTF_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int TYPE1_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int NATIVE_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int UNKNOWN_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int DEFAULT_RANK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final java.lang.String[] boldNames;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] italicNames;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] boldItalicNames;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.awt.font.FontRenderContext DEFAULT_FRC;
descriptor: Ljava/awt/font/FontRenderContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public sun.font.Font2DHandle handle;
descriptor: Lsun/font/Font2DHandle;
flags: (0x0001) ACC_PUBLIC
protected java.lang.String familyName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String fullName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int style;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected sun.font.FontFamily family;
descriptor: Lsun/font/FontFamily;
flags: (0x0004) ACC_PROTECTED
protected int fontRank;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected sun.font.CharToGlyphMapper mapper;
descriptor: Lsun/font/CharToGlyphMapper;
flags: (0x0004) ACC_PROTECTED
protected java.util.concurrent.ConcurrentHashMap<sun.font.FontStrikeDesc, java.lang.ref.Reference<sun.font.FontStrike>> strikeCache;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/concurrent/ConcurrentHashMap<Lsun/font/FontStrikeDesc;Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;>;
protected java.lang.ref.Reference<sun.font.FontStrike> lastFontStrike;
descriptor: Ljava/lang/ref/Reference;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;
public static final int FWIDTH_NORMAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int FWEIGHT_NORMAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 400
public static final int FWEIGHT_BOLD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 700
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: bipush 6
anewarray java.lang.String
dup
iconst_0
1: ldc "bold"
aastore
dup
iconst_1
ldc "demibold"
aastore
dup
iconst_2
ldc "demi-bold"
aastore
dup
iconst_3
ldc "demi bold"
aastore
dup
iconst_4
ldc "negreta"
aastore
dup
iconst_5
ldc "demi"
aastore
2: putstatic sun.font.Font2D.boldNames:[Ljava/lang/String;
3: iconst_4
anewarray java.lang.String
dup
iconst_0
4: ldc "italic"
aastore
dup
iconst_1
ldc "cursiva"
aastore
dup
iconst_2
ldc "oblique"
aastore
dup
iconst_3
ldc "inclined"
aastore
5: putstatic sun.font.Font2D.italicNames:[Ljava/lang/String;
6: bipush 9
anewarray java.lang.String
dup
iconst_0
7: ldc "bolditalic"
aastore
dup
iconst_1
ldc "bold-italic"
aastore
dup
iconst_2
ldc "bold italic"
aastore
dup
iconst_3
8: ldc "boldoblique"
aastore
dup
iconst_4
ldc "bold-oblique"
aastore
dup
iconst_5
ldc "bold oblique"
aastore
dup
bipush 6
9: ldc "demibold italic"
aastore
dup
bipush 7
ldc "negreta cursiva"
aastore
dup
bipush 8
ldc "demi oblique"
aastore
10: putstatic sun.font.Font2D.boldItalicNames:[Ljava/lang/String;
11: new java.awt.font.FontRenderContext
dup
aconst_null
iconst_0
iconst_0
invokespecial java.awt.font.FontRenderContext.<init>:(Ljava/awt/geom/AffineTransform;ZZ)V
12: putstatic sun.font.Font2D.DEFAULT_FRC:Ljava/awt/font/FontRenderContext;
13: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.font.Font2D.style:I
2: aload 0
iconst_4
putfield sun.font.Font2D.fontRank:I
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
4: aload 0
new java.lang.ref.SoftReference
dup
aconst_null
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/Font2D;
public int getStyle();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.Font2D.style:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
protected void setStyle();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.font.Font2D.fullName:Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: java.lang.String int
StackMap stack:
aload 1
getstatic sun.font.Font2D.boldItalicNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 6
4: aload 0
iconst_3
putfield sun.font.Font2D.style:I
5: return
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
getstatic sun.font.Font2D.boldItalicNames:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 8: iconst_0
istore 2
start local 2 9: goto 14
10: StackMap locals:
StackMap stack:
aload 1
getstatic sun.font.Font2D.italicNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 13
11: aload 0
iconst_2
putfield sun.font.Font2D.style:I
12: return
13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
getstatic sun.font.Font2D.italicNames:[Ljava/lang/String;
arraylength
if_icmplt 10
end local 2 15: iconst_0
istore 2
start local 2 16: goto 21
17: StackMap locals:
StackMap stack:
aload 1
getstatic sun.font.Font2D.boldNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 20
18: aload 0
iconst_1
putfield sun.font.Font2D.style:I
19: return
20: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
21: iload 2
getstatic sun.font.Font2D.boldNames:[Ljava/lang/String;
arraylength
if_icmplt 17
end local 2 22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/font/Font2D;
1 23 1 fName Ljava/lang/String;
2 8 2 i I
9 15 2 i I
16 22 2 i I
public int getWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_5
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
public int getWeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.Font2D.style:I
iconst_1
iand
ifeq 2
1: sipush 700
ireturn
2: StackMap locals:
StackMap stack:
sipush 400
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/Font2D;
int getRank();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.Font2D.fontRank:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
void setRank(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.font.Font2D.fontRank:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/Font2D;
0 2 1 rank I
MethodParameters:
Name Flags
rank
abstract sun.font.CharToGlyphMapper getMapper();
descriptor: ()Lsun/font/CharToGlyphMapper;
flags: (0x0400) ACC_ABSTRACT
protected int getValidatedGlyphCode(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
if_icmplt 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
istore 1
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/Font2D;
0 3 1 glyphCode I
MethodParameters:
Name Flags
glyphCode
abstract sun.font.FontStrike createStrike(sun.font.FontStrikeDesc);
descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
desc
public sun.font.FontStrike getStrike(java.awt.Font);
descriptor: (Ljava/awt/Font;)Lsun/font/FontStrike;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast sun.font.FontStrike
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: sun.font.FontStrike
StackMap stack:
aload 0
aload 1
getstatic sun.font.Font2D.DEFAULT_FRC:Ljava/awt/font/FontRenderContext;
invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/Font2D;
0 4 1 font Ljava/awt/Font;
1 4 2 strike Lsun/font/FontStrike;
MethodParameters:
Name Flags
font
public sun.font.FontStrike getStrike(java.awt.Font, java.awt.geom.AffineTransform, int, int);
descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual java.awt.Font.getSize2D:()F
f2d
dstore 5
start local 5 1: aload 2
invokevirtual java.awt.geom.AffineTransform.clone:()Ljava/lang/Object;
checkcast java.awt.geom.AffineTransform
astore 7
start local 7 2: aload 7
dload 5
dload 5
invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
3: aload 1
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 5
4: aload 7
aload 1
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
5: StackMap locals: double java.awt.geom.AffineTransform
StackMap stack:
aload 7
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
dconst_0
dcmpl
ifne 6
aload 7
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
dconst_0
dcmpl
ifeq 12
6: StackMap locals:
StackMap stack:
aload 7
aload 7
invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
7: aload 7
invokevirtual java.awt.geom.AffineTransform.getShearY:()D
8: aload 7
invokevirtual java.awt.geom.AffineTransform.getShearX:()D
9: aload 7
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
10: dconst_0
dconst_0
11: invokevirtual java.awt.geom.AffineTransform.setTransform:(DDDDDD)V
12: StackMap locals:
StackMap stack:
new sun.font.FontStrikeDesc
dup
aload 2
aload 7
13: aload 1
invokevirtual java.awt.Font.getStyle:()I
iload 3
iload 4
14: invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
astore 8
start local 8 15: aload 0
aload 8
iconst_0
invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
areturn
end local 8 end local 7 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 16 0 this Lsun/font/Font2D;
0 16 1 font Ljava/awt/Font;
0 16 2 devTx Ljava/awt/geom/AffineTransform;
0 16 3 aa I
0 16 4 fm I
1 16 5 ptSize D
2 16 7 glyphTx Ljava/awt/geom/AffineTransform;
15 16 8 desc Lsun/font/FontStrikeDesc;
MethodParameters:
Name Flags
font
devTx
aa
fm
public sun.font.FontStrike getStrike(java.awt.Font, java.awt.geom.AffineTransform, java.awt.geom.AffineTransform, int, int);
descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new sun.font.FontStrikeDesc
dup
aload 2
aload 3
1: aload 1
invokevirtual java.awt.Font.getStyle:()I
iload 4
iload 5
2: invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
astore 6
start local 6 3: aload 0
aload 6
iconst_0
invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
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 4 0 this Lsun/font/Font2D;
0 4 1 font Ljava/awt/Font;
0 4 2 devTx Ljava/awt/geom/AffineTransform;
0 4 3 glyphTx Ljava/awt/geom/AffineTransform;
0 4 4 aa I
0 4 5 fm I
3 4 6 desc Lsun/font/FontStrikeDesc;
MethodParameters:
Name Flags
font
devTx
glyphTx
aa
fm
public sun.font.FontStrike getStrike(java.awt.Font, java.awt.font.FontRenderContext);
descriptor: (Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.awt.font.FontRenderContext.getTransform:()Ljava/awt/geom/AffineTransform;
astore 3
start local 3 1: aload 1
invokevirtual java.awt.Font.getSize2D:()F
f2d
dstore 4
start local 4 2: aload 3
dload 4
dload 4
invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
3: aload 1
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 12
4: aload 3
aload 1
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
5: aload 3
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
dconst_0
dcmpl
ifne 6
aload 3
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
dconst_0
dcmpl
ifeq 12
6: StackMap locals: java.awt.geom.AffineTransform double
StackMap stack:
aload 3
aload 3
invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
7: aload 3
invokevirtual java.awt.geom.AffineTransform.getShearY:()D
8: aload 3
invokevirtual java.awt.geom.AffineTransform.getShearX:()D
9: aload 3
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
10: dconst_0
dconst_0
11: invokevirtual java.awt.geom.AffineTransform.setTransform:(DDDDDD)V
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Lsun/font/Font2D;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)I
istore 6
start local 6 13: aload 2
invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
istore 7
start local 7 14: new sun.font.FontStrikeDesc
dup
aload 2
invokevirtual java.awt.font.FontRenderContext.getTransform:()Ljava/awt/geom/AffineTransform;
15: aload 3
aload 1
invokevirtual java.awt.Font.getStyle:()I
16: iload 6
iload 7
17: invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
astore 8
start local 8 18: aload 0
aload 8
iconst_0
invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
areturn
end local 8 end local 7 end local 6 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 Lsun/font/Font2D;
0 19 1 font Ljava/awt/Font;
0 19 2 frc Ljava/awt/font/FontRenderContext;
1 19 3 at Ljava/awt/geom/AffineTransform;
2 19 4 ptSize D
13 19 6 aa I
14 19 7 fm I
18 19 8 desc Lsun/font/FontStrikeDesc;
MethodParameters:
Name Flags
font
frc
sun.font.FontStrike getStrike(sun.font.FontStrikeDesc);
descriptor: (Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 desc Lsun/font/FontStrikeDesc;
MethodParameters:
Name Flags
desc
private sun.font.FontStrike getStrike(sun.font.FontStrikeDesc, boolean);
descriptor: (Lsun/font/FontStrikeDesc;Z)Lsun/font/FontStrike;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast sun.font.FontStrike
astore 3
start local 3 1: aload 3
ifnull 3
aload 1
aload 3
getfield sun.font.FontStrike.desc:Lsun/font/FontStrikeDesc;
invokevirtual sun.font.FontStrikeDesc.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 3
areturn
3: StackMap locals: sun.font.FontStrike
StackMap stack:
aload 0
getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 4
start local 4 4: aload 4
ifnull 10
5: aload 4
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast sun.font.FontStrike
astore 3
6: aload 3
ifnull 10
7: aload 0
new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
8: aload 3
invokestatic sun.font.StrikeCache.refStrike:(Lsun/font/FontStrike;)V
9: aload 3
areturn
10: StackMap locals: java.lang.ref.Reference
StackMap stack:
iload 2
ifeq 12
11: new sun.font.FontStrikeDesc
dup
aload 1
invokespecial sun.font.FontStrikeDesc.<init>:(Lsun/font/FontStrikeDesc;)V
astore 1
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.font.Font2D.createStrike:(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
astore 3
13: aload 1
getfield sun.font.FontStrikeDesc.glyphTx:Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 5
start local 5 14: iload 5
bipush 32
if_icmpeq 17
15: iload 5
bipush 16
iand
ifeq 19
16: aload 0
getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
bipush 10
if_icmple 19
17: StackMap locals: int
StackMap stack:
aload 3
iconst_1
invokestatic sun.font.StrikeCache.getStrikeRef:(Lsun/font/FontStrike;Z)Ljava/lang/ref/Reference;
astore 4
18: goto 20
19: StackMap locals:
StackMap stack:
aload 3
invokestatic sun.font.StrikeCache.getStrikeRef:(Lsun/font/FontStrike;)Ljava/lang/ref/Reference;
astore 4
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 4
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 0
new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield sun.font.Font2D.lastFontStrike:Ljava/lang/ref/Reference;
22: aload 3
invokestatic sun.font.StrikeCache.refStrike:(Lsun/font/FontStrike;)V
23: aload 3
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 24 0 this Lsun/font/Font2D;
0 24 1 desc Lsun/font/FontStrikeDesc;
0 24 2 copy Z
1 24 3 strike Lsun/font/FontStrike;
4 24 4 strikeRef Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;
14 24 5 txType I
MethodParameters:
Name Flags
desc
copy
void removeFromCache(sun.font.FontStrikeDesc);
descriptor: (Lsun/font/FontStrikeDesc;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 2
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: aload 0
getfield sun.font.Font2D.strikeCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 5: StackMap locals: java.lang.ref.Reference
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/Font2D;
0 6 1 desc Lsun/font/FontStrikeDesc;
1 6 2 ref Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;
3 5 3 o Ljava/lang/Object;
MethodParameters:
Name Flags
desc
public void getFontMetrics(java.awt.Font, java.awt.geom.AffineTransform, java.lang.Object, java.lang.Object, float[]);
descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;[F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
aload 0
aload 1
invokevirtual java.awt.Font.getSize:()I
invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Ljava/lang/Object;Lsun/font/Font2D;I)I
istore 6
start local 6 1: aload 4
invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
istore 7
start local 7 2: aload 0
aload 1
aload 2
iload 6
iload 7
invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
astore 8
start local 8 3: aload 8
invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
astore 9
start local 9 4: aload 5
iconst_0
aload 9
invokevirtual sun.font.StrikeMetrics.getAscent:()F
fastore
5: aload 5
iconst_1
aload 9
invokevirtual sun.font.StrikeMetrics.getDescent:()F
fastore
6: aload 5
iconst_2
aload 9
invokevirtual sun.font.StrikeMetrics.getLeading:()F
fastore
7: aload 5
iconst_3
aload 9
invokevirtual sun.font.StrikeMetrics.getMaxAdvance:()F
fastore
8: aload 0
aload 1
invokevirtual java.awt.Font.getSize2D:()F
aload 5
iconst_4
invokevirtual sun.font.Font2D.getStyleMetrics:(F[FI)V
9: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/Font2D;
0 10 1 font Ljava/awt/Font;
0 10 2 at Ljava/awt/geom/AffineTransform;
0 10 3 aaHint Ljava/lang/Object;
0 10 4 fmHint Ljava/lang/Object;
0 10 5 metrics [F
1 10 6 aa I
2 10 7 fm I
3 10 8 strike Lsun/font/FontStrike;
4 10 9 strikeMetrics Lsun/font/StrikeMetrics;
MethodParameters:
Name Flags
font
at
aaHint
fmHint
metrics
public void getStyleMetrics(float, float[], int);
descriptor: (F[FI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 3
aload 2
iconst_0
faload
fneg
ldc 2.5
fdiv
fastore
1: aload 2
iload 3
iconst_1
iadd
fload 1
ldc 12.0
fdiv
fastore
2: aload 2
iload 3
iconst_2
iadd
aload 2
iload 3
iconst_1
iadd
faload
ldc 1.5
fdiv
fastore
3: aload 2
iload 3
iconst_3
iadd
aload 2
iload 3
iconst_1
iadd
faload
fastore
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/Font2D;
0 5 1 pointSize F
0 5 2 metrics [F
0 5 3 offset I
MethodParameters:
Name Flags
pointSize
metrics
offset
public void getFontMetrics(java.awt.Font, java.awt.font.FontRenderContext, float[]);
descriptor: (Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontStrike;
invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
astore 4
start local 4 1: aload 3
iconst_0
aload 4
invokevirtual sun.font.StrikeMetrics.getAscent:()F
fastore
2: aload 3
iconst_1
aload 4
invokevirtual sun.font.StrikeMetrics.getDescent:()F
fastore
3: aload 3
iconst_2
aload 4
invokevirtual sun.font.StrikeMetrics.getLeading:()F
fastore
4: aload 3
iconst_3
aload 4
invokevirtual sun.font.StrikeMetrics.getMaxAdvance:()F
fastore
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/Font2D;
0 6 1 font Ljava/awt/Font;
0 6 2 frc Ljava/awt/font/FontRenderContext;
0 6 3 metrics [F
1 6 4 strikeMetrics Lsun/font/StrikeMetrics;
MethodParameters:
Name Flags
font
frc
metrics
protected byte[] getTableBytes(int);
descriptor: (I)[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 tag I
MethodParameters:
Name Flags
tag
protected long getLayoutTableCache();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
protected long getPlatformNativeFontPtr();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
protected long getUnitsPerEm();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 2048
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
boolean supportsEncoding(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 encoding Ljava/lang/String;
MethodParameters:
Name Flags
encoding
public boolean canDoStyle(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield sun.font.Font2D.style:I
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/Font2D;
0 2 1 style I
MethodParameters:
Name Flags
style
public boolean useAAForPtSize(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 ptsize I
MethodParameters:
Name Flags
ptsize
public boolean hasSupplementaryChars();
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 Lsun/font/Font2D;
public java.lang.String getPostscriptName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.Font2D.fullName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
public java.lang.String getFontName(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.Font2D.fullName:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 l Ljava/util/Locale;
MethodParameters:
Name Flags
l
public java.lang.String getFamilyName(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.Font2D.familyName:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 l Ljava/util/Locale;
MethodParameters:
Name Flags
l
public int getNumGlyphs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
public int charToGlyph(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
iload 1
invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 wchar I
MethodParameters:
Name Flags
wchar
public int getMissingGlyphCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getMissingGlyphCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
public boolean canDisplay(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
iload 1
invokevirtual sun.font.CharToGlyphMapper.canDisplay:(C)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 c C
MethodParameters:
Name Flags
c
public boolean canDisplay(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.Font2D.getMapper:()Lsun/font/CharToGlyphMapper;
iload 1
invokevirtual sun.font.CharToGlyphMapper.canDisplay:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 cp I
MethodParameters:
Name Flags
cp
public byte getBaselineFor(char);
descriptor: (C)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/Font2D;
0 1 1 c C
MethodParameters:
Name Flags
c
public float getItalicAngle(java.awt.Font, java.awt.geom.AffineTransform, java.lang.Object, java.lang.Object);
descriptor: (Ljava/awt/Font;Ljava/awt/geom/AffineTransform;Ljava/lang/Object;Ljava/lang/Object;)F
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 3
aload 0
bipush 12
invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Ljava/lang/Object;Lsun/font/Font2D;I)I
istore 5
start local 5 1: aload 4
invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
istore 6
start local 6 2: aload 0
aload 1
aload 2
iload 5
iload 6
invokevirtual sun.font.Font2D.getStrike:(Ljava/awt/Font;Ljava/awt/geom/AffineTransform;II)Lsun/font/FontStrike;
astore 7
start local 7 3: aload 7
invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
astore 8
start local 8 4: aload 8
getfield sun.font.StrikeMetrics.ascentY:F
fconst_0
fcmpl
ifeq 5
aload 8
getfield sun.font.StrikeMetrics.ascentX:F
fconst_0
fcmpl
ifne 6
5: StackMap locals: sun.font.Font2D java.awt.Font java.awt.geom.AffineTransform java.lang.Object java.lang.Object int int sun.font.FontStrike sun.font.StrikeMetrics
StackMap stack:
fconst_0
freturn
6: StackMap locals:
StackMap stack:
aload 8
getfield sun.font.StrikeMetrics.ascentX:F
aload 8
getfield sun.font.StrikeMetrics.ascentY:F
fneg
fdiv
freturn
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 7 0 this Lsun/font/Font2D;
0 7 1 font Ljava/awt/Font;
0 7 2 at Ljava/awt/geom/AffineTransform;
0 7 3 aaHint Ljava/lang/Object;
0 7 4 fmHint Ljava/lang/Object;
1 7 5 aa I
2 7 6 fm I
3 7 7 strike Lsun/font/FontStrike;
4 7 8 metrics Lsun/font/StrikeMetrics;
MethodParameters:
Name Flags
font
at
aaHint
fmHint
}
SourceFile: "Font2D.java"