public abstract class sun.font.FontScaler implements sun.java2d.DisposerRecord
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.font.FontScaler
super_class: java.lang.Object
{
private static sun.font.FontScaler nullScaler;
descriptor: Lsun/font/FontScaler;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
protected java.lang.ref.WeakReference<sun.font.Font2D> font;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/lang/ref/WeakReference<Lsun/font/Font2D;>;
protected long nativeScaler;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected boolean disposed;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic sun.font.FontScaler.nullScaler:Lsun/font/FontScaler;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.font.FontScaler.font:Ljava/lang/ref/WeakReference;
2: aload 0
lconst_0
putfield sun.font.FontScaler.nativeScaler:J
3: aload 0
iconst_0
putfield sun.font.FontScaler.disposed:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/FontScaler;
public static sun.font.FontScaler getScaler(sun.font.Font2D, int, boolean, int);
descriptor: (Lsun/font/Font2D;IZI)Lsun/font/FontScaler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, 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: new sun.font.FreetypeFontScaler
dup
aload 0
iload 1
2: iload 2
iload 3
3: invokespecial sun.font.FreetypeFontScaler.<init>:(Lsun/font/Font2D;IZI)V
astore 4
4: aload 0
aload 4
invokestatic sun.java2d.Disposer.addObjectRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
5: goto 10
StackMap locals: sun.font.Font2D int int int sun.font.FontScaler
StackMap stack: java.lang.Throwable
6: pop
7: invokestatic sun.font.FontScaler.getNullScaler:()Lsun/font/FontScaler;
astore 4
8: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 5
start local 5 9: aload 5
aload 0
invokeinterface sun.font.FontManager.deRegisterBadFont:(Lsun/font/Font2D;)V
end local 5 10: 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 11 0 font Lsun/font/Font2D;
0 11 1 indexInCollection I
0 11 2 supportsCJK Z
0 11 3 filesize I
1 11 4 scaler Lsun/font/FontScaler;
9 10 5 fm Lsun/font/FontManager;
Exception table:
from to target type
1 5 6 Class java.lang.Throwable
MethodParameters:
Name Flags
font
indexInCollection
supportsCJK
filesize
public static synchronized sun.font.FontScaler getNullScaler();
descriptor: ()Lsun/font/FontScaler;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.font.FontScaler.nullScaler:Lsun/font/FontScaler;
ifnonnull 2
1: new sun.font.NullFontScaler
dup
invokespecial sun.font.NullFontScaler.<init>:()V
putstatic sun.font.FontScaler.nullScaler:Lsun/font/FontScaler;
2: StackMap locals:
StackMap stack:
getstatic sun.font.FontScaler.nullScaler:Lsun/font/FontScaler;
areturn
LocalVariableTable:
Start End Slot Name Signature
abstract sun.font.StrikeMetrics getFontMetrics(long);
descriptor: (J)Lsun/font/StrikeMetrics;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
abstract float getGlyphAdvance(long, int);
descriptor: (JI)F
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphCode
abstract void getGlyphMetrics(long, int, java.awt.geom.Point2D$Float);
descriptor: (JILjava/awt/geom/Point2D$Float;)V
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphCode
metrics
abstract long getGlyphImage(long, int);
descriptor: (JI)J
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphCode
abstract java.awt.geom.Rectangle2D$Float getGlyphOutlineBounds(long, int);
descriptor: (JI)Ljava/awt/geom/Rectangle2D$Float;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pContext
glyphCode
abstract java.awt.geom.GeneralPath getGlyphOutline(long, int, float, float);
descriptor: (JIFF)Ljava/awt/geom/GeneralPath;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphCode
x
y
abstract java.awt.geom.GeneralPath getGlyphVectorOutline(long, int[], int, float, float);
descriptor: (J[IIFF)Ljava/awt/geom/GeneralPath;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphs
numGlyphs
x
y
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/FontScaler;
public void disposeScaler();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/FontScaler;
abstract int getNumGlyphs();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
abstract int getMissingGlyphCode();
descriptor: ()I
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
abstract int getGlyphCode(char);
descriptor: (C)I
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
charCode
abstract java.awt.geom.Point2D$Float getGlyphPoint(long, int, int);
descriptor: (JII)Ljava/awt/geom/Point2D$Float;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphCode
ptNumber
abstract long getUnitsPerEm();
descriptor: ()J
flags: (0x0400) ACC_ABSTRACT
abstract long createScalerContext(double[], int, int, float, float);
descriptor: ([DIIFF)J
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
matrix
aa
fm
boldness
italic
abstract void invalidateScalerContext(long);
descriptor: (J)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
ppScalerContext
}
SourceFile: "FontScaler.java"
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