public class sun.font.FontFamily
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.font.FontFamily
super_class: java.lang.Object
{
private static java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.FontFamily> familyNameMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/FontFamily;>;
private static java.util.HashMap<java.lang.String, sun.font.FontFamily> allLocaleNames;
descriptor: Ljava/util/HashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/font/FontFamily;>;
protected java.lang.String familyName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected sun.font.Font2D plain;
descriptor: Lsun/font/Font2D;
flags: (0x0004) ACC_PROTECTED
protected sun.font.Font2D bold;
descriptor: Lsun/font/Font2D;
flags: (0x0004) ACC_PROTECTED
protected sun.font.Font2D italic;
descriptor: Lsun/font/Font2D;
flags: (0x0004) ACC_PROTECTED
protected sun.font.Font2D bolditalic;
descriptor: Lsun/font/Font2D;
flags: (0x0004) ACC_PROTECTED
protected boolean logicalFont;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected int familyRank;
descriptor: I
flags: (0x0004) ACC_PROTECTED
private int familyWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic sun.font.FontFamily.familyNameMap:Ljava/util/concurrent/ConcurrentHashMap;
1: return
LocalVariableTable:
Start End Slot Name Signature
public static sun.font.FontFamily getFamily(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/font/FontFamily;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic sun.font.FontFamily.familyNameMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.FontFamily
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static java.lang.String[] getAllFamilyNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
static void remove(sun.font.Font2D);
descriptor: (Lsun/font/Font2D;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: return
4: StackMap locals: java.lang.String sun.font.FontFamily
StackMap stack:
aload 2
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
aload 0
if_acmpne 6
5: aload 2
aconst_null
putfield sun.font.FontFamily.plain:Lsun/font/Font2D;
6: StackMap locals:
StackMap stack:
aload 2
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
aload 0
if_acmpne 8
7: aload 2
aconst_null
putfield sun.font.FontFamily.bold:Lsun/font/Font2D;
8: StackMap locals:
StackMap stack:
aload 2
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
aload 0
if_acmpne 10
9: aload 2
aconst_null
putfield sun.font.FontFamily.italic:Lsun/font/Font2D;
10: StackMap locals:
StackMap stack:
aload 2
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
aload 0
if_acmpne 12
11: aload 2
aconst_null
putfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
12: StackMap locals:
StackMap stack:
aload 2
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
ifnonnull 15
aload 2
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
ifnonnull 15
13: aload 2
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
ifnonnull 15
aload 2
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
ifnonnull 15
14: getstatic sun.font.FontFamily.familyNameMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 font2D Lsun/font/Font2D;
1 16 1 name Ljava/lang/String;
2 16 2 family Lsun/font/FontFamily;
MethodParameters:
Name Flags
font2D
public void <init>(java.lang.String, boolean, int);
descriptor: (Ljava/lang/String;ZI)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 sun.font.FontFamily.logicalFont:Z
2: aload 0
iconst_0
putfield sun.font.FontFamily.familyWidth:I
3: aload 0
iload 2
putfield sun.font.FontFamily.logicalFont:Z
4: aload 0
aload 1
putfield sun.font.FontFamily.familyName:Ljava/lang/String;
5: aload 0
iload 3
putfield sun.font.FontFamily.familyRank:I
6: getstatic sun.font.FontFamily.familyNameMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 0
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/font/FontFamily;
0 8 1 name Ljava/lang/String;
0 8 2 isLogFont Z
0 8 3 rank I
MethodParameters:
Name Flags
name
isLogFont
rank
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
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 sun.font.FontFamily.logicalFont:Z
2: aload 0
iconst_0
putfield sun.font.FontFamily.familyWidth:I
3: aload 0
iconst_0
putfield sun.font.FontFamily.logicalFont:Z
4: aload 0
aload 1
putfield sun.font.FontFamily.familyName:Ljava/lang/String;
5: aload 0
iconst_4
putfield sun.font.FontFamily.familyRank:I
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/FontFamily;
0 7 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.String getFamilyName();
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.FontFamily.familyName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/FontFamily;
public int getRank();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.FontFamily.familyRank:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/FontFamily;
private boolean isFromSameSource(sun.font.Font2D);
descriptor: (Lsun/font/Font2D;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
instanceof sun.font.FileFont
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
instanceof sun.font.FileFont
ifeq 6
4: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
checkcast sun.font.FileFont
astore 2
5: goto 14
StackMap locals: sun.font.FileFont
StackMap stack:
6: aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
instanceof sun.font.FileFont
ifeq 9
7: aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
checkcast sun.font.FileFont
astore 2
8: goto 14
StackMap locals:
StackMap stack:
9: aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
instanceof sun.font.FileFont
ifeq 12
10: aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
checkcast sun.font.FileFont
astore 2
11: goto 14
StackMap locals:
StackMap stack:
12: aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
instanceof sun.font.FileFont
ifeq 14
13: aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
checkcast sun.font.FileFont
astore 2
14: StackMap locals:
StackMap stack:
aload 2
ifnonnull 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 2
getfield sun.font.FileFont.platName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 3
start local 3 17: aload 1
checkcast sun.font.FileFont
astore 4
start local 4 18: new java.io.File
dup
aload 4
getfield sun.font.FileFont.platName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 5
start local 5 19: aload 3
ifnull 23
20: aload 3
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 3
21: goto 23
StackMap locals: sun.font.FontFamily sun.font.Font2D sun.font.FileFont java.io.File sun.font.FileFont java.io.File
StackMap stack: java.io.IOException
22: pop
23: StackMap locals:
StackMap stack:
aload 5
ifnull 27
24: aload 5
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 5
25: goto 27
StackMap locals:
StackMap stack: java.io.IOException
26: pop
27: StackMap locals:
StackMap stack:
aload 5
aload 3
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
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 28 0 this Lsun/font/FontFamily;
0 28 1 font Lsun/font/Font2D;
3 28 2 existingFont Lsun/font/FileFont;
17 28 3 existDir Ljava/io/File;
18 28 4 newFont Lsun/font/FileFont;
19 28 5 newDir Ljava/io/File;
Exception table:
from to target type
20 21 22 Class java.io.IOException
24 25 26 Class java.io.IOException
MethodParameters:
Name Flags
font
private boolean preferredWidth(sun.font.Font2D);
descriptor: (Lsun/font/Font2D;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.font.Font2D.getWidth:()I
istore 2
start local 2 1: aload 0
getfield sun.font.FontFamily.familyWidth:I
ifne 4
2: aload 0
iload 2
putfield sun.font.FontFamily.familyWidth:I
3: iconst_1
ireturn
4: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield sun.font.FontFamily.familyWidth:I
if_icmpne 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iconst_5
iload 2
isub
invokestatic java.lang.Math.abs:(I)I
7: iconst_5
aload 0
getfield sun.font.FontFamily.familyWidth:I
isub
invokestatic java.lang.Math.abs:(I)I
if_icmpge 19
8: invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 16
9: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
10: new java.lang.StringBuilder
dup
ldc "Found more preferred width. New width = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
11: ldc " Old width = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.familyWidth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in font "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
12: ldc " nulling out fonts plain: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " bold: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: ldc " italic: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " bolditalic: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield sun.font.FontFamily.familyWidth:I
17: aload 0
aload 0
aload 0
aload 0
aconst_null
dup_x1
putfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
dup_x1
putfield sun.font.FontFamily.italic:Lsun/font/Font2D;
dup_x1
putfield sun.font.FontFamily.bold:Lsun/font/Font2D;
putfield sun.font.FontFamily.plain:Lsun/font/Font2D;
18: iconst_1
ireturn
19: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 25
20: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
21: new java.lang.StringBuilder
dup
ldc "Family rejecting font "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22: ldc " of less preferred width "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/font/FontFamily;
0 26 1 font Lsun/font/Font2D;
1 26 2 newWidth I
MethodParameters:
Name Flags
font
private boolean closerWeight(sun.font.Font2D, sun.font.Font2D, int);
descriptor: (Lsun/font/Font2D;Lsun/font/Font2D;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.font.FontFamily.familyWidth:I
aload 2
invokevirtual sun.font.Font2D.getWidth:()I
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 11
5: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
6: new java.lang.StringBuilder
dup
ldc "New weight for style "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". Curr.font="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7: ldc " New font="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " Curr.weight="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual sun.font.Font2D.getWeight:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " New weight="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual sun.font.Font2D.getWeight:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.font.Font2D.getWeight:()I
istore 4
start local 4 12: iload 3
tableswitch { // 0 - 3
0: 13
1: 17
2: 13
3: 17
default: 21
}
13: StackMap locals: int
StackMap stack:
iload 4
sipush 400
if_icmpgt 16
14: iload 4
aload 1
invokevirtual sun.font.Font2D.getWeight:()I
15: if_icmple 16
iconst_1
ireturn
StackMap locals:
StackMap stack:
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
iload 4
sipush 700
isub
invokestatic java.lang.Math.abs:(I)I
18: aload 1
invokevirtual sun.font.Font2D.getWeight:()I
sipush 700
isub
invokestatic java.lang.Math.abs:(I)I
19: if_icmpge 20
iconst_1
ireturn
StackMap locals:
StackMap stack:
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/font/FontFamily;
0 22 1 currFont Lsun/font/Font2D;
0 22 2 font Lsun/font/Font2D;
0 22 3 style I
12 22 4 newWeight I
MethodParameters:
Name Flags
currFont
font
style
public void setFont(sun.font.Font2D, int);
descriptor: (Lsun/font/Font2D;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 10
1: aload 1
instanceof sun.font.CompositeFont
ifeq 6
2: new java.lang.StringBuilder
dup
ldc "Request to add "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
aconst_null
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " with style "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to family "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.familyName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 5: goto 9
end local 3 6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Request to add "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7: ldc " with style "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to family "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 9: StackMap locals: java.lang.String
StackMap stack:
invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
aload 3
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 3 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.font.Font2D.getRank:()I
aload 0
getfield sun.font.FontFamily.familyRank:I
if_icmple 19
aload 0
aload 1
invokevirtual sun.font.FontFamily.isFromSameSource:(Lsun/font/Font2D;)Z
ifne 19
11: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 18
12: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
13: new java.lang.StringBuilder
dup
ldc "Rejecting adding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14: ldc " of lower rank "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual sun.font.Font2D.getRank:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
15: ldc " to family "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: ldc " of rank "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.familyRank:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
return
19: StackMap locals:
StackMap stack:
iload 2
tableswitch { // 0 - 3
0: 20
1: 23
2: 26
3: 29
default: 32
}
20: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.font.FontFamily.preferredWidth:(Lsun/font/Font2D;)Z
ifeq 32
aload 0
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
aload 1
iload 2
invokevirtual sun.font.FontFamily.closerWeight:(Lsun/font/Font2D;Lsun/font/Font2D;I)Z
ifeq 32
21: aload 0
aload 1
putfield sun.font.FontFamily.plain:Lsun/font/Font2D;
22: goto 32
23: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.font.FontFamily.preferredWidth:(Lsun/font/Font2D;)Z
ifeq 32
aload 0
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
aload 1
iload 2
invokevirtual sun.font.FontFamily.closerWeight:(Lsun/font/Font2D;Lsun/font/Font2D;I)Z
ifeq 32
24: aload 0
aload 1
putfield sun.font.FontFamily.bold:Lsun/font/Font2D;
25: goto 32
26: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.font.FontFamily.preferredWidth:(Lsun/font/Font2D;)Z
ifeq 32
aload 0
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
aload 1
iload 2
invokevirtual sun.font.FontFamily.closerWeight:(Lsun/font/Font2D;Lsun/font/Font2D;I)Z
ifeq 32
27: aload 0
aload 1
putfield sun.font.FontFamily.italic:Lsun/font/Font2D;
28: goto 32
29: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.font.FontFamily.preferredWidth:(Lsun/font/Font2D;)Z
ifeq 32
aload 0
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
aload 1
iload 2
invokevirtual sun.font.FontFamily.closerWeight:(Lsun/font/Font2D;Lsun/font/Font2D;I)Z
ifeq 32
30: aload 0
aload 1
putfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
31: goto 32
32: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/font/FontFamily;
0 33 1 font Lsun/font/Font2D;
0 33 2 style I
5 6 3 msg Ljava/lang/String;
9 10 3 msg Ljava/lang/String;
MethodParameters:
Name Flags
font
style
public sun.font.Font2D getFontWithExactStyleMatch(int);
descriptor: (I)Lsun/font/Font2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 3
0: 1
1: 2
2: 3
3: 4
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/FontFamily;
0 6 1 style I
MethodParameters:
Name Flags
style
public sun.font.Font2D getFont(int);
descriptor: (I)Lsun/font/Font2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 3
0: 1
1: 2
2: 7
3: 12
default: 21
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
ifnull 4
3: aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
ifnull 6
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifeq 6
5: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
ifnull 9
8: aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
ifnull 11
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifeq 11
10: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
11: StackMap locals:
StackMap stack:
aconst_null
areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
ifnull 14
13: aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
areturn
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
ifnull 16
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifeq 16
15: aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
areturn
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
ifnull 18
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifeq 18
17: aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
areturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
ifnull 20
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
iload 1
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifeq 20
19: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
20: StackMap locals:
StackMap stack:
aconst_null
areturn
21: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/font/FontFamily;
0 22 1 style I
MethodParameters:
Name Flags
style
sun.font.Font2D getClosestStyle(int);
descriptor: (I)Lsun/font/Font2D;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 3
0: 1
1: 6
2: 11
3: 16
default: 21
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
ifnull 3
2: aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
ifnull 5
4: aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
ifnull 8
7: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
ifnull 10
9: aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
ifnull 13
12: aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
ifnull 15
14: aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
areturn
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
ifnull 18
17: aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
areturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
ifnull 20
19: aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
areturn
21: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/font/FontFamily;
0 22 1 style I
MethodParameters:
Name Flags
style
static synchronized void addLocaleNames(sun.font.FontFamily, java.lang.String[]);
descriptor: (Lsun/font/FontFamily;[Ljava/lang/String;)V
flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.font.FontFamily.allLocaleNames:Ljava/util/HashMap;
ifnonnull 2
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.font.FontFamily.allLocaleNames:Ljava/util/HashMap;
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int
StackMap stack:
getstatic sun.font.FontFamily.allLocaleNames:Ljava/util/HashMap;
aload 1
iload 2
aaload
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 0
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 1
arraylength
if_icmplt 4
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 family Lsun/font/FontFamily;
0 8 1 names [Ljava/lang/String;
3 7 2 i I
MethodParameters:
Name Flags
family
names
public static synchronized sun.font.FontFamily getLocaleFamily(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/font/FontFamily;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.font.FontFamily.allLocaleNames:Ljava/util/HashMap;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.font.FontFamily.allLocaleNames:Ljava/util/HashMap;
aload 0
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.FontFamily
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static sun.font.FontFamily[] getAllFontFamilies();
descriptor: ()[Lsun/font/FontFamily;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic sun.font.FontFamily.familyNameMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
astore 0
start local 0 1: aload 0
iconst_0
anewarray sun.font.FontFamily
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.font.FontFamily[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 families Ljava/util/Collection<Lsun/font/FontFamily;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Font family: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.FontFamily.familyName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc " plain="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.plain:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc " bold="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.bold:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc " italic="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.italic:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc " bolditalic="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.FontFamily.bolditalic:Lsun/font/Font2D;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/FontFamily;
}
SourceFile: "FontFamily.java"