public abstract class sun.font.SunFontManager implements sun.java2d.FontSupport, sun.font.FontManagerForSGE
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.font.SunFontManager
super_class: java.lang.Object
{
private static sun.font.Font2DHandle FONT_HANDLE_NULL;
descriptor: Lsun/font/Font2DHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int FONTFORMAT_NONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int FONTFORMAT_TRUETYPE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int FONTFORMAT_TYPE1;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int FONTFORMAT_TTC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int FONTFORMAT_COMPOSITE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int FONTFORMAT_NATIVE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
protected static final int CHANNELPOOLSIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 20
protected sun.font.FileFont[] fontFileCache;
descriptor: [Lsun/font/FileFont;
flags: (0x0004) ACC_PROTECTED
private int lastPoolIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int maxCompFont;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private sun.font.CompositeFont[] compFonts;
descriptor: [Lsun/font/CompositeFont;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.CompositeFont> compositeFonts;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/CompositeFont;>;
private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.PhysicalFont> physicalFonts;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/PhysicalFont;>;
private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.PhysicalFont> registeredFonts;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/PhysicalFont;>;
protected java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D> fullNameToFont;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
private java.util.HashMap<java.lang.String, sun.font.TrueTypeFont> localeFullNamesToFont;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/font/TrueTypeFont;>;
private sun.font.PhysicalFont defaultPhysicalFont;
descriptor: Lsun/font/PhysicalFont;
flags: (0x0002) ACC_PRIVATE
static boolean longAddresses;
descriptor: Z
flags: (0x0008) ACC_STATIC
private boolean loaded1dot0Fonts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
boolean loadedAllFonts;
descriptor: Z
flags: (0x0000)
boolean loadedAllFontFiles;
descriptor: Z
flags: (0x0000)
java.lang.String[] jreOtherFontFiles;
descriptor: [Ljava/lang/String;
flags: (0x0000)
boolean noOtherJREFontFiles;
descriptor: Z
flags: (0x0000)
public static java.lang.String jreLibDirName;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static java.lang.String jreFontDirName;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static java.util.HashSet<java.lang.String> missingFontFiles;
descriptor: Ljava/util/HashSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashSet<Ljava/lang/String;>;
private java.lang.String defaultFontName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String defaultFontFileName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
protected java.util.HashSet<java.lang.String> registeredFontFiles;
descriptor: Ljava/util/HashSet;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/HashSet<Ljava/lang/String;>;
private java.util.ArrayList<java.lang.String> badFonts;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljava/lang/String;>;
protected java.lang.String fontPath;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
private sun.awt.FontConfiguration fontConfig;
descriptor: Lsun/awt/FontConfiguration;
flags: (0x0002) ACC_PRIVATE
private boolean discoveredAllFonts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final java.io.FilenameFilter ttFilter;
descriptor: Ljava/io/FilenameFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.io.FilenameFilter t1Filter;
descriptor: Ljava/io/FilenameFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.awt.Font[] allFonts;
descriptor: [Ljava/awt/Font;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] allFamilies;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Locale lastDefaultLocale;
descriptor: Ljava/util/Locale;
flags: (0x0002) ACC_PRIVATE
public static boolean noType1Font;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static java.lang.String[] STR_ARRAY;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private boolean usePlatformFontMetrics;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static int maxSoftRefCnt;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.SunFontManager$FontRegistrationInfo> deferredFontFiles;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/SunFontManager$FontRegistrationInfo;>;
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2DHandle> initialisedFonts;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2DHandle;>;
private java.util.HashMap<java.lang.String, java.lang.String> fontToFileMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
private java.util.HashMap<java.lang.String, java.lang.String> fontToFamilyNameMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
private java.util.HashMap<java.lang.String, java.util.ArrayList<java.lang.String>> familyToFontListMap;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
private java.lang.String[] pathDirs;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean haveCheckedUnreferencedFontFiles;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static java.util.HashMap<java.lang.String, sun.font.SunFontManager$FamilyDescription> platformFontMap;
descriptor: Ljava/util/HashMap;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/font/SunFontManager$FamilyDescription;>;
private java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D> fontNameCache;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
java.lang.Thread fileCloser;
descriptor: Ljava/lang/Thread;
flags: (0x0000)
java.util.Vector<java.io.File> tmpFontFiles;
descriptor: Ljava/util/Vector;
flags: (0x0000)
Signature: Ljava/util/Vector<Ljava/io/File;>;
private int createdFontCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean _usingAlternateComposites;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static boolean gAltJAFont;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private boolean gLocalePref;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean gPropPref;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static java.util.HashSet<java.lang.String> installedNames;
descriptor: Ljava/util/HashSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashSet<Ljava/lang/String;>;
private static final java.lang.Object regFamilyLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Hashtable<java.lang.String, sun.font.FontFamily> createdByFamilyName;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
private java.util.Hashtable<java.lang.String, sun.font.Font2D> createdByFullName;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
private boolean fontsAreRegistered;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static java.util.Locale systemLocale;
descriptor: Ljava/util/Locale;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.font.Font2DHandle
dup
aconst_null
invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
putstatic sun.font.SunFontManager.FONT_HANDLE_NULL:Lsun/font/Font2DHandle;
1: aconst_null
putstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
2: new sun.font.SunFontManager$TTFilter
dup
invokespecial sun.font.SunFontManager$TTFilter.<init>:()V
putstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
3: new sun.font.SunFontManager$T1Filter
dup
invokespecial sun.font.SunFontManager$T1Filter.<init>:()V
putstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
4: iconst_0
anewarray java.lang.String
putstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
5: bipush 10
putstatic sun.font.SunFontManager.maxSoftRefCnt:I
6: new sun.font.SunFontManager$1
dup
invokespecial sun.font.SunFontManager$1.<init>:()V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
8: iconst_0
putstatic sun.font.SunFontManager.gAltJAFont:Z
9: aconst_null
putstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
10: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic sun.font.SunFontManager.regFamilyLock:Ljava/lang/Object;
11: aconst_null
putstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
return
LocalVariableTable:
Start End Slot Name Signature
public static sun.font.SunFontManager getInstance();
descriptor: ()Lsun/font/SunFontManager;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic sun.font.FontManagerFactory.getInstance:()Lsun/font/FontManager;
astore 0
start local 0 1: aload 0
checkcast sun.font.SunFontManager
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 fm Lsun/font/FontManager;
public java.io.FilenameFilter getTrueTypeFilter();
descriptor: ()Ljava/io/FilenameFilter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public java.io.FilenameFilter getType1Filter();
descriptor: ()Ljava/io/FilenameFilter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public static final java.lang.String getJDKFontDir();
descriptor: ()Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public sun.font.TrueTypeFont getEUDCFont();
descriptor: ()Lsun/font/TrueTypeFont;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 20
anewarray sun.font.FileFont
putfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
2: aload 0
iconst_0
putfield sun.font.SunFontManager.lastPoolIndex:I
3: aload 0
iconst_0
putfield sun.font.SunFontManager.maxCompFont:I
4: aload 0
bipush 20
anewarray sun.font.CompositeFont
putfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.compositeFonts:Ljava/util/concurrent/ConcurrentHashMap;
6: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
7: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
8: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
9: aload 0
iconst_0
putfield sun.font.SunFontManager.loaded1dot0Fonts:Z
10: aload 0
iconst_0
putfield sun.font.SunFontManager.loadedAllFonts:Z
11: aload 0
iconst_0
putfield sun.font.SunFontManager.loadedAllFontFiles:Z
12: aload 0
iconst_0
putfield sun.font.SunFontManager.noOtherJREFontFiles:Z
13: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
14: aload 0
iconst_0
putfield sun.font.SunFontManager.discoveredAllFonts:Z
15: aload 0
iconst_0
putfield sun.font.SunFontManager.usePlatformFontMetrics:Z
16: aload 0
17: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
18: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
19: aload 0
aconst_null
putfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
20: aload 0
aconst_null
putfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
21: aload 0
aconst_null
putfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
22: aload 0
aconst_null
putfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
23: aload 0
24: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
25: aload 0
aconst_null
putfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
26: aload 0
aconst_null
putfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
27: aload 0
iconst_0
putfield sun.font.SunFontManager.createdFontCount:I
28: aload 0
iconst_0
putfield sun.font.SunFontManager._usingAlternateComposites:Z
29: aload 0
iconst_0
putfield sun.font.SunFontManager.gLocalePref:Z
30: aload 0
iconst_0
putfield sun.font.SunFontManager.gPropPref:Z
31: aload 0
iconst_0
putfield sun.font.SunFontManager.fontsAreRegistered:Z
32: new sun.font.SunFontManager$2
dup
aload 0
invokespecial sun.font.SunFontManager$2.<init>:(Lsun/font/SunFontManager;)V
33: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
34: new sun.font.SunFontManager$3
dup
aload 0
invokespecial sun.font.SunFontManager$3.<init>:(Lsun/font/SunFontManager;)V
35: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 1
start local 1 36: iload 1
ifeq 42
37: aload 0
iconst_1
putfield sun.font.SunFontManager.usePlatformFontMetrics:Z
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Enabling platform font metrics for win32. This is an unsupported option."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "This yields incorrect composite font metrics as reported by 1.1.x releases."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "It is appropriate only for use by applications which do not use any Java 2"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "functionality. This property will be removed in a later release."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
42: StackMap locals: sun.font.SunFontManager int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/font/SunFontManager;
36 43 1 platformFont Z
public sun.font.Font2DHandle getNewComposite(java.lang.String, int, sun.font.Font2DHandle);
descriptor: (Ljava/lang/String;ILsun/font/Font2DHandle;)Lsun/font/Font2DHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
instanceof sun.font.CompositeFont
ifne 2
1: aload 3
areturn
2: StackMap locals:
StackMap stack:
aload 3
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
checkcast sun.font.CompositeFont
astore 4
start local 4 3: aload 4
iconst_0
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 5
start local 5 4: aload 1
ifnonnull 6
5: aload 5
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 1
6: StackMap locals: sun.font.CompositeFont sun.font.PhysicalFont
StackMap stack:
iload 2
iconst_m1
if_icmpne 8
7: aload 4
invokevirtual sun.font.CompositeFont.getStyle:()I
istore 2
8: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iconst_0
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 6
start local 6 9: aload 6
instanceof sun.font.PhysicalFont
ifne 11
10: aload 5
astore 6
11: StackMap locals: sun.font.Font2D
StackMap stack:
aload 6
checkcast sun.font.PhysicalFont
astore 7
start local 7 12: aload 0
ldc "dialog"
iload 2
iconst_0
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
checkcast sun.font.CompositeFont
13: astore 8
start local 8 14: aload 8
ifnonnull 16
15: aload 3
areturn
16: StackMap locals: sun.font.PhysicalFont sun.font.CompositeFont
StackMap stack:
new sun.font.CompositeFont
dup
aload 7
aload 8
invokespecial sun.font.CompositeFont.<init>:(Lsun/font/PhysicalFont;Lsun/font/CompositeFont;)V
astore 9
start local 9 17: new sun.font.Font2DHandle
dup
aload 9
invokespecial sun.font.Font2DHandle.<init>:(Lsun/font/Font2D;)V
astore 10
start local 10 18: aload 10
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 19 0 this Lsun/font/SunFontManager;
0 19 1 family Ljava/lang/String;
0 19 2 style I
0 19 3 handle Lsun/font/Font2DHandle;
3 19 4 oldComp Lsun/font/CompositeFont;
4 19 5 oldFont Lsun/font/PhysicalFont;
9 19 6 newFont Lsun/font/Font2D;
12 19 7 physicalFont Lsun/font/PhysicalFont;
14 19 8 dialog2D Lsun/font/CompositeFont;
17 19 9 compFont Lsun/font/CompositeFont;
18 19 10 newHandle Lsun/font/Font2DHandle;
MethodParameters:
Name Flags
family
style
handle
protected void registerCompositeFont(java.lang.String, java.lang.String[], java.lang.String[], int, int[], int[], boolean);
descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: new sun.font.CompositeFont
dup
aload 1
1: aload 2
2: aload 3
3: iload 4
4: aload 5
5: aload 6
iload 7
aload 0
6: invokespecial sun.font.CompositeFont.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLsun/font/SunFontManager;)V
astore 8
start local 8 7: aload 0
aload 8
iconst_2
invokevirtual sun.font.SunFontManager.addCompositeToFontList:(Lsun/font/CompositeFont;I)V
8: aload 0
getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
dup
astore 9
monitorenter
9: aload 0
getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
aload 0
dup
getfield sun.font.SunFontManager.maxCompFont:I
dup_x1
iconst_1
iadd
putfield sun.font.SunFontManager.maxCompFont:I
aload 8
aastore
10: aload 9
monitorexit
11: goto 14
StackMap locals: sun.font.SunFontManager java.lang.String java.lang.String[] java.lang.String[] int int[] int[] int sun.font.CompositeFont sun.font.CompositeFont[]
StackMap stack: java.lang.Throwable
12: aload 9
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
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 15 0 this Lsun/font/SunFontManager;
0 15 1 compositeName Ljava/lang/String;
0 15 2 componentFileNames [Ljava/lang/String;
0 15 3 componentNames [Ljava/lang/String;
0 15 4 numMetricsSlots I
0 15 5 exclusionRanges [I
0 15 6 exclusionMaxIndex [I
0 15 7 defer Z
7 15 8 cf Lsun/font/CompositeFont;
Exception table:
from to target type
9 11 12 any
12 13 12 any
MethodParameters:
Name Flags
compositeName
componentFileNames
componentNames
numMetricsSlots
exclusionRanges
exclusionMaxIndex
defer
protected static void registerCompositeFont(java.lang.String, java.lang.String[], java.lang.String[], int, int[], int[], boolean, java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D>);
descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=10, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: new sun.font.CompositeFont
dup
aload 0
1: aload 1
2: aload 2
3: iload 3
4: aload 4
5: aload 5
iload 6
6: invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
7: invokespecial sun.font.CompositeFont.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLsun/font/SunFontManager;)V
astore 8
start local 8 8: aload 7
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.Font2D
astore 9
start local 9 9: aload 9
instanceof sun.font.CompositeFont
ifeq 11
10: aload 9
getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
aload 8
putfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
11: StackMap locals: sun.font.CompositeFont sun.font.Font2D
StackMap stack:
aload 7
aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 8
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: 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 13 0 compositeName Ljava/lang/String;
0 13 1 componentFileNames [Ljava/lang/String;
0 13 2 componentNames [Ljava/lang/String;
0 13 3 numMetricsSlots I
0 13 4 exclusionRanges [I
0 13 5 exclusionMaxIndex [I
0 13 6 defer Z
0 13 7 altNameCache Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
8 13 8 cf Lsun/font/CompositeFont;
9 13 9 oldFont Lsun/font/Font2D;
Signature: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;)V
MethodParameters:
Name Flags
compositeName
componentFileNames
componentNames
numMetricsSlots
exclusionRanges
exclusionMaxIndex
defer
altNameCache
private void addCompositeToFontList(sun.font.CompositeFont, int);
descriptor: (Lsun/font/CompositeFont;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 4
1: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Add to Family "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc ", Font "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " rank="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual sun.font.CompositeFont.setRank:(I)V
5: aload 0
getfield sun.font.SunFontManager.compositeFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getfield sun.font.CompositeFont.fullName:Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 1
getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 3
start local 3 8: aload 3
ifnonnull 10
9: new sun.font.FontFamily
dup
aload 1
getfield sun.font.CompositeFont.familyName:Ljava/lang/String;
iconst_1
iload 2
invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;ZI)V
astore 3
10: StackMap locals: sun.font.FontFamily
StackMap stack:
aload 3
aload 1
aload 1
getfield sun.font.CompositeFont.style:I
invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/font/SunFontManager;
0 12 1 f Lsun/font/CompositeFont;
0 12 2 rank I
8 12 3 family Lsun/font/FontFamily;
MethodParameters:
Name Flags
f
rank
protected sun.font.PhysicalFont addToFontList(sun.font.PhysicalFont, int);
descriptor: (Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
astore 3
start local 3 1: aload 1
getfield sun.font.PhysicalFont.familyName:Ljava/lang/String;
astore 4
start local 4 2: aload 3
ifnull 3
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.compositeFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual sun.font.PhysicalFont.setRank:(I)V
7: aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
ifne 21
8: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 12
9: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Add to Family "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc ", Font "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " rank="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 4
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 5
start local 5 14: aload 5
ifnonnull 18
15: new sun.font.FontFamily
dup
aload 4
iconst_0
iload 2
invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;ZI)V
astore 5
16: aload 5
aload 1
aload 1
getfield sun.font.PhysicalFont.style:I
invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
17: goto 19
18: StackMap locals: sun.font.FontFamily
StackMap stack:
aload 5
aload 1
aload 1
getfield sun.font.PhysicalFont.style:I
invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 1
areturn
end local 5 21: StackMap locals:
StackMap stack:
aload 1
astore 5
start local 5 22: aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.PhysicalFont
astore 6
start local 6 23: aload 6
ifnonnull 25
24: aconst_null
areturn
25: StackMap locals: sun.font.PhysicalFont sun.font.PhysicalFont
StackMap stack:
aload 6
invokevirtual sun.font.PhysicalFont.getRank:()I
iload 2
if_icmplt 64
26: aload 6
getfield sun.font.PhysicalFont.mapper:Lsun/font/CharToGlyphMapper;
ifnull 28
iload 2
iconst_2
if_icmple 28
27: aload 6
areturn
28: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.font.PhysicalFont.getRank:()I
iload 2
if_icmpne 36
29: aload 6
instanceof sun.font.TrueTypeFont
ifeq 35
30: aload 5
instanceof sun.font.TrueTypeFont
ifeq 35
31: aload 6
checkcast sun.font.TrueTypeFont
astore 7
start local 7 32: aload 5
checkcast sun.font.TrueTypeFont
astore 8
start local 8 33: aload 7
getfield sun.font.TrueTypeFont.fileSize:I
aload 8
getfield sun.font.TrueTypeFont.fileSize:I
if_icmplt 36
34: aload 6
areturn
end local 8 end local 7 35: StackMap locals:
StackMap stack:
aload 6
areturn
36: StackMap locals:
StackMap stack:
aload 6
getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 45
37: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 44
38: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
39: new java.lang.StringBuilder
dup
ldc "Unexpected attempt to replace a JRE font "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
40: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload 6
getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: ldc " with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 6
areturn
45: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 52
46: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
47: new java.lang.StringBuilder
dup
ldc "Replace in Family "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: ldc ",Font "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " new rank="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
49: ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: ldc " with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
51: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 5
invokevirtual sun.font.SunFontManager.replaceFont:(Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
53: aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
aload 5
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
54: aload 0
getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
55: aload 5
56: invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
57: aload 4
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 7
start local 7 58: aload 7
ifnonnull 62
59: new sun.font.FontFamily
dup
aload 4
iconst_0
iload 2
invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;ZI)V
astore 7
60: aload 7
aload 5
aload 5
getfield sun.font.PhysicalFont.style:I
invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
61: goto 63
62: StackMap locals: sun.font.FontFamily
StackMap stack:
aload 7
aload 5
aload 5
getfield sun.font.PhysicalFont.style:I
invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
63: StackMap locals:
StackMap stack:
aload 5
areturn
end local 7 64: StackMap locals:
StackMap stack:
aload 6
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 65 0 this Lsun/font/SunFontManager;
0 65 1 f Lsun/font/PhysicalFont;
0 65 2 rank I
1 65 3 fontName Ljava/lang/String;
2 65 4 familyName Ljava/lang/String;
14 21 5 family Lsun/font/FontFamily;
22 65 5 newFont Lsun/font/PhysicalFont;
23 65 6 oldFont Lsun/font/PhysicalFont;
32 35 7 oldTTFont Lsun/font/TrueTypeFont;
33 35 8 newTTFont Lsun/font/TrueTypeFont;
58 64 7 family Lsun/font/FontFamily;
MethodParameters:
Name Flags
f
rank
public sun.font.Font2D[] getRegisteredFonts();
descriptor: ()[Lsun/font/Font2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
astore 1
start local 1 1: aload 0
getfield sun.font.SunFontManager.maxCompFont:I
istore 2
start local 2 2: aload 1
arraylength
iload 2
iadd
anewarray sun.font.Font2D
astore 3
start local 3 3: aload 0
getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 1
iconst_0
aload 3
iload 2
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/SunFontManager;
1 6 1 physFonts [Lsun/font/PhysicalFont;
2 6 2 mcf I
3 6 3 regFonts [Lsun/font/Font2D;
protected sun.font.PhysicalFont[] getPhysicalFonts();
descriptor: ()[Lsun/font/PhysicalFont;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
iconst_0
anewarray sun.font.PhysicalFont
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.font.PhysicalFont[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
protected synchronized void initialiseDeferredFonts();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: sun.font.SunFontManager top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 2: aload 0
aload 1
invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
pop
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/SunFontManager;
2 3 1 fileName Ljava/lang/String;
protected synchronized void registerDeferredJREFonts(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: sun.font.SunFontManager java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.SunFontManager$FontRegistrationInfo
astore 2
start local 2 2: aload 2
getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
ifnull 5
3: aload 2
getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: aload 0
aload 2
getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/SunFontManager;
0 7 1 jreDir Ljava/lang/String;
2 5 2 info Lsun/font/SunFontManager$FontRegistrationInfo;
MethodParameters:
Name Flags
jreDir
public boolean isDeferredFont(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
sun.font.PhysicalFont findJREDeferredFont(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/font/PhysicalFont;
flags: (0x0000)
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.SunFontManager.noOtherJREFontFiles:Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
dup
astore 3
monitorenter
3: aload 0
getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
ifnonnull 17
4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 5: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.HashSet top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 7: new java.io.File
dup
aload 5
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 7
start local 7 8: aload 7
invokevirtual java.io.File.getParent:()Ljava/lang/String;
astore 8
start local 8 9: aload 7
invokevirtual java.io.File.getName:()Ljava/lang/String;
pop
10: aload 8
ifnull 13
aload 8
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: goto 13
12: StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.HashSet java.lang.String java.util.Iterator java.io.File java.lang.String
StackMap stack:
aload 4
aload 5
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 13: StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.HashSet top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
14: aload 0
aload 4
getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
15: aload 0
getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
arraylength
ifne 17
16: aload 0
iconst_1
putfield sun.font.SunFontManager.noOtherJREFontFiles:Z
end local 4 17: StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String
StackMap stack:
iconst_0
istore 4
start local 4 18: goto 31
19: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
iload 4
aaload
astore 5
start local 5 20: aload 5
ifnonnull 22
21: goto 30
22: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
iload 4
aconst_null
aastore
23: aload 0
aload 5
invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
astore 6
start local 6 24: aload 6
ifnull 30
25: aload 6
aconst_null
invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 27
26: aload 6
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 30
27: StackMap locals: sun.font.PhysicalFont
StackMap stack:
aload 6
getfield sun.font.PhysicalFont.style:I
iload 2
if_icmpne 30
28: aload 6
aload 3
monitorexit
29: areturn
end local 6 end local 5 30: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
31: iload 4
aload 0
getfield sun.font.SunFontManager.jreOtherFontFiles:[Ljava/lang/String;
arraylength
if_icmplt 19
end local 4 32: aload 3
monitorexit
33: goto 36
StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String
StackMap stack: java.lang.Throwable
34: aload 3
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/font/SunFontManager;
0 37 1 name Ljava/lang/String;
0 37 2 style I
5 17 4 otherFontFiles Ljava/util/HashSet<Ljava/lang/String;>;
7 13 5 deferredFile Ljava/lang/String;
8 13 7 file Ljava/io/File;
9 13 8 dir Ljava/lang/String;
18 32 4 i I
20 30 5 fileName Ljava/lang/String;
24 30 6 physicalFont Lsun/font/PhysicalFont;
Exception table:
from to target type
3 29 34 any
30 33 34 any
34 35 34 any
MethodParameters:
Name Flags
name
style
private sun.font.PhysicalFont findOtherDeferredFont(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/font/PhysicalFont;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: sun.font.SunFontManager java.lang.String int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 2: aload 0
aload 3
invokevirtual sun.font.SunFontManager.initialiseDeferredFont:(Ljava/lang/String;)Lsun/font/PhysicalFont;
astore 5
start local 5 3: aload 5
ifnull 8
4: aload 5
aconst_null
invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 6
5: aload 5
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
6: StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String java.util.Iterator sun.font.PhysicalFont
StackMap stack:
aload 5
getfield sun.font.PhysicalFont.style:I
iload 2
if_icmpne 8
7: aload 5
areturn
end local 5 end local 3 8: StackMap locals: sun.font.SunFontManager java.lang.String int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/SunFontManager;
0 10 1 name Ljava/lang/String;
0 10 2 style I
2 8 3 fileName Ljava/lang/String;
3 8 5 physicalFont Lsun/font/PhysicalFont;
MethodParameters:
Name Flags
name
style
private sun.font.PhysicalFont findDeferredFont(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/font/PhysicalFont;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual sun.font.SunFontManager.findJREDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: sun.font.PhysicalFont
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual sun.font.SunFontManager.findOtherDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/SunFontManager;
0 4 1 name Ljava/lang/String;
0 4 2 style I
1 4 3 physicalFont Lsun/font/PhysicalFont;
MethodParameters:
Name Flags
name
style
public void registerDeferredFont(java.lang.String, java.lang.String, java.lang.String[], int, boolean, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new sun.font.SunFontManager$FontRegistrationInfo
dup
aload 2
aload 3
iload 4
1: iload 5
iload 6
2: invokespecial sun.font.SunFontManager$FontRegistrationInfo.<init>:(Ljava/lang/String;[Ljava/lang/String;IZI)V
3: astore 7
start local 7 4: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 7
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
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 Lsun/font/SunFontManager;
0 6 1 fileNameKey Ljava/lang/String;
0 6 2 fullPathName Ljava/lang/String;
0 6 3 nativeNames [Ljava/lang/String;
0 6 4 fontFormat I
0 6 5 useJavaRasterizer Z
0 6 6 fontRank I
4 6 7 regInfo Lsun/font/SunFontManager$FontRegistrationInfo;
MethodParameters:
Name Flags
fileNameKey
fullPathName
nativeNames
fontFormat
useJavaRasterizer
fontRank
public synchronized sun.font.PhysicalFont initialiseDeferredFont(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/font/PhysicalFont;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 5
3: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
4: new java.lang.StringBuilder
dup
ldc "Opening deferred font file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 6: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.SunFontManager$FontRegistrationInfo
astore 3
start local 3 7: aload 3
ifnull 20
8: aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
aload 3
getfield sun.font.SunFontManager$FontRegistrationInfo.fontFilePath:Ljava/lang/String;
10: aload 3
getfield sun.font.SunFontManager$FontRegistrationInfo.nativeNames:[Ljava/lang/String;
11: aload 3
getfield sun.font.SunFontManager$FontRegistrationInfo.fontFormat:I
12: aload 3
getfield sun.font.SunFontManager$FontRegistrationInfo.javaRasterizer:Z
13: aload 3
getfield sun.font.SunFontManager$FontRegistrationInfo.fontRank:I
14: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
astore 2
15: aload 2
ifnull 18
16: aload 0
getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 2
getfield sun.font.PhysicalFont.handle:Lsun/font/Font2DHandle;
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: goto 25
18: StackMap locals: sun.font.PhysicalFont sun.font.SunFontManager$FontRegistrationInfo
StackMap stack:
aload 0
getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getstatic sun.font.SunFontManager.FONT_HANDLE_NULL:Lsun/font/Font2DHandle;
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: goto 25
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2DHandle
astore 4
start local 4 21: aload 4
ifnonnull 24
22: aload 0
getfield sun.font.SunFontManager.initialisedFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getstatic sun.font.SunFontManager.FONT_HANDLE_NULL:Lsun/font/Font2DHandle;
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: goto 25
24: StackMap locals: sun.font.Font2DHandle
StackMap stack:
aload 4
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
checkcast sun.font.PhysicalFont
astore 2
end local 4 25: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/font/SunFontManager;
0 26 1 fileNameKey Ljava/lang/String;
6 26 2 physicalFont Lsun/font/PhysicalFont;
7 26 3 regInfo Lsun/font/SunFontManager$FontRegistrationInfo;
21 25 4 handle Lsun/font/Font2DHandle;
MethodParameters:
Name Flags
fileNameKey
public boolean isRegisteredFontFile(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public sun.font.PhysicalFont getRegisteredFontFile(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/font/PhysicalFont;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.PhysicalFont
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public sun.font.PhysicalFont registerFontFile(java.lang.String, java.lang.String[], int, boolean, int);
descriptor: (Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.PhysicalFont
astore 6
start local 6 1: aload 6
ifnull 3
2: aload 6
areturn
3: StackMap locals: sun.font.PhysicalFont
StackMap stack:
aconst_null
astore 7
start local 7 4: iload 3
tableswitch { // 0 - 4
0: 5
1: 15
2: 20
3: 20
4: 18
default: 20
}
5: StackMap locals: sun.font.PhysicalFont
StackMap stack:
iconst_0
istore 8
start local 8 6: StackMap locals: int
StackMap stack:
new sun.font.TrueTypeFont
dup
aload 1
aload 2
iload 8
iinc 8 1
7: iload 4
8: invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
astore 9
start local 9 9: aload 0
aload 9
iload 5
invokevirtual sun.font.SunFontManager.addToFontList:(Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
astore 10
start local 10 10: aload 7
ifnonnull 12
11: aload 10
astore 7
end local 10 12: StackMap locals: sun.font.TrueTypeFont
StackMap stack:
iload 8
aload 9
invokevirtual sun.font.TrueTypeFont.getFontCount:()I
13: if_icmplt 6
14: goto 20
end local 9 end local 8 15: StackMap locals:
StackMap stack:
new sun.font.Type1Font
dup
aload 1
aload 2
invokespecial sun.font.Type1Font.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 10
start local 10 16: aload 0
aload 10
iload 5
invokevirtual sun.font.SunFontManager.addToFontList:(Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
astore 7
17: goto 20
end local 10 18: StackMap locals:
StackMap stack:
new sun.font.NativeFont
dup
aload 1
iconst_0
invokespecial sun.font.NativeFont.<init>:(Ljava/lang/String;Z)V
astore 11
start local 11 19: aload 0
aload 11
iload 5
invokevirtual sun.font.SunFontManager.addToFontList:(Lsun/font/PhysicalFont;I)Lsun/font/PhysicalFont;
astore 7
end local 11 20: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 31
21: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
22: new java.lang.StringBuilder
dup
ldc "Registered file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " as font "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " rank="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
25: goto 31
StackMap locals:
StackMap stack: java.awt.FontFormatException
26: astore 8
start local 8 27: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 31
28: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Unusable font: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.awt.FontFormatException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 8 31: StackMap locals:
StackMap stack:
aload 7
ifnull 34
32: iload 3
iconst_4
if_icmpeq 34
33: aload 0
getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 7
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: StackMap locals:
StackMap stack:
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 35 0 this Lsun/font/SunFontManager;
0 35 1 fileName Ljava/lang/String;
0 35 2 nativeNames [Ljava/lang/String;
0 35 3 fontFormat I
0 35 4 useJavaRasterizer Z
0 35 5 fontRank I
1 35 6 regFont Lsun/font/PhysicalFont;
4 35 7 physicalFont Lsun/font/PhysicalFont;
6 15 8 fn I
9 15 9 ttf Lsun/font/TrueTypeFont;
10 12 10 pf Lsun/font/PhysicalFont;
16 18 10 t1f Lsun/font/Type1Font;
19 20 11 nf Lsun/font/NativeFont;
27 31 8 ffe Ljava/awt/FontFormatException;
Exception table:
from to target type
4 25 26 Class java.awt.FontFormatException
MethodParameters:
Name Flags
fileName
nativeNames
fontFormat
useJavaRasterizer
fontRank
public void registerFonts(java.lang.String[], java.lang.String[][], int, int, boolean, int, boolean);
descriptor: ([Ljava/lang/String;[[Ljava/lang/String;IIZIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: iconst_0
istore 8
start local 8 1: goto 11
2: StackMap locals: int
StackMap stack:
iload 7
ifeq 7
3: aload 0
aload 1
iload 8
aaload
aload 1
iload 8
aaload
aload 2
iload 8
aaload
4: iload 4
iload 5
iload 6
5: invokevirtual sun.font.SunFontManager.registerDeferredFont:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 8
aaload
aload 2
iload 8
aaload
8: iload 4
iload 5
iload 6
9: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
pop
10: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
iload 3
if_icmplt 2
end local 8 12: return
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 13 0 this Lsun/font/SunFontManager;
0 13 1 fileNames [Ljava/lang/String;
0 13 2 nativeNames [[Ljava/lang/String;
0 13 3 fontCount I
0 13 4 fontFormat I
0 13 5 useJavaRasterizer Z
0 13 6 fontRank I
0 13 7 defer Z
1 12 8 i I
MethodParameters:
Name Flags
fileNames
nativeNames
fontCount
fontFormat
useJavaRasterizer
fontRank
defer
public sun.font.PhysicalFont getDefaultPhysicalFont();
descriptor: ()Lsun/font/PhysicalFont;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
ifnonnull 16
1: aload 0
invokevirtual sun.font.SunFontManager.getDefaultFontFaceName:()Ljava/lang/String;
astore 1
start local 1 2: aload 0
aload 1
iconst_0
iconst_0
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 2
start local 2 3: aload 2
ifnull 12
4: aload 2
instanceof sun.font.PhysicalFont
ifeq 7
5: aload 0
aload 2
checkcast sun.font.PhysicalFont
putfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
6: goto 12
7: StackMap locals: java.lang.String sun.font.Font2D
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 12
8: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
9: new java.lang.StringBuilder
dup
ldc "Font returned by findFont2D for default font name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not a physical font: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
aconst_null
invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
ifnonnull 16
13: aload 0
aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
14: invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/font/SunFontManager.lambda$0()Ljava/lang/Error; (6)
()Ljava/lang/Error;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast sun.font.PhysicalFont
15: putfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
end local 2 end local 1 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.defaultPhysicalFont:Lsun/font/PhysicalFont;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/font/SunFontManager;
2 16 1 defaultFontName Ljava/lang/String;
3 16 2 font2d Lsun/font/Font2D;
public sun.font.Font2D getDefaultLogicalFont(int);
descriptor: (I)Lsun/font/Font2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "dialog"
iload 1
iconst_0
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 style I
MethodParameters:
Name Flags
style
private static java.lang.String dotStyleStr(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 1 - 3
1: 1
2: 2
3: 3
default: 4
}
1: StackMap locals:
StackMap stack:
ldc ".bold"
areturn
2: StackMap locals:
StackMap stack:
ldc ".italic"
areturn
3: StackMap locals:
StackMap stack:
ldc ".bolditalic"
areturn
4: StackMap locals:
StackMap stack:
ldc ".plain"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 num I
MethodParameters:
Name Flags
num
protected void populateFontFileNameMap(java.util.HashMap<java.lang.String, java.lang.String>, java.util.HashMap<java.lang.String, java.lang.String>, java.util.HashMap<java.lang.String, java.util.ArrayList<java.lang.String>>, java.util.Locale);
descriptor: (Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/Locale;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 fontToFileMap Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
0 1 2 fontToFamilyNameMap Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
0 1 3 familyToFontListMap Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
0 1 4 locale Ljava/util/Locale;
Signature: (Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;Ljava/util/Locale;)V
MethodParameters:
Name Flags
fontToFileMap
fontToFamilyNameMap
familyToFontListMap
locale
private java.lang.String[] getFontFilesFromPath(boolean);
descriptor: (Z)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
astore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
new sun.font.SunFontManager$TTorT1Filter
dup
invokespecial sun.font.SunFontManager$TTorT1Filter.<init>:()V
astore 2
start local 2 4: StackMap locals: java.io.FilenameFilter
StackMap stack:
new sun.font.SunFontManager$4
dup
aload 0
aload 2
invokespecial sun.font.SunFontManager$4.<init>:(Lsun/font/SunFontManager;Ljava/io/FilenameFilter;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/SunFontManager;
0 5 1 noType1 Z
2 3 2 filter Ljava/io/FilenameFilter;
4 5 2 filter Ljava/io/FilenameFilter;
MethodParameters:
Name Flags
noType1
private void resolveWindowsFonts();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 25
StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 4
ifnonnull 25
5: aload 2
ldc " "
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 13
6: aload 2
ldc " "
ldc " "
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 7: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 5
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
8: aload 4
ifnull 25
9: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
aload 5
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 25
10: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 5
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 2
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 12: goto 25
StackMap locals: sun.font.SunFontManager java.util.ArrayList java.lang.String java.util.Iterator java.lang.String
StackMap stack:
13: aload 2
ldc "marlett"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 2
ldc "marlett.ttf"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: goto 25
StackMap locals:
StackMap stack:
16: aload 2
ldc "david"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
17: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
ldc "david regular"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
18: aload 4
ifnull 25
19: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
ldc "david regular"
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
ldc "david"
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: goto 25
22: StackMap locals:
StackMap stack:
aload 1
ifnonnull 24
23: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
24: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 25: StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
26: aload 1
ifnull 70
27: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 28: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
checkcast java.util.HashMap
29: astore 3
start local 3 30: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 33
StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap top java.util.Iterator
StackMap stack:
31: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 32: aload 3
aload 4
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 33: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
34: aload 3
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 38
StackMap locals:
StackMap stack:
35: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 36: aload 2
aload 3
aload 4
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
37: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 4
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 38: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
39: aload 0
aload 2
aload 1
invokevirtual sun.font.SunFontManager.resolveFontFiles:(Ljava/util/HashSet;Ljava/util/ArrayList;)V
40: aload 1
invokevirtual java.util.ArrayList.size:()I
ifle 53
41: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 42: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 45
StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap java.util.ArrayList top java.util.Iterator
StackMap stack:
43: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 44: aload 4
aload 5
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 45: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 43
46: aload 0
iconst_1
invokevirtual sun.font.SunFontManager.getFontFilesFromPath:(Z)[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 51
StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap java.util.ArrayList top int int java.lang.String[]
StackMap stack:
47: aload 8
iload 6
aaload
astore 5
start local 5 48: aload 4
aload 5
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 50
49: aload 2
aload 5
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 5 50: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
51: iload 6
iload 7
if_icmplt 47
52: aload 0
aload 2
aload 1
invokevirtual sun.font.SunFontManager.resolveFontFiles:(Ljava/util/HashSet;Ljava/util/ArrayList;)V
end local 4 53: StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashSet java.util.HashMap
StackMap stack:
aload 1
invokevirtual java.util.ArrayList.size:()I
ifle 70
54: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 55: iconst_0
istore 5
start local 5 56: goto 69
57: StackMap locals: int int
StackMap stack:
aload 1
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 58: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
aload 6
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 59: aload 7
ifnull 64
60: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
aload 7
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 8
start local 8 61: aload 8
ifnull 64
62: aload 8
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmpgt 64
63: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
aload 7
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 64: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
aload 6
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
65: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 68
66: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
67: new java.lang.StringBuilder
dup
ldc "No file for font:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 7 end local 6 68: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
69: iload 5
iload 4
if_icmplt 57
end local 5 end local 4 end local 3 end local 2 70: StackMap locals: sun.font.SunFontManager java.util.ArrayList
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lsun/font/SunFontManager;
1 71 1 unmappedFontNames Ljava/util/ArrayList<Ljava/lang/String;>;
3 25 2 font Ljava/lang/String;
4 25 4 file Ljava/lang/String;
7 12 5 newName Ljava/lang/String;
28 70 2 unmappedFontFiles Ljava/util/HashSet<Ljava/lang/String;>;
30 70 3 ffmapCopy Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
32 33 4 key Ljava/lang/String;
36 38 4 key Ljava/lang/String;
42 53 4 registryFiles Ljava/util/ArrayList<Ljava/lang/String;>;
44 45 5 regFile Ljava/lang/String;
48 50 5 pathFile Ljava/lang/String;
55 70 4 sz I
56 70 5 i I
58 68 6 name Ljava/lang/String;
59 68 7 familyName Ljava/lang/String;
61 64 8 family Ljava/util/ArrayList<Ljava/lang/String;>;
private synchronized void checkForUnreferencedFontFiles();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=14, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.haveCheckedUnreferencedFontFiles:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.SunFontManager.haveCheckedUnreferencedFontFiles:Z
3: getstatic sun.font.FontUtilities.isWindows:Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 6: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
StackMap stack:
7: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 8: aload 1
aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aconst_null
astore 2
start local 2 11: aconst_null
astore 3
start local 3 12: aconst_null
astore 4
start local 4 13: aload 0
iconst_0
invokevirtual sun.font.SunFontManager.getFontFilesFromPath:(Z)[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 41
StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap top int int java.lang.String[]
StackMap stack:
14: aload 8
iload 6
aaload
astore 5
start local 5 15: aload 1
aload 5
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifne 40
16: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 19
17: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
18: new java.lang.StringBuilder
dup
ldc "Found non-registry file : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
19: StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap java.lang.String int int java.lang.String[]
StackMap stack:
aload 0
aload 0
aload 5
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;)Lsun/font/PhysicalFont;
astore 9
start local 9 20: aload 9
ifnonnull 22
21: goto 40
22: StackMap locals: sun.font.PhysicalFont
StackMap stack:
aload 2
ifnonnull 28
23: new java.util.HashMap
dup
aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 2
24: new java.util.HashMap
dup
aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
25: astore 3
26: new java.util.HashMap
dup
aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
27: invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 4
28: StackMap locals:
StackMap stack:
aload 9
aconst_null
invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
astore 10
start local 10 29: aload 9
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 11
start local 11 30: aload 11
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 12
start local 12 31: aload 3
aload 10
aload 11
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: aload 2
aload 10
aload 5
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: aload 4
aload 12
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 13
start local 13 34: aload 13
ifnonnull 37
35: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 13
36: goto 38
37: StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap java.lang.String int int java.lang.String[] sun.font.PhysicalFont java.lang.String java.lang.String java.lang.String java.util.ArrayList
StackMap stack:
new java.util.ArrayList
dup
aload 13
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 13
38: StackMap locals:
StackMap stack:
aload 13
aload 10
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
39: aload 4
aload 12
aload 13
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 13 end local 12 end local 11 end local 10 end local 9 end local 5 40: StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
41: iload 6
iload 7
if_icmplt 14
42: aload 2
ifnull 46
43: aload 0
aload 2
putfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
44: aload 0
aload 4
putfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
45: aload 0
aload 3
putfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
46: StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.HashMap java.util.HashMap java.util.HashMap
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/font/SunFontManager;
6 47 1 registryFiles Ljava/util/ArrayList<Ljava/lang/String;>;
8 9 2 regFile Ljava/lang/String;
11 47 2 fontToFileMap2 Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
12 47 3 fontToFamilyNameMap2 Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
13 47 4 familyToFontListMap2 Ljava/util/HashMap<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
15 40 5 pathFile Ljava/lang/String;
20 40 9 f Lsun/font/PhysicalFont;
29 40 10 fontName Ljava/lang/String;
30 40 11 family Ljava/lang/String;
31 40 12 familyLC Ljava/lang/String;
34 40 13 fonts Ljava/util/ArrayList<Ljava/lang/String;>;
private void resolveFontFiles(java.util.HashSet<java.lang.String>, java.util.ArrayList<java.lang.String>);
descriptor: (Ljava/util/HashSet;Ljava/util/ArrayList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.awt.SunToolkit.getStartupLocale:()Ljava/util/Locale;
astore 3
start local 3 1: aload 1
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 5
goto 22
StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: iconst_0
istore 6
start local 6 4: aload 0
aload 4
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 5: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 8
6: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
7: new java.lang.StringBuilder
dup
ldc "Trying to resolve file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
8: StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale java.lang.String java.util.Iterator int top java.lang.String
StackMap stack:
new sun.font.TrueTypeFont
dup
aload 8
aconst_null
iload 6
iinc 6 1
iconst_0
invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
astore 7
start local 7 9: aload 7
aload 3
invokevirtual sun.font.TrueTypeFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 9
start local 9 10: aload 2
aload 9
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifeq 18
11: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 9
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 2
aload 9
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
13: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 18
14: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
15: new java.lang.StringBuilder
dup
ldc "Resolved absent registry entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " located in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 9 18: StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale java.lang.String java.util.Iterator int sun.font.TrueTypeFont java.lang.String
StackMap stack:
iload 6
aload 7
invokevirtual sun.font.TrueTypeFont.getFontCount:()I
19: if_icmplt 8
end local 8 end local 7 end local 6 20: goto 22
StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale java.lang.String java.util.Iterator
StackMap stack: java.lang.Exception
21: pop
end local 4 22: StackMap locals: sun.font.SunFontManager java.util.HashSet java.util.ArrayList java.util.Locale top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/font/SunFontManager;
0 24 1 unmappedFiles Ljava/util/HashSet<Ljava/lang/String;>;
0 24 2 unmappedFonts Ljava/util/ArrayList<Ljava/lang/String;>;
1 24 3 l Ljava/util/Locale;
3 22 4 file Ljava/lang/String;
4 20 6 fn I
9 20 7 ttf Lsun/font/TrueTypeFont;
5 20 8 fullPath Ljava/lang/String;
10 18 9 fontName Ljava/lang/String;
Exception table:
from to target type
3 20 21 Class java.lang.Exception
Signature: (Ljava/util/HashSet<Ljava/lang/String;>;Ljava/util/ArrayList<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
unmappedFiles
unmappedFonts
public java.util.HashMap<java.lang.String, sun.font.SunFontManager$FamilyDescription> populateHardcodedFileNameMap();
descriptor: ()Ljava/util/HashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.HashMap
dup
iconst_0
invokespecial java.util.HashMap.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
Signature: ()Ljava/util/HashMap<Ljava/lang/String;Lsun/font/SunFontManager$FamilyDescription;>;
sun.font.Font2D findFontFromPlatformMap(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/font/Font2D;
flags: (0x0000)
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
ifnonnull 2
1: aload 0
invokevirtual sun.font.SunFontManager.populateHardcodedFileNameMap:()Ljava/util/HashMap;
putstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
2: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
ifnull 3
getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 4
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 5: aload 1
astore 4
start local 4 6: iload 3
ifle 8
7: aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
8: StackMap locals: int java.lang.String
StackMap stack:
getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
aload 4
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.SunFontManager$FamilyDescription
astore 5
start local 5 9: aload 5
ifnonnull 11
10: aconst_null
areturn
11: StackMap locals: sun.font.SunFontManager$FamilyDescription
StackMap stack:
iconst_m1
istore 6
start local 6 12: aload 1
aload 5
getfield sun.font.SunFontManager$FamilyDescription.plainFullName:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 15
13: iconst_0
istore 6
14: goto 23
StackMap locals: int
StackMap stack:
15: aload 1
aload 5
getfield sun.font.SunFontManager$FamilyDescription.boldFullName:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
16: iconst_1
istore 6
17: goto 23
StackMap locals:
StackMap stack:
18: aload 1
aload 5
getfield sun.font.SunFontManager$FamilyDescription.italicFullName:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 21
19: iconst_2
istore 6
20: goto 23
StackMap locals:
StackMap stack:
21: aload 1
aload 5
getfield sun.font.SunFontManager$FamilyDescription.boldItalicFullName:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 23
22: iconst_3
istore 6
23: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 25
aload 1
aload 5
getfield sun.font.SunFontManager$FamilyDescription.familyName:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 25
24: aconst_null
areturn
25: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 26: aconst_null
astore 8
start local 8 27: aconst_null
astore 9
start local 9 28: aconst_null
astore 10
start local 10 29: iconst_0
istore 11
start local 11 30: aload 0
getstatic sun.font.SunFontManager.noType1Font:Z
invokevirtual sun.font.SunFontManager.getPlatformFontDirs:(Z)[Ljava/lang/String;
pop
31: aload 5
getfield sun.font.SunFontManager$FamilyDescription.plainFileName:Ljava/lang/String;
ifnull 35
32: aload 0
aload 5
getfield sun.font.SunFontManager$FamilyDescription.plainFileName:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
astore 7
33: aload 7
ifnonnull 35
34: iconst_1
istore 11
35: StackMap locals: sun.font.SunFontManager java.lang.String int int java.lang.String sun.font.SunFontManager$FamilyDescription int java.lang.String java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 5
getfield sun.font.SunFontManager$FamilyDescription.boldFileName:Ljava/lang/String;
ifnull 39
36: aload 0
aload 5
getfield sun.font.SunFontManager$FamilyDescription.boldFileName:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
astore 8
37: aload 8
ifnonnull 39
38: iconst_1
istore 11
39: StackMap locals:
StackMap stack:
aload 5
getfield sun.font.SunFontManager$FamilyDescription.italicFileName:Ljava/lang/String;
ifnull 43
40: aload 0
aload 5
getfield sun.font.SunFontManager$FamilyDescription.italicFileName:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
astore 9
41: aload 9
ifnonnull 43
42: iconst_1
istore 11
43: StackMap locals:
StackMap stack:
aload 5
getfield sun.font.SunFontManager$FamilyDescription.boldItalicFileName:Ljava/lang/String;
ifnull 47
44: aload 0
aload 5
getfield sun.font.SunFontManager$FamilyDescription.boldItalicFileName:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
astore 10
45: aload 10
ifnonnull 47
46: iconst_1
istore 11
47: StackMap locals:
StackMap stack:
iload 11
ifeq 53
48: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 51
49: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
50: new java.lang.StringBuilder
dup
ldc "Hardcoded file missing looking for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
aload 4
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
52: aconst_null
areturn
53: StackMap locals:
StackMap stack:
iconst_4
anewarray java.lang.String
dup
iconst_0
54: aload 7
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
aload 9
aastore
dup
iconst_3
aload 10
aastore
55: astore 12
start local 12 56: new sun.font.SunFontManager$5
dup
aload 0
aload 12
invokespecial sun.font.SunFontManager$5.<init>:(Lsun/font/SunFontManager;[Ljava/lang/String;)V
57: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 11
58: iload 11
ifeq 64
59: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 62
60: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
61: new java.lang.StringBuilder
dup
ldc "Hardcoded file missing looking for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
62: StackMap locals: java.lang.String[]
StackMap stack:
getstatic sun.font.SunFontManager.platformFontMap:Ljava/util/HashMap;
aload 4
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
63: aconst_null
areturn
64: StackMap locals:
StackMap stack:
aconst_null
astore 13
start local 13 65: iconst_0
istore 14
start local 14 66: goto 76
67: StackMap locals: sun.font.Font2D int
StackMap stack:
aload 12
iload 14
aaload
ifnonnull 69
68: goto 75
69: StackMap locals:
StackMap stack:
aload 0
aload 12
iload 14
aaload
aconst_null
70: iconst_0
iconst_0
iconst_3
71: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
72: astore 15
start local 15 73: iload 14
iload 6
if_icmpne 75
74: aload 15
astore 13
end local 15 75: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
76: iload 14
aload 12
arraylength
if_icmplt 67
end local 14 77: aload 5
getfield sun.font.SunFontManager$FamilyDescription.familyName:Ljava/lang/String;
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 14
start local 14 78: aload 14
ifnull 89
79: aload 13
ifnonnull 84
80: aload 14
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 13
81: aload 13
ifnonnull 89
82: aload 14
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 13
83: goto 89
StackMap locals: sun.font.SunFontManager java.lang.String int int java.lang.String sun.font.SunFontManager$FamilyDescription int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] sun.font.Font2D sun.font.FontFamily
StackMap stack:
84: iload 2
ifle 89
iload 2
aload 13
getfield sun.font.Font2D.style:I
if_icmpeq 89
85: iload 2
aload 13
getfield sun.font.Font2D.style:I
ior
istore 2
86: aload 14
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 13
87: aload 13
ifnonnull 89
88: aload 14
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 13
89: StackMap locals:
StackMap stack:
aload 13
areturn
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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 90 0 this Lsun/font/SunFontManager;
0 90 1 lcName Ljava/lang/String;
0 90 2 style I
5 90 3 spaceIndex I
6 90 4 firstWord Ljava/lang/String;
9 90 5 fd Lsun/font/SunFontManager$FamilyDescription;
12 90 6 styleIndex I
26 90 7 plainFile Ljava/lang/String;
27 90 8 boldFile Ljava/lang/String;
28 90 9 italicFile Ljava/lang/String;
29 90 10 boldItalicFile Ljava/lang/String;
30 90 11 failure Z
56 90 12 files [Ljava/lang/String;
65 90 13 font Lsun/font/Font2D;
66 77 14 f I
73 75 15 pf Lsun/font/PhysicalFont;
78 90 14 fontFamily Lsun/font/FontFamily;
MethodParameters:
Name Flags
lcName
style
private synchronized java.util.HashMap<java.lang.String, java.lang.String> getFullNameToFileMap();
descriptor: ()Ljava/util/HashMap;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
ifnonnull 14
1: aload 0
aload 0
getstatic sun.font.SunFontManager.noType1Font:Z
invokevirtual sun.font.SunFontManager.getPlatformFontDirs:(Z)[Ljava/lang/String;
putfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
2: aload 0
new java.util.HashMap
dup
bipush 100
invokespecial java.util.HashMap.<init>:(I)V
putfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
3: aload 0
new java.util.HashMap
dup
bipush 100
invokespecial java.util.HashMap.<init>:(I)V
putfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
4: aload 0
new java.util.HashMap
dup
bipush 50
invokespecial java.util.HashMap.<init>:(I)V
putfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
5: aload 0
aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
6: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
7: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
8: getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
9: invokevirtual sun.font.SunFontManager.populateFontFileNameMap:(Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/Locale;)V
10: getstatic sun.font.FontUtilities.isWindows:Z
ifeq 12
11: aload 0
invokevirtual sun.font.SunFontManager.resolveWindowsFonts:()V
12: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 14
13: aload 0
invokevirtual sun.font.SunFontManager.logPlatformFontInfo:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/font/SunFontManager;
Signature: ()Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
private void logPlatformFontInfo();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: sun.util.logging.PlatformLogger int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "fontdir="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 6: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: sun.font.SunFontManager sun.util.logging.PlatformLogger top java.util.Iterator
StackMap stack:
7: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 8: aload 1
new java.lang.StringBuilder
dup
ldc "font="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " file="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals:
StackMap stack:
11: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 12: aload 1
new java.lang.StringBuilder
dup
ldc "font="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " family="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 2 15: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
16: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 21
StackMap locals:
StackMap stack:
17: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 18: aload 1
new java.lang.StringBuilder
dup
ldc "family="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " fonts="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 2 21: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/font/SunFontManager;
1 23 1 logger Lsun/util/logging/PlatformLogger;
2 6 2 i I
8 9 2 keyName Ljava/lang/String;
12 15 2 keyName Ljava/lang/String;
18 21 2 keyName Ljava/lang/String;
protected java.lang.String[] getFontNamesFromPlatform();
descriptor: ()[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.checkForUnreferencedFontFiles:()V
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 4: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 2
start local 2 6: aload 2
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: sun.font.SunFontManager java.util.ArrayList java.util.ArrayList java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 8: aload 1
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 2 10: StackMap locals: sun.font.SunFontManager java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: aload 1
getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/font/SunFontManager;
4 12 1 fontNames Ljava/util/ArrayList<Ljava/lang/String;>;
6 10 2 a Ljava/util/ArrayList<Ljava/lang/String;>;
8 9 4 s Ljava/lang/String;
public boolean gotFontsFromPlatform();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
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 Lsun/font/SunFontManager;
public java.lang.String getFileNameForFontName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/SunFontManager;
0 2 1 fontName Ljava/lang/String;
1 2 2 fontNameLC Ljava/lang/String;
MethodParameters:
Name Flags
fontName
private sun.font.PhysicalFont registerFontFile(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/font/PhysicalFont;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isAbsolute:()Z
ifeq 14
1: aload 0
getfield sun.font.SunFontManager.registeredFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
ifne 14
2: iconst_m1
istore 2
start local 2 3: bipush 6
istore 3
start local 3 4: getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
aconst_null
aload 1
invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
ifeq 8
5: iconst_0
istore 2
6: iconst_3
istore 3
7: goto 11
8: StackMap locals: int int
StackMap stack:
getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
aconst_null
aload 1
invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
ifeq 11
9: iconst_1
istore 2
10: iconst_4
istore 3
11: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 13
12: aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aconst_null
iload 2
iconst_0
iload 3
invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
areturn
end local 3 end local 2 14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/font/SunFontManager;
0 15 1 file Ljava/lang/String;
3 14 2 fontFormat I
4 14 3 fontRank I
MethodParameters:
Name Flags
file
protected void registerOtherFontFiles(java.util.HashSet<java.lang.String>);
descriptor: (Ljava/util/HashSet;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: sun.font.SunFontManager java.util.HashSet top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 4: aload 0
aload 2
invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;)Lsun/font/PhysicalFont;
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/SunFontManager;
0 7 1 registeredFontFiles Ljava/util/HashSet<Ljava/lang/String;>;
4 5 2 file Ljava/lang/String;
Signature: (Ljava/util/HashSet<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
registeredFontFiles
public boolean getFamilyNamesFromPlatform(java.util.TreeMap<java.lang.String, java.lang.String>, java.util.Locale);
descriptor: (Ljava/util/TreeMap;Ljava/util/Locale;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.checkForUnreferencedFontFiles:()V
3: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: sun.font.SunFontManager java.util.TreeMap java.util.Locale top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 5: aload 1
aload 3
aload 2
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 3
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/font/SunFontManager;
0 8 1 familyNames Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
0 8 2 requestedLocale Ljava/util/Locale;
5 6 3 name Ljava/lang/String;
Signature: (Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Locale;)Z
MethodParameters:
Name Flags
familyNames
requestedLocale
private java.lang.String getPathName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
invokevirtual java.io.File.isAbsolute:()Z
ifeq 3
2: aload 1
areturn
3: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
arraylength
iconst_1
if_icmpne 5
4: new java.lang.StringBuilder
dup
aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
iconst_0
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
new sun.font.SunFontManager$6
dup
aload 0
aload 1
invokespecial sun.font.SunFontManager$6.<init>:(Lsun/font/SunFontManager;Ljava/lang/String;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 3
ifnull 9
8: aload 3
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/SunFontManager;
0 10 1 s Ljava/lang/String;
1 10 2 f Ljava/io/File;
7 9 3 path Ljava/lang/String;
MethodParameters:
Name Flags
s final
private sun.font.Font2D findFontFromPlatform(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/font/Font2D;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.font.SunFontManager.getFullNameToFileMap:()Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 5: aload 5
ifnull 11
6: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
7: aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
8: aload 5
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
9: invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 3
10: goto 16
11: StackMap locals: java.util.ArrayList java.lang.String java.lang.String
StackMap stack:
aload 0
getfield sun.font.SunFontManager.familyToFontListMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 3
12: aload 3
ifnull 16
aload 3
invokevirtual java.util.ArrayList.size:()I
ifle 16
13: aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 6
start local 6 14: aload 6
ifnull 16
15: aload 0
getfield sun.font.SunFontManager.fontToFamilyNameMap:Ljava/util/HashMap;
aload 6
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
end local 6 16: StackMap locals:
StackMap stack:
aload 3
ifnull 17
aload 5
ifnonnull 18
17: StackMap locals:
StackMap stack:
aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 3
getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 6
start local 6 19: aload 6
arraylength
ifne 21
20: aconst_null
areturn
21: StackMap locals: java.lang.String[]
StackMap stack:
iconst_0
istore 7
start local 7 22: goto 33
23: StackMap locals: int
StackMap stack:
aload 6
iload 7
aaload
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 8
start local 8 24: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 8
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 25: aload 9
ifnonnull 32
26: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 31
27: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
28: new java.lang.StringBuilder
dup
ldc "Platform lookup : No file for font "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: aload 6
iload 7
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in family "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
31: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aconst_null
areturn
end local 9 end local 8 32: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
33: iload 7
aload 6
arraylength
if_icmplt 23
end local 7 34: aconst_null
astore 7
start local 7 35: aload 4
ifnull 40
36: aload 0
aload 0
aload 4
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
aconst_null
37: iconst_0
iconst_0
38: iconst_3
39: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
astore 7
40: StackMap locals: sun.font.SunFontManager java.lang.String int java.util.ArrayList java.lang.String java.lang.String java.lang.String[] sun.font.PhysicalFont
StackMap stack:
iconst_0
istore 8
start local 8 41: goto 50
42: StackMap locals: int
StackMap stack:
aload 6
iload 8
aaload
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 9
start local 9 43: aload 0
getfield sun.font.SunFontManager.fontToFileMap:Ljava/util/HashMap;
aload 9
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 44: aload 4
ifnull 46
aload 4
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
45: goto 49
46: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 0
aload 10
invokevirtual sun.font.SunFontManager.getPathName:(Ljava/lang/String;)Ljava/lang/String;
aconst_null
47: iconst_0
iconst_0
iconst_3
48: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
pop
end local 10 end local 9 49: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
50: iload 8
aload 6
arraylength
if_icmplt 42
end local 8 51: aconst_null
astore 8
start local 8 52: aload 5
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 9
start local 9 53: aload 7
ifnull 55
54: iload 2
aload 7
getfield sun.font.PhysicalFont.style:I
ior
istore 2
55: StackMap locals: sun.font.SunFontManager java.lang.String int java.util.ArrayList java.lang.String java.lang.String java.lang.String[] sun.font.PhysicalFont sun.font.Font2D sun.font.FontFamily
StackMap stack:
aload 9
ifnull 59
56: aload 9
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 8
57: aload 8
ifnonnull 59
58: aload 9
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 8
59: StackMap locals:
StackMap stack:
aload 8
areturn
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 60 0 this Lsun/font/SunFontManager;
0 60 1 lcName Ljava/lang/String;
0 60 2 style I
3 60 3 family Ljava/util/ArrayList<Ljava/lang/String;>;
4 60 4 fontFile Ljava/lang/String;
5 60 5 familyName Ljava/lang/String;
14 16 6 lcFontName Ljava/lang/String;
19 60 6 fontList [Ljava/lang/String;
22 34 7 f I
24 32 8 fontNameLC Ljava/lang/String;
25 32 9 fileName Ljava/lang/String;
35 60 7 physicalFont Lsun/font/PhysicalFont;
41 51 8 f I
43 49 9 fontNameLC Ljava/lang/String;
44 49 10 fileName Ljava/lang/String;
52 60 8 font Lsun/font/Font2D;
53 60 9 fontFamily Lsun/font/FontFamily;
MethodParameters:
Name Flags
lcName
style
public sun.font.Font2D findFont2D(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Lsun/font/Font2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 4
start local 4 1: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokestatic sun.font.SunFontManager.dotStyleStr:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 2: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2D
astore 6
start local 6 3: aload 6
ifnull 5
4: aload 6
areturn
5: StackMap locals: java.lang.String java.lang.String sun.font.Font2D
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 7
6: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Search for font: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
getstatic sun.font.FontUtilities.isWindows:Z
ifeq 13
8: aload 4
ldc "ms sans serif"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: ldc "sansserif"
astore 1
10: goto 13
StackMap locals:
StackMap stack:
11: aload 4
ldc "ms serif"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: ldc "serif"
astore 1
13: StackMap locals:
StackMap stack:
aload 4
ldc "default"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: ldc "dialog"
astore 1
15: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 7
start local 7 16: aload 7
ifnull 29
17: aload 7
iload 2
invokevirtual sun.font.FontFamily.getFontWithExactStyleMatch:(I)Lsun/font/Font2D;
astore 6
18: aload 6
ifnonnull 20
19: aload 0
aload 1
iload 2
invokevirtual sun.font.SunFontManager.findDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
astore 6
20: StackMap locals: sun.font.FontFamily
StackMap stack:
aload 6
ifnonnull 22
21: aload 0
aload 4
iload 2
invokevirtual sun.font.SunFontManager.findFontFromPlatform:(Ljava/lang/String;I)Lsun/font/Font2D;
astore 6
22: StackMap locals:
StackMap stack:
aload 6
ifnonnull 24
23: aload 7
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 6
24: StackMap locals:
StackMap stack:
aload 6
ifnonnull 26
25: aload 7
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 6
26: StackMap locals:
StackMap stack:
aload 6
ifnull 29
27: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 6
areturn
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
aload 4
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2D
astore 6
30: aload 6
ifnull 45
31: aload 6
getfield sun.font.Font2D.style:I
iload 2
if_icmpeq 32
iload 2
ifne 34
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: aload 6
areturn
34: StackMap locals:
StackMap stack:
aload 6
aconst_null
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 7
35: aload 7
ifnull 45
36: aload 7
iload 2
aload 6
getfield sun.font.Font2D.style:I
ior
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 8
start local 8 37: aload 8
ifnull 40
38: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 8
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
39: aload 8
areturn
40: StackMap locals: sun.font.Font2D
StackMap stack:
aload 7
iload 2
aload 6
getfield sun.font.Font2D.style:I
ior
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 8
41: aload 8
ifnull 45
42: aload 8
iload 2
aload 6
getfield sun.font.Font2D.style:I
ior
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifeq 45
43: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 8
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
44: aload 8
areturn
end local 8 45: StackMap locals:
StackMap stack:
getstatic sun.font.FontUtilities.isWindows:Z
ifeq 68
46: aload 0
aload 4
iload 2
invokevirtual sun.font.SunFontManager.findFontFromPlatformMap:(Ljava/lang/String;I)Lsun/font/Font2D;
astore 6
47: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 50
48: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
49: new java.lang.StringBuilder
dup
ldc "findFontFromPlatformMap returned "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
50: StackMap locals:
StackMap stack:
aload 6
ifnull 53
51: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
52: aload 6
areturn
53: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
ifle 58
54: aload 0
aload 4
iload 2
invokevirtual sun.font.SunFontManager.findJREDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
astore 6
55: aload 6
ifnull 58
56: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
57: aload 6
areturn
58: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 2
invokevirtual sun.font.SunFontManager.findFontFromPlatform:(Ljava/lang/String;I)Lsun/font/Font2D;
astore 6
59: aload 6
ifnull 68
60: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 66
61: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
62: new java.lang.StringBuilder
dup
ldc "Found font via platform API for request:\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\":, style="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
64: ldc " found font: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
65: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
66: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
67: aload 6
areturn
68: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.deferredFontFiles:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
ifle 73
69: aload 0
aload 1
iload 2
invokevirtual sun.font.SunFontManager.findDeferredFont:(Ljava/lang/String;I)Lsun/font/PhysicalFont;
astore 6
70: aload 6
ifnull 73
71: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
72: aload 6
areturn
73: StackMap locals:
StackMap stack:
getstatic sun.font.FontUtilities.isSolaris:Z
ifeq 81
aload 0
getfield sun.font.SunFontManager.loaded1dot0Fonts:Z
ifne 81
74: aload 4
ldc "timesroman"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 77
75: aload 0
ldc "serif"
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 6
76: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
77: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.register1dot0Fonts:()V
78: aload 0
iconst_1
putfield sun.font.SunFontManager.loaded1dot0Fonts:Z
79: aload 0
aload 1
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 8
start local 8 80: aload 8
areturn
end local 8 81: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontsAreRegistered:Z
ifeq 100
82: aload 0
getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
astore 8
start local 8 83: aload 0
getfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
astore 9
start local 9 84: aload 8
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.FontFamily
astore 7
85: aload 7
ifnull 95
86: aload 7
iload 2
invokevirtual sun.font.FontFamily.getFontWithExactStyleMatch:(I)Lsun/font/Font2D;
astore 6
87: aload 6
ifnonnull 89
88: aload 7
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 6
89: StackMap locals: java.util.Hashtable java.util.Hashtable
StackMap stack:
aload 6
ifnonnull 91
90: aload 7
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 6
91: StackMap locals:
StackMap stack:
aload 6
ifnull 95
92: aload 0
getfield sun.font.SunFontManager.fontsAreRegistered:Z
ifeq 94
93: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
94: StackMap locals:
StackMap stack:
aload 6
areturn
95: StackMap locals:
StackMap stack:
aload 9
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2D
astore 6
96: aload 6
ifnull 100
97: aload 0
getfield sun.font.SunFontManager.fontsAreRegistered:Z
ifeq 99
98: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
99: StackMap locals:
StackMap stack:
aload 6
areturn
end local 9 end local 8 100: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.loadedAllFonts:Z
ifne 107
101: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 104
102: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
103: new java.lang.StringBuilder
dup
ldc "Load fonts looking for:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
104: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.loadFonts:()V
105: aload 0
iconst_1
putfield sun.font.SunFontManager.loadedAllFonts:Z
106: aload 0
aload 1
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
areturn
107: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.loadedAllFontFiles:Z
ifne 114
108: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 111
109: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
110: new java.lang.StringBuilder
dup
ldc "Load font files looking for:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
111: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.loadFontFiles:()V
112: aload 0
iconst_1
putfield sun.font.SunFontManager.loadedAllFontFiles:Z
113: aload 0
aload 1
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
areturn
114: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual sun.font.SunFontManager.findFont2DAllLocales:(Ljava/lang/String;I)Lsun/font/Font2D;
dup
astore 6
ifnull 117
115: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
116: aload 6
areturn
117: StackMap locals:
StackMap stack:
getstatic sun.font.FontUtilities.isWindows:Z
ifeq 124
118: aload 0
invokevirtual sun.font.SunFontManager.getFontConfiguration:()Lsun/awt/FontConfiguration;
aload 1
aconst_null
invokevirtual sun.awt.FontConfiguration.getFallbackFamilyName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
119: astore 8
start local 8 120: aload 8
ifnull 136
121: aload 0
aload 8
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 6
122: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
123: aload 6
areturn
end local 8 124: StackMap locals:
StackMap stack:
aload 4
ldc "timesroman"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 128
125: aload 0
ldc "serif"
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 6
126: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
127: aload 6
areturn
128: StackMap locals:
StackMap stack:
aload 4
ldc "helvetica"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 132
129: aload 0
ldc "sansserif"
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 6
130: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
131: aload 6
areturn
132: StackMap locals:
StackMap stack:
aload 4
ldc "courier"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 136
133: aload 0
ldc "monospaced"
iload 2
iload 3
invokevirtual sun.font.SunFontManager.findFont2D:(Ljava/lang/String;II)Lsun/font/Font2D;
astore 6
134: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
135: aload 6
areturn
136: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 138
137: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "No font found for:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
138: StackMap locals:
StackMap stack:
iload 3
tableswitch { // 1 - 2
1: 139
2: 140
default: 141
}
139: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
areturn
140: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual sun.font.SunFontManager.getDefaultLogicalFont:(I)Lsun/font/Font2D;
areturn
141: StackMap locals:
StackMap stack:
aconst_null
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 142 0 this Lsun/font/SunFontManager;
0 142 1 name Ljava/lang/String;
0 142 2 style I
0 142 3 fallback I
1 142 4 lowerCaseName Ljava/lang/String;
2 142 5 mapName Ljava/lang/String;
3 142 6 font Lsun/font/Font2D;
16 142 7 family Lsun/font/FontFamily;
37 45 8 familyFont Lsun/font/Font2D;
80 81 8 ff Lsun/font/Font2D;
83 100 8 familyTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
84 100 9 nameTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
120 124 8 compatName Ljava/lang/String;
MethodParameters:
Name Flags
name
style
fallback
public boolean usePlatformFontMetrics();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.usePlatformFontMetrics:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public int getNumFonts();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
aload 0
getfield sun.font.SunFontManager.maxCompFont:I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
private static boolean fontSupportsEncoding(java.awt.Font, java.lang.String);
descriptor: (Ljava/awt/Font;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
aload 1
invokevirtual sun.font.Font2D.supportsEncoding:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 font Ljava/awt/Font;
0 1 1 encoding Ljava/lang/String;
MethodParameters:
Name Flags
font
encoding
protected abstract java.lang.String getFontPath(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
noType1Fonts
public sun.font.Font2D[] createFont2D(java.io.File, int, boolean, boolean, sun.font.CreatedFontTracker);
descriptor: (Ljava/io/File;IZZLsun/font/CreatedFontTracker;)[Lsun/font/Font2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 1: iconst_1
istore 7
start local 7 2: aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
astore 8
start local 8 3: aconst_null
astore 9
start local 9 4: aload 1
astore 10
start local 10 5: aload 5
astore 11
start local 11 6: iconst_0
istore 12
start local 12 7: iconst_0
istore 13
start local 13 8: aload 0
dup
astore 14
monitorenter
9: aload 0
getfield sun.font.SunFontManager.createdFontCount:I
getstatic sun.font.SunFontManager.maxSoftRefCnt:I
if_icmpge 12
10: aload 0
dup
getfield sun.font.SunFontManager.createdFontCount:I
iconst_1
iadd
putfield sun.font.SunFontManager.createdFontCount:I
11: goto 14
12: StackMap locals: sun.font.SunFontManager java.io.File int int int sun.font.CreatedFontTracker java.util.List int java.lang.String sun.font.FileFont java.io.File sun.font.CreatedFontTracker int int sun.font.SunFontManager
StackMap stack:
iconst_1
istore 12
13: bipush 10
istore 13
14: StackMap locals:
StackMap stack:
aload 14
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 14
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
iload 2
tableswitch { // 0 - 1
0: 19
1: 32
default: 36
}
19: StackMap locals:
StackMap stack:
new sun.font.TrueTypeFont
dup
aload 8
aconst_null
iconst_0
iconst_1
invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
astore 9
20: aload 9
iload 12
iload 13
invokevirtual sun.font.FileFont.setUseWeakRefs:(ZI)V
21: aload 6
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: iload 3
ifne 24
23: goto 42
24: StackMap locals:
StackMap stack:
aload 9
checkcast sun.font.TrueTypeFont
invokevirtual sun.font.TrueTypeFont.getFontCount:()I
istore 7
25: iconst_1
istore 14
start local 14 26: goto 30
27: StackMap locals: int
StackMap stack:
new sun.font.TrueTypeFont
dup
aload 8
aconst_null
iload 14
iinc 14 1
iconst_1
invokespecial sun.font.TrueTypeFont.<init>:(Ljava/lang/String;Ljava/lang/Object;IZ)V
astore 9
28: aload 9
iload 12
iload 13
invokevirtual sun.font.FileFont.setUseWeakRefs:(ZI)V
29: aload 6
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: StackMap locals:
StackMap stack:
iload 14
iload 7
if_icmplt 27
31: goto 42
end local 14 32: StackMap locals:
StackMap stack:
new sun.font.Type1Font
dup
aload 8
aconst_null
iload 4
invokespecial sun.font.Type1Font.<init>:(Ljava/lang/String;Ljava/lang/Object;Z)V
astore 9
33: aload 9
iload 12
iload 13
invokevirtual sun.font.FileFont.setUseWeakRefs:(ZI)V
34: aload 6
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: goto 42
36: StackMap locals:
StackMap stack:
new java.awt.FontFormatException
dup
ldc "Unrecognised Font Format"
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack: java.awt.FontFormatException
astore 14
start local 14 38: iload 4
ifeq 41
39: new sun.font.SunFontManager$7
dup
aload 0
aload 11
aload 10
invokespecial sun.font.SunFontManager$7.<init>:(Lsun/font/SunFontManager;Lsun/font/CreatedFontTracker;Ljava/io/File;)V
40: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
41: StackMap locals: java.awt.FontFormatException
StackMap stack:
aload 14
athrow
end local 14 42: StackMap locals:
StackMap stack:
iload 4
ifeq 55
43: aload 6
aload 1
iload 7
aload 5
invokestatic sun.font.FileFont.setFileToRemove:(Ljava/util/List;Ljava/io/File;ILsun/font/CreatedFontTracker;)V
44: ldc Lsun/font/FontManager;
dup
astore 14
monitorenter
45: aload 0
getfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
ifnonnull 47
46: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
47: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield sun.font.SunFontManager.tmpFontFiles:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
48: aload 0
getfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
ifnonnull 51
49: new sun.font.SunFontManager$8
dup
aload 0
invokespecial sun.font.SunFontManager$8.<init>:(Lsun/font/SunFontManager;)V
astore 15
start local 15 50: aload 0
aload 15
invokedynamic run(Lsun/font/SunFontManager;Ljava/lang/Runnable;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/font/SunFontManager.lambda$1(Ljava/lang/Runnable;)Ljava/lang/Void; (7)
()Ljava/lang/Void;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 15 51: StackMap locals:
StackMap stack:
aload 14
monitorexit
52: goto 55
StackMap locals:
StackMap stack: java.lang.Throwable
53: aload 14
monitorexit
54: athrow
55: StackMap locals:
StackMap stack:
aload 6
iconst_0
anewarray sun.font.Font2D
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.font.Font2D[]
areturn
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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lsun/font/SunFontManager;
0 56 1 fontFile Ljava/io/File;
0 56 2 fontFormat I
0 56 3 all Z
0 56 4 isCopy Z
0 56 5 tracker Lsun/font/CreatedFontTracker;
1 56 6 fList Ljava/util/List<Lsun/font/Font2D;>;
2 56 7 cnt I
3 56 8 fontFilePath Ljava/lang/String;
4 56 9 font2D Lsun/font/FileFont;
5 56 10 fFile Ljava/io/File;
6 56 11 _tracker Lsun/font/CreatedFontTracker;
7 56 12 weakRefs Z
8 56 13 maxStrikes I
26 32 14 index I
38 42 14 e Ljava/awt/FontFormatException;
50 51 15 fileCloserRunnable Ljava/lang/Runnable;
Exception table:
from to target type
9 15 16 any
16 17 16 any
18 37 37 Class java.awt.FontFormatException
45 52 53 any
53 54 53 any
Exceptions:
throws java.awt.FontFormatException
MethodParameters:
Name Flags
fontFile
fontFormat
all
isCopy
tracker
public synchronized java.lang.String getFullNameByFileName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: sun.font.PhysicalFont[] int
StackMap stack:
aload 2
iload 3
aaload
getfield sun.font.PhysicalFont.platName:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 2
iload 3
aaload
aconst_null
invokevirtual sun.font.PhysicalFont.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/font/SunFontManager;
0 8 1 fileName Ljava/lang/String;
1 8 2 physFonts [Lsun/font/PhysicalFont;
2 7 3 i I
MethodParameters:
Name Flags
fileName
public synchronized void deRegisterBadFont(sun.font.Font2D);
descriptor: (Lsun/font/Font2D;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof sun.font.PhysicalFont
ifne 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 5
3: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
4: new java.lang.StringBuilder
dup
ldc "Deregister bad font: "
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;
invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast sun.font.PhysicalFont
aload 0
invokevirtual sun.font.SunFontManager.getDefaultPhysicalFont:()Lsun/font/PhysicalFont;
invokevirtual sun.font.SunFontManager.replaceFont:(Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/SunFontManager;
0 7 1 font2D Lsun/font/Font2D;
MethodParameters:
Name Flags
font2D
public synchronized void replaceFont(sun.font.PhysicalFont, sun.font.PhysicalFont);
descriptor: (Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.font.PhysicalFont.handle:Lsun/font/Font2DHandle;
getfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
aload 1
if_acmpeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 19
3: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 6
4: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
5: new java.lang.StringBuilder
dup
ldc "Can't replace bad font with itself "
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;
invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
astore 3
start local 3 7: iconst_0
istore 4
start local 4 8: goto 13
9: StackMap locals: sun.font.PhysicalFont[] int
StackMap stack:
aload 3
iload 4
aaload
aload 2
if_acmpeq 12
10: aload 3
iload 4
aaload
astore 2
11: goto 14
12: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 3
arraylength
if_icmplt 9
end local 4 14: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 19
15: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 18
16: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
17: ldc "This is bad. No good physicalFonts found."
invokevirtual sun.util.logging.PlatformLogger.severe:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
return
end local 3 19: StackMap locals:
StackMap stack:
aload 1
getfield sun.font.PhysicalFont.handle:Lsun/font/Font2DHandle;
aload 2
putfield sun.font.Font2DHandle.font2D:Lsun/font/Font2D;
20: aload 0
getfield sun.font.SunFontManager.physicalFonts:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 0
getfield sun.font.SunFontManager.fullNameToFont:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getfield sun.font.PhysicalFont.fullName:Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 1
invokestatic sun.font.FontFamily.remove:(Lsun/font/Font2D;)V
23: aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
ifnull 37
24: aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
25: iconst_0
anewarray java.util.Map$Entry
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.util.Map$Entry[]
26: astore 3
start local 3 27: iconst_0
istore 4
start local 4 28: goto 36
29: StackMap locals: java.util.Map$Entry[] int
StackMap stack:
aload 3
iload 4
aaload
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 1
if_acmpne 35
30: aload 3
iload 4
aaload
astore 5
start local 5 31: aload 5
aload 2
invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 32: goto 35
StackMap locals:
StackMap stack: java.lang.Exception
33: pop
34: aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
aload 3
iload 4
aaload
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
35: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
36: iload 4
aload 3
arraylength
if_icmplt 29
end local 4 end local 3 37: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 38: goto 42
39: StackMap locals: int
StackMap stack:
aload 2
invokevirtual sun.font.PhysicalFont.getRank:()I
iconst_2
if_icmple 41
40: aload 0
getfield sun.font.SunFontManager.compFonts:[Lsun/font/CompositeFont;
iload 3
aaload
aload 1
aload 2
invokevirtual sun.font.CompositeFont.replaceComponentFont:(Lsun/font/PhysicalFont;Lsun/font/PhysicalFont;)V
41: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
42: iload 3
aload 0
getfield sun.font.SunFontManager.maxCompFont:I
if_icmplt 39
end local 3 43: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/font/SunFontManager;
0 44 1 oldFont Lsun/font/PhysicalFont;
0 44 2 newFont Lsun/font/PhysicalFont;
7 19 3 physFonts [Lsun/font/PhysicalFont;
8 14 4 i I
27 37 3 mapEntries [Ljava/util/Map$Entry;
28 37 4 i I
31 32 5 tmp Ljava/util/Map$Entry<Ljava/lang/String;Lsun/font/PhysicalFont;>;
38 43 3 i I
Exception table:
from to target type
30 32 33 Class java.lang.Exception
MethodParameters:
Name Flags
oldFont
newFont
private synchronized void loadLocaleNames();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
3: aload 0
invokevirtual sun.font.SunFontManager.getRegisteredFonts:()[Lsun/font/Font2D;
astore 1
start local 1 4: iconst_0
istore 2
start local 2 5: goto 18
6: StackMap locals: sun.font.Font2D[] int
StackMap stack:
aload 1
iload 2
aaload
instanceof sun.font.TrueTypeFont
ifeq 17
7: aload 1
iload 2
aaload
checkcast sun.font.TrueTypeFont
astore 3
start local 3 8: aload 3
invokevirtual sun.font.TrueTypeFont.getAllFullNames:()[Ljava/lang/String;
astore 4
start local 4 9: iconst_0
istore 5
start local 5 10: goto 13
11: StackMap locals: sun.font.TrueTypeFont java.lang.String[] int
StackMap stack:
aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
aload 4
iload 5
aaload
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
aload 4
arraylength
if_icmplt 11
end local 5 14: aload 3
getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 5
start local 5 15: aload 5
ifnull 17
16: aload 5
aload 3
invokevirtual sun.font.TrueTypeFont.getAllFamilyNames:()[Ljava/lang/String;
invokestatic sun.font.FontFamily.addLocaleNames:(Lsun/font/FontFamily;[Ljava/lang/String;)V
end local 5 end local 4 end local 3 17: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
18: iload 2
aload 1
arraylength
if_icmplt 6
end local 2 19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/font/SunFontManager;
4 20 1 fonts [Lsun/font/Font2D;
5 19 2 i I
8 17 3 ttf Lsun/font/TrueTypeFont;
9 17 4 fullNames [Ljava/lang/String;
10 14 5 n I
15 17 5 family Lsun/font/FontFamily;
private sun.font.Font2D findFont2DAllLocales(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/font/Font2D;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 3
1: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
2: new java.lang.StringBuilder
dup
ldc "Searching localised font names for:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
ifnonnull 5
4: aload 0
invokevirtual sun.font.SunFontManager.loadLocaleNames:()V
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 3
start local 3 6: aconst_null
astore 4
start local 4 7: aload 3
invokestatic sun.font.FontFamily.getLocaleFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 5
start local 5 8: aload 5
ifnull 14
9: aload 5
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 4
10: aload 4
ifnonnull 12
11: aload 5
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 4
12: StackMap locals: java.lang.String sun.font.Font2D sun.font.FontFamily
StackMap stack:
aload 4
ifnull 14
13: aload 4
areturn
14: StackMap locals:
StackMap stack:
aload 0
dup
astore 6
monitorenter
15: aload 0
getfield sun.font.SunFontManager.localeFullNamesToFont:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2D
astore 4
16: aload 6
monitorexit
17: goto 20
StackMap locals: sun.font.SunFontManager java.lang.String int java.lang.String sun.font.Font2D sun.font.FontFamily sun.font.SunFontManager
StackMap stack: java.lang.Throwable
18: aload 6
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 4
ifnull 33
21: aload 4
getfield sun.font.Font2D.style:I
iload 2
if_icmpeq 22
iload 2
ifne 23
22: StackMap locals:
StackMap stack:
aload 4
areturn
23: StackMap locals:
StackMap stack:
aload 4
aconst_null
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic sun.font.FontFamily.getFamily:(Ljava/lang/String;)Lsun/font/FontFamily;
astore 5
24: aload 5
ifnull 33
25: aload 5
iload 2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 6
start local 6 26: aload 6
ifnull 28
27: aload 6
areturn
28: StackMap locals: sun.font.Font2D
StackMap stack:
aload 5
iload 2
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 6
29: aload 6
ifnull 33
30: aload 6
iload 2
invokevirtual sun.font.Font2D.canDoStyle:(I)Z
ifne 32
31: aconst_null
astore 6
32: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 33: StackMap locals:
StackMap stack:
aload 4
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 34 0 this Lsun/font/SunFontManager;
0 34 1 name Ljava/lang/String;
0 34 2 style I
6 34 3 lowerCaseName Ljava/lang/String;
7 34 4 font Lsun/font/Font2D;
8 34 5 family Lsun/font/FontFamily;
26 33 6 familyFont Lsun/font/Font2D;
Exception table:
from to target type
15 17 18 any
18 19 18 any
MethodParameters:
Name Flags
name
style
public boolean usingAlternateCompositeFonts();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager._usingAlternateComposites:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public synchronized void useAlternateFontforJALocales();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 3
1: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
2: ldc "Entered useAlternateFontforJALocales()."
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
getstatic sun.font.FontUtilities.isWindows:Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
iconst_1
putstatic sun.font.SunFontManager.gAltJAFont:Z
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/SunFontManager;
public boolean usingAlternateFontforJALocales();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.font.SunFontManager.gAltJAFont:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public synchronized void preferLocaleFonts();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 2
1: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
ldc "Entered preferLocaleFonts()."
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
invokestatic sun.awt.FontConfiguration.willReorderForStartupLocale:()Z
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.gLocalePref:Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.SunFontManager.gLocalePref:Z
7: aload 0
aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
getfield sun.font.SunFontManager.gLocalePref:Z
aload 0
getfield sun.font.SunFontManager.gPropPref:Z
invokevirtual sun.font.SunFontManager.createCompositeFonts:(Ljava/util/concurrent/ConcurrentHashMap;ZZ)V
8: aload 0
iconst_1
putfield sun.font.SunFontManager._usingAlternateComposites:Z
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/SunFontManager;
public synchronized void preferProportionalFonts();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 3
1: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
2: ldc "Entered preferProportionalFonts()."
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
invokestatic sun.awt.FontConfiguration.hasMonoToPropMap:()Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.gPropPref:Z
ifeq 7
6: return
7: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.SunFontManager.gPropPref:Z
8: aload 0
aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
getfield sun.font.SunFontManager.gLocalePref:Z
aload 0
getfield sun.font.SunFontManager.gPropPref:Z
invokevirtual sun.font.SunFontManager.createCompositeFonts:(Ljava/util/concurrent/ConcurrentHashMap;ZZ)V
9: aload 0
iconst_1
putfield sun.font.SunFontManager._usingAlternateComposites:Z
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/font/SunFontManager;
private static java.util.HashSet<java.lang.String> getInstalledNames();
descriptor: ()Ljava/util/HashSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=0
0: getstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
ifnonnull 18
1: invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
astore 0
start local 0 2: invokestatic sun.font.SunFontManager.getInstance:()Lsun/font/SunFontManager;
astore 1
start local 1 3: aload 1
aload 0
invokevirtual sun.font.SunFontManager.getInstalledFontFamilyNames:(Ljava/util/Locale;)[Ljava/lang/String;
4: astore 2
start local 2 5: aload 1
invokevirtual sun.font.SunFontManager.getAllInstalledFonts:()[Ljava/awt/Font;
astore 3
start local 3 6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: goto 11
9: StackMap locals: java.util.Locale sun.font.SunFontManager java.lang.String[] java.awt.Font[] java.util.HashSet int
StackMap stack:
aload 4
aload 2
iload 5
aaload
aload 0
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 2
arraylength
if_icmplt 9
end local 5 12: iconst_0
istore 5
start local 5 13: goto 16
14: StackMap locals:
StackMap stack:
aload 4
aload 3
iload 5
aaload
aload 0
invokevirtual java.awt.Font.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
aload 0
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 3
arraylength
if_icmplt 14
end local 5 17: aload 4
putstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
end local 4 end local 3 end local 2 end local 1 end local 0 18: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.installedNames:Ljava/util/HashSet;
areturn
LocalVariableTable:
Start End Slot Name Signature
2 18 0 l Ljava/util/Locale;
3 18 1 fontManager Lsun/font/SunFontManager;
5 18 2 installedFamilies [Ljava/lang/String;
6 18 3 installedFonts [Ljava/awt/Font;
7 18 4 names Ljava/util/HashSet<Ljava/lang/String;>;
8 12 5 i I
13 17 5 i I
Signature: ()Ljava/util/HashSet<Ljava/lang/String;>;
public boolean registerFont(java.awt.Font);
descriptor: (Ljava/awt/Font;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.regFamilyLock:Ljava/lang/Object;
dup
astore 2
monitorenter
3: aload 0
getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
ifnonnull 6
4: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
5: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
invokestatic sun.font.FontAccess.getFontAccess:()Lsun/font/FontAccess;
aload 1
invokevirtual sun.font.FontAccess.isCreatedFont:(Ljava/awt/Font;)Z
ifne 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
invokestatic sun.font.SunFontManager.getInstalledNames:()Ljava/util/HashSet;
astore 2
start local 2 13: invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
astore 3
start local 3 14: aload 1
aload 3
invokevirtual java.awt.Font.getFamily:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 4
start local 4 15: aload 1
aload 3
invokevirtual java.awt.Font.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 5
start local 5 16: aload 2
aload 4
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 17
aload 2
aload 5
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 18
17: StackMap locals: sun.font.SunFontManager java.awt.Font java.util.HashSet java.util.Locale java.lang.String java.lang.String
StackMap stack:
iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
astore 6
start local 6 19: aload 0
getfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
astore 7
start local 7 20: aload 0
iconst_1
putfield sun.font.SunFontManager.fontsAreRegistered:Z
21: aload 1
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 8
start local 8 22: aload 8
invokevirtual sun.font.Font2D.getStyle:()I
istore 9
start local 9 23: aload 6
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.FontFamily
astore 10
start local 10 24: aload 10
ifnonnull 27
25: new sun.font.FontFamily
dup
aload 1
aload 3
invokevirtual java.awt.Font.getFamily:(Ljava/util/Locale;)Ljava/lang/String;
invokespecial sun.font.FontFamily.<init>:(Ljava/lang/String;)V
astore 10
26: aload 6
aload 4
aload 10
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: StackMap locals: sun.font.SunFontManager java.awt.Font java.util.HashSet java.util.Locale java.lang.String java.lang.String java.util.Hashtable java.util.Hashtable sun.font.Font2D int sun.font.FontFamily
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontsAreRegistered:Z
ifeq 33
28: aload 0
aload 10
iconst_0
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
29: aload 0
aload 10
iconst_1
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
30: aload 0
aload 10
iconst_2
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
31: aload 0
aload 10
iconst_3
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
32: aload 0
aload 7
aload 5
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2D
invokevirtual sun.font.SunFontManager.removeFromCache:(Lsun/font/Font2D;)V
33: StackMap locals:
StackMap stack:
aload 10
aload 8
iload 9
invokevirtual sun.font.FontFamily.setFont:(Lsun/font/Font2D;I)V
34: aload 7
aload 5
aload 8
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: iconst_1
ireturn
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 this Lsun/font/SunFontManager;
0 36 1 font Ljava/awt/Font;
13 36 2 names Ljava/util/HashSet<Ljava/lang/String;>;
14 36 3 l Ljava/util/Locale;
15 36 4 familyName Ljava/lang/String;
16 36 5 fullName Ljava/lang/String;
19 36 6 familyTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
20 36 7 fullNameTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
22 36 8 font2D Lsun/font/Font2D;
23 36 9 style I
24 36 10 family Lsun/font/FontFamily;
Exception table:
from to target type
3 7 8 any
8 9 8 any
MethodParameters:
Name Flags
font
private void removeFromCache(sun.font.Font2D);
descriptor: (Lsun/font/Font2D;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
getstatic sun.font.SunFontManager.STR_ARRAY:[Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 8
5: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
iload 3
aaload
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 1
if_acmpne 7
6: aload 0
getfield sun.font.SunFontManager.fontNameCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
iload 3
aaload
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 5
end local 3 9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/SunFontManager;
0 10 1 font Lsun/font/Font2D;
3 10 2 keys [Ljava/lang/String;
4 9 3 k I
MethodParameters:
Name Flags
font
public java.util.TreeMap<java.lang.String, java.lang.String> getCreatedFontFamilyNames();
descriptor: ()Ljava/util/TreeMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.fontsAreRegistered:Z
ifeq 3
1: aload 0
getfield sun.font.SunFontManager.createdByFamilyName:Ljava/util/Hashtable;
astore 1
start local 1 2: goto 4
end local 1 3: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 1 4: StackMap locals: java.util.Hashtable
StackMap stack:
invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
astore 2
start local 2 5: aload 1
dup
astore 3
monitorenter
6: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 4
start local 4 7: aload 1
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.util.TreeMap top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.FontFamily
astore 5
start local 5 9: aload 5
iconst_0
invokevirtual sun.font.FontFamily.getFont:(I)Lsun/font/Font2D;
astore 7
start local 7 10: aload 7
ifnonnull 12
11: aload 5
iconst_0
invokevirtual sun.font.FontFamily.getClosestStyle:(I)Lsun/font/Font2D;
astore 7
12: StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.util.TreeMap sun.font.FontFamily java.util.Iterator sun.font.Font2D
StackMap stack:
aload 7
aload 2
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 8
start local 8 13: aload 4
aload 8
aload 2
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 8
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 5 14: StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.util.TreeMap top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
15: aload 4
aload 3
monitorexit
16: areturn
end local 4 17: StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable
StackMap stack: java.lang.Throwable
aload 3
monitorexit
18: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/font/SunFontManager;
2 3 1 familyTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
4 19 1 familyTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/FontFamily;>;
5 19 2 l Ljava/util/Locale;
7 17 4 map Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
9 14 5 f Lsun/font/FontFamily;
10 14 7 font2D Lsun/font/Font2D;
13 14 8 name Ljava/lang/String;
Exception table:
from to target type
6 16 17 any
17 18 17 any
Signature: ()Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
public java.awt.Font[] getCreatedFonts();
descriptor: ()[Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.fontsAreRegistered:Z
ifeq 3
1: aload 0
getfield sun.font.SunFontManager.createdByFullName:Ljava/util/Hashtable;
astore 1
start local 1 2: goto 4
end local 1 3: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 1 4: StackMap locals: java.util.Hashtable
StackMap stack:
invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
astore 2
start local 2 5: aload 1
dup
astore 3
monitorenter
6: aload 1
invokevirtual java.util.Hashtable.size:()I
anewarray java.awt.Font
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: aload 1
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable java.awt.Font[] int top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.Font2D
astore 6
start local 6 10: aload 4
iload 5
iinc 5 1
new java.awt.Font
dup
aload 6
aload 2
invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
iconst_0
iconst_1
invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
aastore
end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: aload 4
aload 3
monitorexit
13: areturn
end local 5 end local 4 14: StackMap locals: sun.font.SunFontManager java.util.Hashtable java.util.Locale java.util.Hashtable
StackMap stack: java.lang.Throwable
aload 3
monitorexit
15: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/font/SunFontManager;
2 3 1 nameTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
4 16 1 nameTable Ljava/util/Hashtable<Ljava/lang/String;Lsun/font/Font2D;>;
5 16 2 l Ljava/util/Locale;
7 14 4 fonts [Ljava/awt/Font;
8 14 5 i I
10 11 6 font2D Lsun/font/Font2D;
Exception table:
from to target type
6 13 14 any
14 15 14 any
protected java.lang.String[] getPlatformFontDirs(boolean);
descriptor: (Z)[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
ifnull 2
1: aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual sun.font.SunFontManager.getPlatformFontPath:(Z)Ljava/lang/String;
astore 2
start local 2 3: new java.util.StringTokenizer
dup
aload 2
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
4: astore 3
start local 3 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 6: goto 8
7: StackMap locals: java.lang.String java.util.StringTokenizer java.util.ArrayList
StackMap stack:
aload 4
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
9: goto 11
StackMap locals:
StackMap stack: java.util.NoSuchElementException
10: pop
11: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_0
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
12: aload 0
getfield sun.font.SunFontManager.pathDirs:[Ljava/lang/String;
areturn
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 Lsun/font/SunFontManager;
0 13 1 noType1Fonts Z
3 13 2 path Ljava/lang/String;
5 13 3 parser Ljava/util/StringTokenizer;
6 13 4 pathList Ljava/util/ArrayList<Ljava/lang/String;>;
Exception table:
from to target type
6 9 10 Class java.util.NoSuchElementException
MethodParameters:
Name Flags
noType1Fonts
protected abstract java.lang.String[] getDefaultPlatformFont();
descriptor: ()[Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
private void addDirFonts(java.lang.String, java.io.File, java.io.FilenameFilter, int, boolean, int, boolean, boolean);
descriptor: (Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=19, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 2
aload 3
invokevirtual java.io.File.list:(Ljava/io/FilenameFilter;)[Ljava/lang/String;
astore 9
start local 9 1: aload 9
ifnull 2
aload 9
arraylength
ifne 3
2: StackMap locals: java.lang.String[]
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 9
arraylength
anewarray java.lang.String
astore 10
start local 10 4: aload 9
arraylength
anewarray java.lang.String[]
astore 11
start local 11 5: iconst_0
istore 12
start local 12 6: iconst_0
istore 13
start local 13 7: goto 41
8: StackMap locals: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int int int java.lang.String[] java.lang.String[] java.lang.String[][] int int
StackMap stack:
new java.io.File
dup
aload 2
aload 9
iload 13
aaload
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 14
start local 14 9: aconst_null
astore 15
start local 15 10: iload 8
ifeq 14
11: aload 14
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 15
12: goto 14
StackMap locals: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int int int java.lang.String[] java.lang.String[] java.lang.String[][] int int java.io.File java.lang.String
StackMap stack: java.io.IOException
13: pop
14: StackMap locals:
StackMap stack:
aload 15
ifnonnull 16
15: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
iload 13
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
aload 15
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 18
17: goto 40
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.badFonts:Ljava/util/ArrayList;
ifnull 23
aload 0
getfield sun.font.SunFontManager.badFonts:Ljava/util/ArrayList;
aload 15
invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
ifeq 23
19: invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 40
20: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
21: new java.lang.StringBuilder
dup
ldc "skip bad font "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
22: goto 40
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
aload 15
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
24: invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 38
25: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
getstatic sun.util.logging.PlatformLogger$Level.INFO:Lsun/util/logging/PlatformLogger$Level;
invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
ifeq 38
26: new java.lang.StringBuilder
dup
ldc "Registering font "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 16
start local 16 27: aload 0
aload 15
aconst_null
invokevirtual sun.font.SunFontManager.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 17
start local 17 28: aload 17
ifnonnull 31
29: new java.lang.StringBuilder
dup
aload 16
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " with no native name"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 16
30: goto 37
31: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
new java.lang.StringBuilder
dup
aload 16
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " with native name(s) "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 17
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 16
32: iconst_1
istore 18
start local 18 33: goto 36
34: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 16
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 17
iload 18
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 16
35: iinc 18 1
StackMap locals:
StackMap stack:
36: iload 18
aload 17
arraylength
if_icmplt 34
end local 18 37: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
aload 16
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 17 end local 16 38: StackMap locals:
StackMap stack:
aload 10
iload 12
aload 15
aastore
39: aload 11
iload 12
iinc 12 1
aload 0
aload 15
aconst_null
invokevirtual sun.font.SunFontManager.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
aastore
end local 15 end local 14 40: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
41: iload 13
aload 9
arraylength
if_icmplt 8
end local 13 42: aload 0
aload 10
aload 11
iload 12
iload 4
43: iload 5
iload 6
iload 7
44: invokevirtual sun.font.SunFontManager.registerFonts:([Ljava/lang/String;[[Ljava/lang/String;IIZIZ)V
45: return
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 46 0 this Lsun/font/SunFontManager;
0 46 1 dirName Ljava/lang/String;
0 46 2 dirFile Ljava/io/File;
0 46 3 filter Ljava/io/FilenameFilter;
0 46 4 fontFormat I
0 46 5 useJavaRasterizer Z
0 46 6 fontRank I
0 46 7 defer Z
0 46 8 resolveSymLinks Z
1 46 9 ls [Ljava/lang/String;
4 46 10 fontNames [Ljava/lang/String;
5 46 11 nativeNames [[Ljava/lang/String;
6 46 12 fontCount I
7 42 13 i I
9 40 14 theFile Ljava/io/File;
10 40 15 fullName Ljava/lang/String;
27 38 16 message Ljava/lang/String;
28 38 17 natNames [Ljava/lang/String;
33 37 18 nn I
Exception table:
from to target type
11 12 13 Class java.io.IOException
MethodParameters:
Name Flags
dirName
dirFile
filter
fontFormat
useJavaRasterizer
fontRank
defer
resolveSymLinks
protected java.lang.String[] getNativeNames(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 fontFileName Ljava/lang/String;
0 1 2 platformName Ljava/lang/String;
MethodParameters:
Name Flags
fontFileName
platformName
protected java.lang.String getFileNameFromPlatformName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
aload 1
invokevirtual sun.awt.FontConfiguration.getFileNameFromPlatformName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 platformFontName Ljava/lang/String;
MethodParameters:
Name Flags
platformFontName
public sun.awt.FontConfiguration getFontConfiguration();
descriptor: ()Lsun/awt/FontConfiguration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public java.lang.String getPlatformFontPath(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 0
iload 1
invokevirtual sun.font.SunFontManager.getFontPath:(Z)Ljava/lang/String;
putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/SunFontManager;
0 3 1 noType1Font Z
MethodParameters:
Name Flags
noType1Font
protected void loadFonts();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.discoveredAllFonts:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
3: invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 7
4: invokestatic java.lang.Thread.dumpStack:()V
5: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
6: ldc "SunGraphicsEnvironment.loadFonts() called"
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
7: StackMap locals: sun.font.SunFontManager
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.initialiseDeferredFonts:()V
8: new sun.font.SunFontManager$9
dup
aload 0
invokespecial sun.font.SunFontManager$9.<init>:(Lsun/font/SunFontManager;)V
9: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
10: aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/font/SunFontManager;
Exception table:
from to target type
3 11 12 any
12 13 12 any
protected void registerFontDirs(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 pathName Ljava/lang/String;
MethodParameters:
Name Flags
pathName
private void registerFontsOnPath(java.lang.String, boolean, int, boolean, boolean);
descriptor: (Ljava/lang/String;ZIZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, 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 java.util.StringTokenizer
dup
aload 1
1: getstatic java.io.File.pathSeparator:Ljava/lang/String;
2: invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 6
start local 6 3: goto 8
4: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 0
aload 6
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
5: iload 2
iload 3
6: iload 4
iload 5
7: invokevirtual sun.font.SunFontManager.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
8: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 4
9: goto 11
StackMap locals:
StackMap stack: java.util.NoSuchElementException
10: pop
11: StackMap locals:
StackMap stack:
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 12 0 this Lsun/font/SunFontManager;
0 12 1 pathName Ljava/lang/String;
0 12 2 useJavaRasterizer Z
0 12 3 fontRank I
0 12 4 defer Z
0 12 5 resolveSymLinks Z
3 12 6 parser Ljava/util/StringTokenizer;
Exception table:
from to target type
3 9 10 Class java.util.NoSuchElementException
MethodParameters:
Name Flags
pathName
useJavaRasterizer
fontRank
defer
resolveSymLinks
public void registerFontsInDir(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_2
iconst_1
iconst_0
invokevirtual sun.font.SunFontManager.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/SunFontManager;
0 2 1 dirName Ljava/lang/String;
MethodParameters:
Name Flags
dirName
protected void registerFontsInDir(java.lang.String, boolean, int, boolean, boolean);
descriptor: (Ljava/lang/String;ZIZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, 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 java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 1: aload 0
aload 1
aload 6
getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
2: iconst_0
iload 2
3: iload 3
bipush 6
if_icmpne 5
4: iconst_3
goto 6
StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int
5: iload 3
6: StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int
iload 4
iload 5
7: invokevirtual sun.font.SunFontManager.addDirFonts:(Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
8: aload 0
aload 1
aload 6
getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
9: iconst_1
iload 2
10: iload 3
bipush 6
if_icmpne 12
11: iconst_4
goto 13
StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int
12: iload 3
13: StackMap locals: sun.font.SunFontManager java.lang.String int int int int java.io.File
StackMap stack: sun.font.SunFontManager java.lang.String java.io.File java.io.FilenameFilter int int int
iload 4
iload 5
14: invokevirtual sun.font.SunFontManager.addDirFonts:(Ljava/lang/String;Ljava/io/File;Ljava/io/FilenameFilter;IZIZZ)V
15: 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 16 0 this Lsun/font/SunFontManager;
0 16 1 dirName Ljava/lang/String;
0 16 2 useJavaRasterizer Z
0 16 3 fontRank I
0 16 4 defer Z
0 16 5 resolveSymLinks Z
1 16 6 pathFile Ljava/io/File;
MethodParameters:
Name Flags
dirName
useJavaRasterizer
fontRank
defer
resolveSymLinks
protected void registerFontDir(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public synchronized java.lang.String getDefaultFontFile();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.defaultFontFileName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
protected boolean useAbsoluteFontFileNames();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
protected abstract sun.awt.FontConfiguration createFontConfiguration();
descriptor: ()Lsun/awt/FontConfiguration;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public abstract sun.awt.FontConfiguration createFontConfiguration(boolean, boolean);
descriptor: (ZZ)Lsun/awt/FontConfiguration;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
preferLocaleFonts
preferPropFonts
public synchronized java.lang.String getDefaultFontFaceName();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.defaultFontName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
public void loadFontFiles();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.SunFontManager.loadFonts:()V
1: aload 0
getfield sun.font.SunFontManager.loadedAllFontFiles:Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
4: invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 7
5: invokestatic java.lang.Thread.dumpStack:()V
6: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
ldc "loadAllFontFiles() called"
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
7: StackMap locals: sun.font.SunFontManager
StackMap stack:
new sun.font.SunFontManager$10
dup
aload 0
invokespecial sun.font.SunFontManager$10.<init>:(Lsun/font/SunFontManager;)V
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
9: aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/font/SunFontManager;
Exception table:
from to target type
4 10 11 any
11 12 11 any
private void initCompositeFonts(sun.awt.FontConfiguration, java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D>);
descriptor: (Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.font.FontUtilities.isLogging:()Z
ifeq 3
1: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
2: ldc "Initialising composite fonts"
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.awt.FontConfiguration.getNumberCoreFonts:()I
istore 3
start local 3 4: aload 1
invokevirtual sun.awt.FontConfiguration.getPlatformFontNames:()[Ljava/lang/String;
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 22
7: StackMap locals: int java.lang.String[] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 8: aload 0
aload 6
invokevirtual sun.font.SunFontManager.getFileNameFromPlatformName:(Ljava/lang/String;)Ljava/lang/String;
9: astore 7
start local 7 10: aconst_null
astore 8
start local 8 11: aload 7
ifnull 13
12: aload 7
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: StackMap locals: java.lang.String java.lang.String java.lang.String[]
StackMap stack:
aload 6
astore 7
14: goto 18
15: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpge 17
16: aload 0
aload 6
invokevirtual sun.font.SunFontManager.addFontToPlatformFontPath:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 6
invokevirtual sun.font.SunFontManager.getNativeNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 8
18: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 8
19: iconst_2
iconst_1
20: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZ)V
end local 8 end local 7 end local 6 21: iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
aload 4
arraylength
if_icmplt 7
end local 5 23: aload 0
invokevirtual sun.font.SunFontManager.registerPlatformFontsUsedByFontConfiguration:()V
24: aload 1
invokevirtual sun.awt.FontConfiguration.get2DCompositeFontInfo:()[Lsun/font/CompositeFontDescriptor;
25: astore 5
start local 5 26: iconst_0
istore 6
start local 6 27: goto 60
28: StackMap locals: sun.font.SunFontManager sun.awt.FontConfiguration java.util.concurrent.ConcurrentHashMap int java.lang.String[] sun.font.CompositeFontDescriptor[] int
StackMap stack:
aload 5
iload 6
aaload
astore 7
start local 7 29: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getComponentFileNames:()[Ljava/lang/String;
astore 8
start local 8 30: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getComponentFaceNames:()[Ljava/lang/String;
astore 9
start local 9 31: getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
ifnull 39
32: iconst_0
istore 10
start local 10 33: goto 38
34: StackMap locals: sun.font.SunFontManager sun.awt.FontConfiguration java.util.concurrent.ConcurrentHashMap int java.lang.String[] sun.font.CompositeFontDescriptor[] int sun.font.CompositeFontDescriptor java.lang.String[] java.lang.String[] int
StackMap stack:
getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
aload 8
iload 10
aaload
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 37
35: aload 8
iload 10
aload 0
invokevirtual sun.font.SunFontManager.getDefaultFontFile:()Ljava/lang/String;
aastore
36: aload 9
iload 10
aload 0
invokevirtual sun.font.SunFontManager.getDefaultFontFaceName:()Ljava/lang/String;
aastore
37: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
38: iload 10
aload 8
arraylength
if_icmplt 34
end local 10 39: StackMap locals:
StackMap stack:
aload 2
ifnull 49
40: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
41: aload 8
aload 9
42: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getCoreComponentCount:()I
43: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getExclusionRanges:()[I
44: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getExclusionRangeLimits:()[I
45: iconst_1
46: aload 2
47: invokestatic sun.font.SunFontManager.registerCompositeFont:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZLjava/util/concurrent/ConcurrentHashMap;)V
48: goto 56
49: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
50: aload 8
aload 9
51: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getCoreComponentCount:()I
52: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getExclusionRanges:()[I
53: aload 7
invokevirtual sun.font.CompositeFontDescriptor.getExclusionRangeLimits:()[I
54: iconst_1
55: invokevirtual sun.font.SunFontManager.registerCompositeFont:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I[I[IZ)V
56: StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 59
57: invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
58: new java.lang.StringBuilder
dup
ldc "registered "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual sun.font.CompositeFontDescriptor.getFaceName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 9 end local 8 end local 7 59: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
60: iload 6
aload 5
arraylength
if_icmplt 28
end local 6 61: 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 62 0 this Lsun/font/SunFontManager;
0 62 1 fontConfig Lsun/awt/FontConfiguration;
0 62 2 altNameCache Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
4 62 3 numCoreFonts I
5 62 4 fcFonts [Ljava/lang/String;
6 23 5 f I
8 21 6 platformFontName Ljava/lang/String;
10 21 7 fontFileName Ljava/lang/String;
11 21 8 nativeNames [Ljava/lang/String;
26 62 5 compositeFontInfo [Lsun/font/CompositeFontDescriptor;
27 61 6 i I
29 59 7 descriptor Lsun/font/CompositeFontDescriptor;
30 59 8 componentFileNames [Ljava/lang/String;
31 59 9 componentFaceNames [Ljava/lang/String;
33 39 10 ii I
Signature: (Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;)V
MethodParameters:
Name Flags
fontConfig
altNameCache
protected void addFontToPlatformFontPath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 platformFontName Ljava/lang/String;
MethodParameters:
Name Flags
platformFontName
protected void registerFontFile(java.lang.String, java.lang.String[], int, boolean);
descriptor: (Ljava/lang/String;[Ljava/lang/String;IZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.ttFilter:Ljava/io/FilenameFilter;
aconst_null
aload 1
invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
ifeq 5
3: iconst_0
istore 5
start local 5 4: goto 9
end local 5 StackMap locals:
StackMap stack:
5: getstatic sun.font.SunFontManager.t1Filter:Ljava/io/FilenameFilter;
aconst_null
aload 1
invokeinterface java.io.FilenameFilter.accept:(Ljava/io/File;Ljava/lang/String;)Z
ifeq 8
6: iconst_1
istore 5
start local 5 7: goto 9
end local 5 8: StackMap locals:
StackMap stack:
iconst_4
istore 5
start local 5 9: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
10: iload 4
ifeq 15
11: aload 0
aload 1
aload 1
aload 2
12: iload 5
iconst_0
iload 3
13: invokevirtual sun.font.SunFontManager.registerDeferredFont:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IZI)V
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 5
iconst_0
16: iload 3
17: invokevirtual sun.font.SunFontManager.registerFontFile:(Ljava/lang/String;[Ljava/lang/String;IZI)Lsun/font/PhysicalFont;
pop
18: 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 19 0 this Lsun/font/SunFontManager;
0 19 1 fontFileName Ljava/lang/String;
0 19 2 nativeNames [Ljava/lang/String;
0 19 3 fontRank I
0 19 4 defer Z
4 5 5 fontFormat I
7 8 5 fontFormat I
9 19 5 fontFormat I
MethodParameters:
Name Flags
fontFileName
nativeNames
fontRank
defer
protected void registerPlatformFontsUsedByFontConfiguration();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
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/SunFontManager;
protected void addToMissingFontFileList(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
ifnonnull 2
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
2: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.missingFontFiles:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/SunFontManager;
0 4 1 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
private boolean isNameForRegisteredFile(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.font.SunFontManager.getFileNameForFontName:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.font.SunFontManager.registeredFontFiles:Ljava/util/HashSet;
aload 2
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/SunFontManager;
0 4 1 fontName Ljava/lang/String;
1 4 2 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fontName
public void createCompositeFonts(java.util.concurrent.ConcurrentHashMap<java.lang.String, sun.font.Font2D>, boolean, );
descriptor: (Ljava/util/concurrent/ConcurrentHashMap;ZZ)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
iload 2
iload 3
invokevirtual sun.font.SunFontManager.createFontConfiguration:(ZZ)Lsun/awt/FontConfiguration;
1: astore 4
start local 4 2: aload 0
aload 4
aload 1
invokevirtual sun.font.SunFontManager.initCompositeFonts:(Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap;)V
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/SunFontManager;
0 4 1 altNameCache Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;
0 4 2 preferLocale Z
0 4 3 preferProportional Z
2 4 4 fontConfig Lsun/awt/FontConfiguration;
Signature: (Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lsun/font/Font2D;>;ZZ)V
MethodParameters:
Name Flags
altNameCache
preferLocale
preferProportional
public java.awt.Font[] getAllInstalledFonts();
descriptor: ()[Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
ifnonnull 39
1: aload 0
invokevirtual sun.font.SunFontManager.loadFonts:()V
2: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 1
start local 1 3: aload 0
invokevirtual sun.font.SunFontManager.getRegisteredFonts:()[Lsun/font/Font2D;
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 11
6: StackMap locals: java.util.TreeMap sun.font.Font2D[] int
StackMap stack:
aload 2
iload 3
aaload
instanceof sun.font.NativeFont
ifne 10
7: aload 1
aload 2
iload 3
aaload
aconst_null
invokevirtual sun.font.Font2D.getFontName:(Ljava/util/Locale;)Ljava/lang/String;
8: aload 2
iload 3
aaload
9: invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 2
arraylength
if_icmplt 6
end local 3 12: aload 0
invokevirtual sun.font.SunFontManager.getFontNamesFromPlatform:()[Ljava/lang/String;
astore 3
start local 3 13: aload 3
ifnull 20
14: iconst_0
istore 4
start local 4 15: goto 19
16: StackMap locals: sun.font.SunFontManager java.util.TreeMap sun.font.Font2D[] java.lang.String[] int
StackMap stack:
aload 0
aload 3
iload 4
aaload
invokevirtual sun.font.SunFontManager.isNameForRegisteredFile:(Ljava/lang/String;)Z
ifne 18
17: aload 1
aload 3
iload 4
aaload
aconst_null
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
aload 3
arraylength
if_icmplt 16
end local 4 20: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 21: aload 1
invokevirtual java.util.TreeMap.size:()I
ifle 29
22: aload 1
invokevirtual java.util.TreeMap.size:()I
anewarray java.lang.String
astore 4
23: aload 1
invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
astore 5
start local 5 24: iconst_0
istore 6
start local 6 25: goto 28
26: StackMap locals: java.lang.String[] java.lang.Object[] int
StackMap stack:
aload 4
iload 6
aload 5
iload 6
aaload
checkcast java.lang.String
aastore
27: iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
aload 5
arraylength
if_icmplt 26
end local 6 end local 5 29: StackMap locals:
StackMap stack:
aload 4
arraylength
anewarray java.awt.Font
astore 5
start local 5 30: iconst_0
istore 6
start local 6 31: goto 37
32: StackMap locals: java.awt.Font[] int
StackMap stack:
aload 5
iload 6
new java.awt.Font
dup
aload 4
iload 6
aaload
iconst_0
iconst_1
invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
aastore
33: aload 1
aload 4
iload 6
aaload
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.font.Font2D
astore 7
start local 7 34: aload 7
ifnull 36
35: invokestatic sun.font.FontAccess.getFontAccess:()Lsun/font/FontAccess;
aload 5
iload 6
aaload
aload 7
getfield sun.font.Font2D.handle:Lsun/font/Font2DHandle;
invokevirtual sun.font.FontAccess.setFont2D:(Ljava/awt/Font;Lsun/font/Font2DHandle;)V
end local 7 36: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
aload 4
arraylength
if_icmplt 32
end local 6 38: aload 0
aload 5
putfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
end local 5 end local 4 end local 3 end local 2 end local 1 39: StackMap locals: sun.font.SunFontManager
StackMap stack:
aload 0
getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
arraylength
anewarray java.awt.Font
astore 1
start local 1 40: aload 0
getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
iconst_0
aload 1
iconst_0
aload 0
getfield sun.font.SunFontManager.allFonts:[Ljava/awt/Font;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
41: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/font/SunFontManager;
3 39 1 fontMapNames Ljava/util/TreeMap<Ljava/lang/String;Lsun/font/Font2D;>;
4 39 2 allfonts [Lsun/font/Font2D;
5 12 3 i I
13 39 3 platformNames [Ljava/lang/String;
15 20 4 i I
21 39 4 fontNames [Ljava/lang/String;
24 29 5 keyNames [Ljava/lang/Object;
25 29 6 i I
30 39 5 fonts [Ljava/awt/Font;
31 38 6 i I
34 36 7 f2d Lsun/font/Font2D;
40 42 1 copyFonts [Ljava/awt/Font;
public java.lang.String[] getInstalledFontFamilyNames(java.util.Locale);
descriptor: (Ljava/util/Locale;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
astore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
ifnull 9
aload 0
getfield sun.font.SunFontManager.lastDefaultLocale:Ljava/util/Locale;
ifnull 9
3: aload 1
aload 0
getfield sun.font.SunFontManager.lastDefaultLocale:Ljava/util/Locale;
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifeq 9
4: aload 0
getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
arraylength
anewarray java.lang.String
astore 2
start local 2 5: aload 0
getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
iconst_0
aload 2
6: iconst_0
aload 0
getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
arraylength
7: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 2
areturn
end local 2 9: StackMap locals:
StackMap stack:
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 2
start local 2 10: ldc "Serif"
astore 3
start local 3 11: aload 2
aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 3
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: ldc "SansSerif"
astore 3
aload 2
aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 3
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: ldc "Monospaced"
astore 3
aload 2
aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 3
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: ldc "Dialog"
astore 3
aload 2
aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 3
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: ldc "DialogInput"
astore 3
aload 2
aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 3
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 1
invokestatic sun.font.SunFontManager.getSystemStartupLocale:()Ljava/util/Locale;
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifeq 20
17: aload 0
aload 2
aload 1
invokevirtual sun.font.SunFontManager.getFamilyNamesFromPlatform:(Ljava/util/TreeMap;Ljava/util/Locale;)Z
ifeq 20
18: aload 0
aload 2
aload 1
invokevirtual sun.font.SunFontManager.getJREFontFamilyNames:(Ljava/util/TreeMap;Ljava/util/Locale;)V
19: goto 30
20: StackMap locals: java.util.TreeMap java.lang.String
StackMap stack:
aload 0
invokevirtual sun.font.SunFontManager.loadFontFiles:()V
21: aload 0
invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
astore 4
start local 4 22: iconst_0
istore 5
start local 5 23: goto 29
24: StackMap locals: sun.font.Font2D[] int
StackMap stack:
aload 4
iload 5
aaload
instanceof sun.font.NativeFont
ifne 28
25: aload 4
iload 5
aaload
aload 1
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
26: astore 6
start local 6 27: aload 2
aload 6
aload 1
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 6
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 28: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
29: iload 5
aload 4
arraylength
if_icmplt 24
end local 5 end local 4 30: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual sun.font.SunFontManager.addNativeFontFamilyNames:(Ljava/util/TreeMap;Ljava/util/Locale;)V
31: aload 2
invokevirtual java.util.TreeMap.size:()I
anewarray java.lang.String
astore 4
start local 4 32: aload 2
invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
astore 5
start local 5 33: iconst_0
istore 6
start local 6 34: goto 37
35: StackMap locals: java.lang.String[] java.lang.Object[] int
StackMap stack:
aload 4
iload 6
aload 2
aload 5
iload 6
aaload
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
aastore
36: iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
aload 5
arraylength
if_icmplt 35
end local 6 38: aload 1
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifeq 42
39: aload 0
aload 1
putfield sun.font.SunFontManager.lastDefaultLocale:Ljava/util/Locale;
40: aload 0
aload 4
arraylength
anewarray java.lang.String
putfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
41: aload 4
iconst_0
aload 0
getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
iconst_0
aload 0
getfield sun.font.SunFontManager.allFamilies:[Ljava/lang/String;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
42: StackMap locals:
StackMap stack:
aload 4
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 43 0 this Lsun/font/SunFontManager;
0 43 1 requestedLocale Ljava/util/Locale;
5 9 2 copyFamilies [Ljava/lang/String;
10 43 2 familyNames Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
11 43 3 str Ljava/lang/String;
22 30 4 physicalfonts [Lsun/font/Font2D;
23 30 5 i I
27 28 6 name Ljava/lang/String;
32 43 4 retval [Ljava/lang/String;
33 43 5 keyNames [Ljava/lang/Object;
34 38 6 i I
MethodParameters:
Name Flags
requestedLocale
protected void addNativeFontFamilyNames(java.util.TreeMap<java.lang.String, java.lang.String>, java.util.Locale);
descriptor: (Ljava/util/TreeMap;Ljava/util/Locale;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 familyNames Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
0 1 2 requestedLocale Ljava/util/Locale;
Signature: (Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Locale;)V
MethodParameters:
Name Flags
familyNames
requestedLocale
public void register1dot0Fonts();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.font.SunFontManager$11
dup
aload 0
invokespecial sun.font.SunFontManager$11.<init>:(Lsun/font/SunFontManager;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/SunFontManager;
protected void getJREFontFamilyNames(java.util.TreeMap<java.lang.String, java.lang.String>, java.util.Locale);
descriptor: (Ljava/util/TreeMap;Ljava/util/Locale;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.registerDeferredJREFonts:(Ljava/lang/String;)V
1: aload 0
invokevirtual sun.font.SunFontManager.getPhysicalFonts:()[Lsun/font/PhysicalFont;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 9
4: StackMap locals: sun.font.Font2D[] int
StackMap stack:
aload 3
iload 4
aaload
instanceof sun.font.NativeFont
ifne 8
5: aload 3
iload 4
aaload
aload 2
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
6: astore 5
start local 5 7: aload 1
aload 5
aload 2
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 5
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/font/SunFontManager;
0 11 1 familyNames Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
0 11 2 requestedLocale Ljava/util/Locale;
2 11 3 physicalfonts [Lsun/font/Font2D;
3 10 4 i I
7 8 5 name Ljava/lang/String;
Signature: (Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Locale;)V
MethodParameters:
Name Flags
familyNames
requestedLocale
private static java.util.Locale getSystemStartupLocale();
descriptor: ()Ljava/util/Locale;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
ifnonnull 4
1: new sun.font.SunFontManager$12
dup
invokespecial sun.font.SunFontManager$12.<init>:()V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.Locale
3: putstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
4: StackMap locals:
StackMap stack:
getstatic sun.font.SunFontManager.systemLocale:Ljava/util/Locale;
areturn
LocalVariableTable:
Start End Slot Name Signature
void addToPool(sun.font.FileFont);
descriptor: (Lsun/font/FileFont;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_m1
istore 3
start local 3 2: aload 0
getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
dup
astore 4
monitorenter
3: iconst_0
istore 5
start local 5 4: goto 11
5: StackMap locals: sun.font.SunFontManager sun.font.FileFont sun.font.FileFont int sun.font.FileFont[] int
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
iload 5
aaload
aload 1
if_acmpne 8
6: aload 4
monitorexit
7: return
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
iload 5
aaload
ifnonnull 10
iload 3
ifge 10
9: iload 5
istore 3
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
bipush 20
if_icmplt 5
end local 5 12: iload 3
iflt 16
13: aload 0
getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
iload 3
aload 1
aastore
14: aload 4
monitorexit
15: return
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
aload 0
getfield sun.font.SunFontManager.lastPoolIndex:I
aaload
astore 2
17: aload 0
getfield sun.font.SunFontManager.fontFileCache:[Lsun/font/FileFont;
aload 0
getfield sun.font.SunFontManager.lastPoolIndex:I
aload 1
aastore
18: aload 0
aload 0
getfield sun.font.SunFontManager.lastPoolIndex:I
iconst_1
iadd
bipush 20
irem
putfield sun.font.SunFontManager.lastPoolIndex:I
19: aload 4
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 4
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
aload 2
ifnull 25
24: aload 2
invokevirtual sun.font.FileFont.close:()V
25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/font/SunFontManager;
0 26 1 font Lsun/font/FileFont;
1 26 2 fontFileToClose Lsun/font/FileFont;
2 26 3 freeSlot I
4 12 5 i I
Exception table:
from to target type
3 7 21 any
8 15 21 any
16 20 21 any
21 22 21 any
MethodParameters:
Name Flags
font
protected javax.swing.plaf.FontUIResource getFontConfigFUIR(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljavax/swing/plaf/FontUIResource;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new javax.swing.plaf.FontUIResource
dup
aload 1
iload 2
iload 3
invokespecial javax.swing.plaf.FontUIResource.<init>:(Ljava/lang/String;II)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager;
0 1 1 family Ljava/lang/String;
0 1 2 style I
0 1 3 size I
MethodParameters:
Name Flags
family
style
size
private static java.lang.Error lambda$0();
descriptor: ()Ljava/lang/Error;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Probable fatal error: No physical fonts found."
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private java.lang.Void lambda$1(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/lang/Void;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=3, args_size=2
start local 0 0: invokestatic sun.awt.util.ThreadGroupUtils.getRootThreadGroup:()Ljava/lang/ThreadGroup;
astore 2
start local 2 1: aload 0
new java.lang.Thread
dup
aload 2
aload 1
2: ldc "FileCloser"
lconst_0
iconst_0
invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
3: putfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
4: aload 0
getfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
aconst_null
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
5: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 0
getfield sun.font.SunFontManager.fileCloser:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
6: aconst_null
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/SunFontManager;
1 7 2 rootTG Ljava/lang/ThreadGroup;
}
SourceFile: "SunFontManager.java"
NestMembers:
sun.font.SunFontManager$1 sun.font.SunFontManager$10 sun.font.SunFontManager$11 sun.font.SunFontManager$12 sun.font.SunFontManager$2 sun.font.SunFontManager$3 sun.font.SunFontManager$4 sun.font.SunFontManager$5 sun.font.SunFontManager$6 sun.font.SunFontManager$7 sun.font.SunFontManager$8 sun.font.SunFontManager$8$1 sun.font.SunFontManager$9 sun.font.SunFontManager$FamilyDescription sun.font.SunFontManager$FontRegistrationInfo sun.font.SunFontManager$T1Filter sun.font.SunFontManager$TTFilter sun.font.SunFontManager$TTorT1Filter
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap
sun.font.SunFontManager$1
sun.font.SunFontManager$10
sun.font.SunFontManager$11
sun.font.SunFontManager$12
sun.font.SunFontManager$2
sun.font.SunFontManager$3
sun.font.SunFontManager$4
sun.font.SunFontManager$5
sun.font.SunFontManager$6
sun.font.SunFontManager$7
sun.font.SunFontManager$8
sun.font.SunFontManager$9
public FamilyDescription = sun.font.SunFontManager$FamilyDescription of sun.font.SunFontManager
private final FontRegistrationInfo = sun.font.SunFontManager$FontRegistrationInfo of sun.font.SunFontManager
private T1Filter = sun.font.SunFontManager$T1Filter of sun.font.SunFontManager
private TTFilter = sun.font.SunFontManager$TTFilter of sun.font.SunFontManager
private TTorT1Filter = sun.font.SunFontManager$TTorT1Filter of sun.font.SunFontManager
public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger