public final class sun.font.StandardGlyphVector$GlyphStrike
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.font.StandardGlyphVector$GlyphStrike
super_class: java.lang.Object
{
sun.font.StandardGlyphVector sgv;
descriptor: Lsun/font/StandardGlyphVector;
flags: (0x0000)
sun.font.FontStrike strike;
descriptor: Lsun/font/FontStrike;
flags: (0x0000)
float dx;
descriptor: F
flags: (0x0000)
float dy;
descriptor: F
flags: (0x0000)
static sun.font.StandardGlyphVector$GlyphStrike create(sun.font.StandardGlyphVector, java.awt.geom.AffineTransform, java.awt.geom.AffineTransform);
descriptor: (Lsun/font/StandardGlyphVector;Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;)Lsun/font/StandardGlyphVector$GlyphStrike;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: fconst_0
fstore 3
start local 3 1: fconst_0
fstore 4
start local 4 2: aload 0
getfield sun.font.StandardGlyphVector.ftx:Ljava/awt/geom/AffineTransform;
astore 5
start local 5 3: aload 1
invokevirtual java.awt.geom.AffineTransform.isIdentity:()Z
ifeq 4
aload 2
ifnull 11
4: StackMap locals: float float java.awt.geom.AffineTransform
StackMap stack:
new java.awt.geom.AffineTransform
dup
aload 0
getfield sun.font.StandardGlyphVector.ftx:Ljava/awt/geom/AffineTransform;
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 5
5: aload 2
ifnull 9
6: aload 5
aload 2
invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
7: aload 5
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 3
8: aload 5
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 4
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.awt.geom.AffineTransform.isIdentity:()Z
ifne 11
10: aload 5
aload 1
invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
11: StackMap locals:
StackMap stack:
iconst_1
istore 6
start local 6 12: aload 0
getfield sun.font.StandardGlyphVector.frc:Ljava/awt/font/FontRenderContext;
invokevirtual java.awt.font.FontRenderContext.getAntiAliasingHint:()Ljava/lang/Object;
astore 7
start local 7 13: aload 7
getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_GASP:Ljava/lang/Object;
if_acmpne 23
14: aload 5
invokevirtual java.awt.geom.AffineTransform.isIdentity:()Z
ifne 23
15: aload 5
invokevirtual java.awt.geom.AffineTransform.getType:()I
bipush -2
iand
ifeq 23
16: aload 5
invokevirtual java.awt.geom.AffineTransform.getShearX:()D
dstore 8
start local 8 17: dload 8
dconst_0
dcmpl
ifeq 22
18: aload 5
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
dstore 10
start local 10 19: dload 8
dload 8
dmul
dload 10
dload 10
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
d2i
20: istore 6
end local 10 21: goto 23
22: StackMap locals: int java.lang.Object double
StackMap stack:
aload 5
invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
invokestatic java.lang.Math.abs:(D)D
d2i
istore 6
end local 8 23: StackMap locals:
StackMap stack:
aload 7
aload 0
getfield sun.font.StandardGlyphVector.font2D:Lsun/font/Font2D;
iload 6
invokestatic sun.font.FontStrikeDesc.getAAHintIntVal:(Ljava/lang/Object;Lsun/font/Font2D;I)I
istore 8
start local 8 24: aload 0
getfield sun.font.StandardGlyphVector.frc:Ljava/awt/font/FontRenderContext;
invokevirtual java.awt.font.FontRenderContext.getFractionalMetricsHint:()Ljava/lang/Object;
25: invokestatic sun.font.FontStrikeDesc.getFMHintIntVal:(Ljava/lang/Object;)I
istore 9
start local 9 26: new sun.font.FontStrikeDesc
dup
aload 1
27: aload 5
28: aload 0
getfield sun.font.StandardGlyphVector.font:Ljava/awt/Font;
invokevirtual java.awt.Font.getStyle:()I
29: iload 8
iload 9
30: invokespecial sun.font.FontStrikeDesc.<init>:(Ljava/awt/geom/AffineTransform;Ljava/awt/geom/AffineTransform;III)V
astore 10
start local 10 31: aload 0
getfield sun.font.StandardGlyphVector.font2D:Lsun/font/Font2D;
astore 11
start local 11 32: aload 11
instanceof sun.font.FontSubstitution
ifeq 34
33: aload 11
checkcast sun.font.FontSubstitution
invokeinterface sun.font.FontSubstitution.getCompositeFont2D:()Lsun/font/CompositeFont;
astore 11
34: StackMap locals: sun.font.StandardGlyphVector java.awt.geom.AffineTransform java.awt.geom.AffineTransform float float java.awt.geom.AffineTransform int java.lang.Object int int sun.font.FontStrikeDesc sun.font.Font2D
StackMap stack:
aload 11
getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
aload 10
invokevirtual sun.font.Font2D.getStrike:(Lsun/font/FontStrikeDesc;)Lsun/font/FontStrike;
astore 12
start local 12 35: new sun.font.StandardGlyphVector$GlyphStrike
dup
aload 0
aload 12
fload 3
fload 4
invokespecial sun.font.StandardGlyphVector$GlyphStrike.<init>:(Lsun/font/StandardGlyphVector;Lsun/font/FontStrike;FF)V
areturn
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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 sgv Lsun/font/StandardGlyphVector;
0 36 1 dtx Ljava/awt/geom/AffineTransform;
0 36 2 gtx Ljava/awt/geom/AffineTransform;
1 36 3 dx F
2 36 4 dy F
3 36 5 tx Ljava/awt/geom/AffineTransform;
12 36 6 ptSize I
13 36 7 aaHint Ljava/lang/Object;
17 23 8 shearx D
19 21 10 scaley D
24 36 8 aa I
26 36 9 fm I
31 36 10 desc Lsun/font/FontStrikeDesc;
32 36 11 f2d Lsun/font/Font2D;
35 36 12 strike Lsun/font/FontStrike;
MethodParameters:
Name Flags
sgv
dtx
gtx
private void <init>(sun.font.StandardGlyphVector, sun.font.FontStrike, float, float);
descriptor: (Lsun/font/StandardGlyphVector;Lsun/font/FontStrike;FF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, 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
aload 1
putfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
2: aload 0
aload 2
putfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
3: aload 0
fload 3
putfield sun.font.StandardGlyphVector$GlyphStrike.dx:F
4: aload 0
fload 4
putfield sun.font.StandardGlyphVector$GlyphStrike.dy:F
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/StandardGlyphVector$GlyphStrike;
0 6 1 sgv Lsun/font/StandardGlyphVector;
0 6 2 strike Lsun/font/FontStrike;
0 6 3 dx F
0 6 4 dy F
MethodParameters:
Name Flags
sgv
strike
dx
dy
void getADL(sun.font.StandardGlyphVector$ADL);
descriptor: (Lsun/font/StandardGlyphVector$ADL;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
invokevirtual sun.font.FontStrike.getFontMetrics:()Lsun/font/StrikeMetrics;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.font:Ljava/awt/Font;
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 6
3: new java.awt.geom.Point2D$Float
dup
invokespecial java.awt.geom.Point2D$Float.<init>:()V
astore 3
4: aload 3
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.font:Ljava/awt/Font;
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
putfield java.awt.geom.Point2D$Float.x:F
5: aload 3
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.font:Ljava/awt/Font;
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
putfield java.awt.geom.Point2D$Float.y:F
6: StackMap locals: sun.font.StrikeMetrics java.awt.geom.Point2D$Float
StackMap stack:
aload 1
aload 2
getfield sun.font.StrikeMetrics.ascentX:F
fneg
putfield sun.font.StandardGlyphVector$ADL.ascentX:F
7: aload 1
aload 2
getfield sun.font.StrikeMetrics.ascentY:F
fneg
putfield sun.font.StandardGlyphVector$ADL.ascentY:F
8: aload 1
aload 2
getfield sun.font.StrikeMetrics.descentX:F
putfield sun.font.StandardGlyphVector$ADL.descentX:F
9: aload 1
aload 2
getfield sun.font.StrikeMetrics.descentY:F
putfield sun.font.StandardGlyphVector$ADL.descentY:F
10: aload 1
aload 2
getfield sun.font.StrikeMetrics.leadingX:F
putfield sun.font.StandardGlyphVector$ADL.leadingX:F
11: aload 1
aload 2
getfield sun.font.StrikeMetrics.leadingY:F
putfield sun.font.StandardGlyphVector$ADL.leadingY:F
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/font/StandardGlyphVector$GlyphStrike;
0 13 1 result Lsun/font/StandardGlyphVector$ADL;
1 13 2 sm Lsun/font/StrikeMetrics;
2 13 3 delta Ljava/awt/geom/Point2D$Float;
MethodParameters:
Name Flags
result
void getGlyphPosition(int, int, float[], float[]);
descriptor: (II[F[F)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
iload 2
aload 3
iload 2
faload
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dx:F
fadd
fastore
1: iinc 2 1
2: aload 4
iload 2
aload 3
iload 2
faload
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dy:F
fadd
fastore
3: return
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/StandardGlyphVector$GlyphStrike;
0 4 1 glyphID I
0 4 2 ix I
0 4 3 positions [F
0 4 4 result [F
MethodParameters:
Name Flags
glyphID
ix
positions
result
void addDefaultGlyphAdvance(int, java.awt.geom.Point2D$Float);
descriptor: (ILjava/awt/geom/Point2D$Float;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
iload 1
invokevirtual sun.font.FontStrike.getGlyphMetrics:(I)Ljava/awt/geom/Point2D$Float;
astore 3
start local 3 1: aload 2
dup
getfield java.awt.geom.Point2D$Float.x:F
aload 3
getfield java.awt.geom.Point2D$Float.x:F
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dx:F
fadd
fadd
putfield java.awt.geom.Point2D$Float.x:F
2: aload 2
dup
getfield java.awt.geom.Point2D$Float.y:F
aload 3
getfield java.awt.geom.Point2D$Float.y:F
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dy:F
fadd
fadd
putfield java.awt.geom.Point2D$Float.y:F
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/StandardGlyphVector$GlyphStrike;
0 4 1 glyphID I
0 4 2 result Ljava/awt/geom/Point2D$Float;
1 4 3 adv Ljava/awt/geom/Point2D$Float;
MethodParameters:
Name Flags
glyphID
result
java.awt.geom.Rectangle2D getGlyphOutlineBounds(int, float, float);
descriptor: (IFF)Ljava/awt/geom/Rectangle2D;
flags: (0x0000)
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.invdtx:Ljava/awt/geom/AffineTransform;
ifnonnull 5
2: new java.awt.geom.Rectangle2D$Float
dup
invokespecial java.awt.geom.Rectangle2D$Float.<init>:()V
astore 4
3: aload 4
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
iload 1
invokevirtual sun.font.FontStrike.getGlyphOutlineBounds:(I)Ljava/awt/geom/Rectangle2D$Float;
invokevirtual java.awt.geom.Rectangle2D.setRect:(Ljava/awt/geom/Rectangle2D;)V
4: goto 8
5: StackMap locals: java.awt.geom.Rectangle2D
StackMap stack:
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
iload 1
fconst_0
fconst_0
invokevirtual sun.font.FontStrike.getGlyphOutline:(IFF)Ljava/awt/geom/GeneralPath;
astore 5
start local 5 6: aload 5
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.invdtx:Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.GeneralPath.transform:(Ljava/awt/geom/AffineTransform;)V
7: aload 5
invokevirtual java.awt.geom.GeneralPath.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 4
end local 5 8: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.awt.geom.Rectangle2D.isEmpty:()Z
ifne 13
9: aload 4
aload 4
invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
fload 2
f2d
dadd
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dx:F
f2d
dadd
10: aload 4
invokevirtual java.awt.geom.Rectangle2D.getMinY:()D
fload 3
f2d
dadd
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dy:F
f2d
dadd
11: aload 4
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
aload 4
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
12: invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
13: StackMap locals:
StackMap stack:
aload 4
areturn
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 Lsun/font/StandardGlyphVector$GlyphStrike;
0 14 1 glyphID I
0 14 2 x F
0 14 3 y F
1 14 4 result Ljava/awt/geom/Rectangle2D;
6 8 5 gp Ljava/awt/geom/GeneralPath;
MethodParameters:
Name Flags
glyphID
x
y
void appendGlyphOutline(int, java.awt.geom.GeneralPath, float, float);
descriptor: (ILjava/awt/geom/GeneralPath;FF)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.invdtx:Ljava/awt/geom/AffineTransform;
ifnonnull 4
2: aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
iload 1
fload 3
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dx:F
fadd
fload 4
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dy:F
fadd
invokevirtual sun.font.FontStrike.getGlyphOutline:(IFF)Ljava/awt/geom/GeneralPath;
astore 5
3: goto 7
4: StackMap locals: java.awt.geom.GeneralPath
StackMap stack:
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.strike:Lsun/font/FontStrike;
iload 1
fconst_0
fconst_0
invokevirtual sun.font.FontStrike.getGlyphOutline:(IFF)Ljava/awt/geom/GeneralPath;
astore 5
5: aload 5
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.sgv:Lsun/font/StandardGlyphVector;
getfield sun.font.StandardGlyphVector.invdtx:Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.GeneralPath.transform:(Ljava/awt/geom/AffineTransform;)V
6: aload 5
fload 3
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dx:F
fadd
f2d
fload 4
aload 0
getfield sun.font.StandardGlyphVector$GlyphStrike.dy:F
fadd
f2d
invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.GeneralPath.transform:(Ljava/awt/geom/AffineTransform;)V
7: StackMap locals:
StackMap stack:
aload 5
aconst_null
invokevirtual java.awt.geom.GeneralPath.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
astore 6
start local 6 8: aload 2
aload 6
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/geom/PathIterator;Z)V
9: 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 10 0 this Lsun/font/StandardGlyphVector$GlyphStrike;
0 10 1 glyphID I
0 10 2 result Ljava/awt/geom/GeneralPath;
0 10 3 x F
0 10 4 y F
1 10 5 gp Ljava/awt/geom/GeneralPath;
8 10 6 iterator Ljava/awt/geom/PathIterator;
MethodParameters:
Name Flags
glyphID
result
x
y
}
SourceFile: "StandardGlyphVector.java"
NestHost: sun.font.StandardGlyphVector
InnerClasses:
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D
ADL = sun.font.StandardGlyphVector$ADL of sun.font.StandardGlyphVector
public final GlyphStrike = sun.font.StandardGlyphVector$GlyphStrike of sun.font.StandardGlyphVector