public final class sun.font.FontResolver
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.font.FontResolver
super_class: java.lang.Object
{
private java.awt.Font[] allFonts;
descriptor: [Ljava/awt/Font;
flags: (0x0002) ACC_PRIVATE
private java.awt.Font[] supplementaryFonts;
descriptor: [Ljava/awt/Font;
flags: (0x0002) ACC_PRIVATE
private int[] supplementaryIndices;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private static final int DEFAULT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private java.awt.Font defaultFont;
descriptor: Ljava/awt/Font;
flags: (0x0002) ACC_PRIVATE
private static final int SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int BLOCKSIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 127
private int[][] blocks;
descriptor: [[I
flags: (0x0002) ACC_PRIVATE
private static sun.font.FontResolver INSTANCE;
descriptor: Lsun/font/FontResolver;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.awt.Font
dup
ldc "Dialog"
iconst_0
bipush 12
invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
putfield sun.font.FontResolver.defaultFont:Ljava/awt/Font;
2: aload 0
sipush 512
anewarray int[]
putfield sun.font.FontResolver.blocks:[[I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/FontResolver;
private java.awt.Font[] getAllFonts();
descriptor: ()[Ljava/awt/Font;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
ifnonnull 9
1: aload 0
2: invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
invokevirtual java.awt.GraphicsEnvironment.getAllFonts:()[Ljava/awt/Font;
3: putfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
4: iconst_0
istore 1
start local 1 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
iload 1
aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
iload 1
aaload
ldc 12.0
invokevirtual java.awt.Font.deriveFont:(F)Ljava/awt/Font;
aastore
7: iinc 1 1
StackMap locals:
StackMap stack:
8: iload 1
aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
arraylength
if_icmplt 6
end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/FontResolver;
5 9 1 i I
private int getIndexFor(char);
descriptor: (C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.FontResolver.defaultFont:Ljava/awt/Font;
iload 1
invokevirtual java.awt.Font.canDisplay:(C)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
iload 2
aaload
iload 1
invokevirtual java.awt.Font.canDisplay:(C)Z
ifeq 6
5: iload 2
iconst_2
iadd
ireturn
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
invokevirtual sun.font.FontResolver.getAllFonts:()[Ljava/awt/Font;
arraylength
if_icmplt 4
end local 2 8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/font/FontResolver;
0 9 1 c C
3 8 2 i I
MethodParameters:
Name Flags
c
private java.awt.Font[] getAllSCFonts();
descriptor: ()[Ljava/awt/Font;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield sun.font.FontResolver.supplementaryFonts:[Ljava/awt/Font;
ifnonnull 20
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 11
5: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
iload 3
aaload
astore 4
start local 4 6: aload 4
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 5
start local 5 7: aload 5
invokevirtual sun.font.Font2D.hasSupplementaryChars:()Z
ifeq 10
8: aload 1
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: aload 2
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
invokevirtual sun.font.FontResolver.getAllFonts:()[Ljava/awt/Font;
arraylength
if_icmplt 5
end local 3 12: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 13: aload 0
iload 3
newarray 10
putfield sun.font.FontResolver.supplementaryIndices:[I
14: iconst_0
istore 4
start local 4 15: goto 18
16: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.FontResolver.supplementaryIndices:[I
iload 4
aload 2
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
17: iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
iload 3
if_icmplt 16
end local 4 19: aload 0
aload 1
iload 3
anewarray java.awt.Font
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.awt.Font[]
putfield sun.font.FontResolver.supplementaryFonts:[Ljava/awt/Font;
end local 3 end local 2 end local 1 20: StackMap locals: sun.font.FontResolver
StackMap stack:
aload 0
getfield sun.font.FontResolver.supplementaryFonts:[Ljava/awt/Font;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/font/FontResolver;
2 20 1 fonts Ljava/util/ArrayList<Ljava/awt/Font;>;
3 20 2 indices Ljava/util/ArrayList<Ljava/lang/Integer;>;
4 12 3 i I
6 10 4 font Ljava/awt/Font;
7 10 5 font2D Lsun/font/Font2D;
13 20 3 len I
15 19 4 i I
private int getIndexFor(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.FontResolver.defaultFont:Ljava/awt/Font;
iload 1
invokevirtual java.awt.Font.canDisplay:(I)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.FontResolver.supplementaryFonts:[Ljava/awt/Font;
iload 2
aaload
iload 1
invokevirtual java.awt.Font.canDisplay:(I)Z
ifeq 6
5: aload 0
getfield sun.font.FontResolver.supplementaryIndices:[I
iload 2
iaload
iconst_2
iadd
ireturn
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
invokevirtual sun.font.FontResolver.getAllSCFonts:()[Ljava/awt/Font;
arraylength
if_icmplt 4
end local 2 8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/font/FontResolver;
0 9 1 cp I
3 8 2 i I
MethodParameters:
Name Flags
cp
public int getFontIndex(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 1
bipush 9
ishr
istore 2
start local 2 1: aload 0
getfield sun.font.FontResolver.blocks:[[I
iload 2
aaload
astore 3
start local 3 2: aload 3
ifnonnull 5
3: sipush 128
newarray 10
astore 3
4: aload 0
getfield sun.font.FontResolver.blocks:[[I
iload 2
aload 3
aastore
5: StackMap locals: int int[]
StackMap stack:
iload 1
bipush 127
iand
istore 4
start local 4 6: aload 3
iload 4
iaload
ifne 8
7: aload 3
iload 4
aload 0
iload 1
invokevirtual sun.font.FontResolver.getIndexFor:(C)I
iastore
8: StackMap locals: int
StackMap stack:
aload 3
iload 4
iaload
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/font/FontResolver;
0 9 1 c C
1 9 2 blockIndex I
2 9 3 block [I
6 9 4 index I
MethodParameters:
Name Flags
c
public int getFontIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ldc 65536
if_icmpge 2
1: aload 0
iload 1
i2c
invokevirtual sun.font.FontResolver.getFontIndex:(C)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual sun.font.FontResolver.getIndexFor:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/FontResolver;
0 3 1 cp I
MethodParameters:
Name Flags
cp
public int nextFontRunIndex(sun.font.CodePointIterator);
descriptor: (Lsun/font/CodePointIterator;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.font.CodePointIterator.next:()I
istore 2
start local 2 1: iconst_1
istore 3
start local 3 2: iload 2
iconst_m1
if_icmpeq 9
3: aload 0
iload 2
invokevirtual sun.font.FontResolver.getFontIndex:(I)I
istore 3
4: goto 8
5: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual sun.font.FontResolver.getFontIndex:(I)I
iload 3
if_icmpeq 8
6: aload 1
invokevirtual sun.font.CodePointIterator.prev:()I
pop
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.font.CodePointIterator.next:()I
dup
istore 2
iconst_m1
if_icmpne 5
9: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/FontResolver;
0 10 1 iter Lsun/font/CodePointIterator;
1 10 2 cp I
2 10 3 fontIndex I
MethodParameters:
Name Flags
iter
public java.awt.Font getFont(int, java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
descriptor: (ILjava/util/Map;)Ljava/awt/Font;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.font.FontResolver.defaultFont:Ljava/awt/Font;
astore 3
start local 3 1: iload 1
iconst_2
if_icmplt 3
2: aload 0
getfield sun.font.FontResolver.allFonts:[Ljava/awt/Font;
iload 1
iconst_2
isub
aaload
astore 3
3: StackMap locals: java.awt.Font
StackMap stack:
aload 3
aload 2
invokevirtual java.awt.Font.deriveFont:(Ljava/util/Map;)Ljava/awt/Font;
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/FontResolver;
0 4 1 index I
0 4 2 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
1 4 3 font Ljava/awt/Font;
Signature: (ILjava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/Font;
MethodParameters:
Name Flags
index
attributes
public static sun.font.FontResolver getInstance();
descriptor: ()Lsun/font/FontResolver;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.font.FontResolver.INSTANCE:Lsun/font/FontResolver;
ifnonnull 2
1: new sun.font.FontResolver
dup
invokespecial sun.font.FontResolver.<init>:()V
putstatic sun.font.FontResolver.INSTANCE:Lsun/font/FontResolver;
2: StackMap locals:
StackMap stack:
getstatic sun.font.FontResolver.INSTANCE:Lsun/font/FontResolver;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "FontResolver.java"
InnerClasses:
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator