public class sun.font.TrueTypeFont extends sun.font.FileFont
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.font.TrueTypeFont
super_class: sun.font.FileFont
{
public static final int cmapTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1668112752
public static final int glyfTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1735162214
public static final int headTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1751474532
public static final int hheaTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1751672161
public static final int hmtxTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1752003704
public static final int locaTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1819239265
public static final int maxpTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1835104368
public static final int nameTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1851878757
public static final int postTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1886352244
public static final int os_2Tag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1330851634
public static final int GDEFTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1195656518
public static final int GPOSTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1196445523
public static final int GSUBTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1196643650
public static final int mortTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1836020340
public static final int fdscTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1717859171
public static final int fvarTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1719034226
public static final int featTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1717920116
public static final int EBLCTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1161972803
public static final int gaspTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1734439792
public static final int ttcfTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1953784678
public static final int v1ttTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
public static final int trueTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1953658213
public static final int ottoTag;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1330926671
public static final int MS_PLATFORM_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final short ENGLISH_LOCALE_ID;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1033
public static final int FAMILY_NAME_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int FULL_NAME_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int POSTSCRIPT_NAME_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
sun.font.TrueTypeFont$TTDisposerRecord disposerRecord;
descriptor: Lsun/font/TrueTypeFont$TTDisposerRecord;
flags: (0x0000)
int fontIndex;
descriptor: I
flags: (0x0000)
int directoryCount;
descriptor: I
flags: (0x0000)
int directoryOffset;
descriptor: I
flags: (0x0000)
int numTables;
descriptor: I
flags: (0x0000)
sun.font.TrueTypeFont$DirectoryEntry[] tableDirectory;
descriptor: [Lsun/font/TrueTypeFont$DirectoryEntry;
flags: (0x0000)
private boolean supportsJA;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean supportsCJK;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int DIRECTORYENTRYSIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final java.lang.String[] encoding_mapping;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final java.lang.String[][] languages;
descriptor: [[Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] codePages;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.lang.String defaultCodePage;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int reserved_bits1;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
public static final int reserved_bits2;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 65535
private static final int fsSelectionItalicBit;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int fsSelectionBoldBit;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int fsSelectionRegularBit;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private float stSize;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float stPos;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float ulSize;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float ulPos;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private char[] gaspTable;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: bipush 32
anewarray java.lang.String
dup
iconst_0
1: ldc "cp1252"
aastore
dup
iconst_1
2: ldc "cp1250"
aastore
dup
iconst_2
3: ldc "cp1251"
aastore
dup
iconst_3
4: ldc "cp1253"
aastore
dup
iconst_4
5: ldc "cp1254"
aastore
dup
iconst_5
6: ldc "cp1255"
aastore
dup
bipush 6
7: ldc "cp1256"
aastore
dup
bipush 7
8: ldc "cp1257"
aastore
dup
bipush 8
9: ldc ""
aastore
dup
bipush 9
10: ldc ""
aastore
dup
bipush 10
11: ldc ""
aastore
dup
bipush 11
12: ldc ""
aastore
dup
bipush 12
13: ldc ""
aastore
dup
bipush 13
14: ldc ""
aastore
dup
bipush 14
15: ldc ""
aastore
dup
bipush 15
16: ldc ""
aastore
dup
bipush 16
17: ldc "ms874"
aastore
dup
bipush 17
18: ldc "ms932"
aastore
dup
bipush 18
19: ldc "gbk"
aastore
dup
bipush 19
20: ldc "ms949"
aastore
dup
bipush 20
21: ldc "ms950"
aastore
dup
bipush 21
22: ldc "ms1361"
aastore
dup
bipush 22
23: ldc ""
aastore
dup
bipush 23
24: ldc ""
aastore
dup
bipush 24
25: ldc ""
aastore
dup
bipush 25
26: ldc ""
aastore
dup
bipush 26
27: ldc ""
aastore
dup
bipush 27
28: ldc ""
aastore
dup
bipush 28
29: ldc ""
aastore
dup
bipush 29
30: ldc ""
aastore
dup
bipush 30
31: ldc ""
aastore
dup
bipush 31
32: ldc ""
aastore
33: putstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
34: bipush 14
anewarray java.lang.String[]
dup
iconst_0
35: bipush 14
anewarray java.lang.String
dup
iconst_0
ldc "en"
aastore
dup
iconst_1
ldc "ca"
aastore
dup
iconst_2
ldc "da"
aastore
dup
iconst_3
ldc "de"
aastore
dup
iconst_4
ldc "es"
aastore
dup
iconst_5
ldc "fi"
aastore
dup
bipush 6
ldc "fr"
aastore
dup
bipush 7
ldc "is"
aastore
dup
bipush 8
ldc "it"
aastore
dup
bipush 9
36: ldc "nl"
aastore
dup
bipush 10
ldc "no"
aastore
dup
bipush 11
ldc "pt"
aastore
dup
bipush 12
ldc "sq"
aastore
dup
bipush 13
ldc "sv"
aastore
aastore
dup
iconst_1
37: bipush 12
anewarray java.lang.String
dup
iconst_0
ldc "cs"
aastore
dup
iconst_1
ldc "cz"
aastore
dup
iconst_2
ldc "et"
aastore
dup
iconst_3
ldc "hr"
aastore
dup
iconst_4
ldc "hu"
aastore
dup
iconst_5
ldc "nr"
aastore
dup
bipush 6
ldc "pl"
aastore
dup
bipush 7
ldc "ro"
aastore
dup
bipush 8
ldc "sk"
aastore
dup
bipush 9
38: ldc "sl"
aastore
dup
bipush 10
ldc "sq"
aastore
dup
bipush 11
ldc "sr"
aastore
aastore
dup
iconst_2
39: iconst_5
anewarray java.lang.String
dup
iconst_0
ldc "bg"
aastore
dup
iconst_1
ldc "mk"
aastore
dup
iconst_2
ldc "ru"
aastore
dup
iconst_3
ldc "sh"
aastore
dup
iconst_4
ldc "uk"
aastore
aastore
dup
iconst_3
40: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "el"
aastore
aastore
dup
iconst_4
41: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "tr"
aastore
aastore
dup
iconst_5
42: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "he"
aastore
aastore
dup
bipush 6
43: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "ar"
aastore
aastore
dup
bipush 7
44: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "et"
aastore
dup
iconst_1
ldc "lt"
aastore
dup
iconst_2
ldc "lv"
aastore
aastore
dup
bipush 8
45: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "th"
aastore
aastore
dup
bipush 9
46: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "ja"
aastore
aastore
dup
bipush 10
47: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "zh"
aastore
dup
iconst_1
ldc "zh_CN"
aastore
aastore
dup
bipush 11
48: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "ko"
aastore
aastore
dup
bipush 12
49: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "zh_HK"
aastore
dup
iconst_1
ldc "zh_TW"
aastore
aastore
dup
bipush 13
50: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "ko"
aastore
aastore
51: putstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
52: bipush 14
anewarray java.lang.String
dup
iconst_0
53: ldc "cp1252"
aastore
dup
iconst_1
54: ldc "cp1250"
aastore
dup
iconst_2
55: ldc "cp1251"
aastore
dup
iconst_3
56: ldc "cp1253"
aastore
dup
iconst_4
57: ldc "cp1254"
aastore
dup
iconst_5
58: ldc "cp1255"
aastore
dup
bipush 6
59: ldc "cp1256"
aastore
dup
bipush 7
60: ldc "cp1257"
aastore
dup
bipush 8
61: ldc "ms874"
aastore
dup
bipush 9
62: ldc "ms932"
aastore
dup
bipush 10
63: ldc "gbk"
aastore
dup
bipush 11
64: ldc "ms949"
aastore
dup
bipush 12
65: ldc "ms950"
aastore
dup
bipush 13
66: ldc "ms1361"
aastore
67: putstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
68: aconst_null
putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
69: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, java.lang.Object, int, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/Object;IZ)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokespecial sun.font.FileFont.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
new sun.font.TrueTypeFont$TTDisposerRecord
dup
invokespecial sun.font.TrueTypeFont$TTDisposerRecord.<init>:()V
putfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
2: aload 0
iconst_0
putfield sun.font.TrueTypeFont.fontIndex:I
3: aload 0
iconst_1
putfield sun.font.TrueTypeFont.directoryCount:I
4: aload 0
iload 4
putfield sun.font.TrueTypeFont.useJavaRasterizer:Z
5: aload 0
iconst_3
putfield sun.font.TrueTypeFont.fontRank:I
6: aload 0
invokevirtual sun.font.TrueTypeFont.verify:()V
7: aload 0
iload 3
invokevirtual sun.font.TrueTypeFont.init:(I)V
8: goto 14
StackMap locals: sun.font.TrueTypeFont java.lang.String java.lang.Object int int
StackMap stack: java.lang.Throwable
9: astore 5
start local 5 10: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
11: aload 5
instanceof java.awt.FontFormatException
ifeq 13
12: aload 5
checkcast java.awt.FontFormatException
athrow
13: StackMap locals: java.lang.Throwable
StackMap stack:
new java.awt.FontFormatException
dup
ldc "Unexpected runtime exception."
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 5 14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
invokestatic sun.java2d.Disposer.addObjectRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
15: return
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/TrueTypeFont;
0 16 1 platname Ljava/lang/String;
0 16 2 nativeNames Ljava/lang/Object;
0 16 3 fIndex I
0 16 4 javaRasterizer Z
10 14 5 t Ljava/lang/Throwable;
Exception table:
from to target type
6 8 9 Class java.lang.Throwable
Exceptions:
throws java.awt.FontFormatException
MethodParameters:
Name Flags
platname
nativeNames
fIndex
javaRasterizer
protected boolean checkUseNatives();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.checkedNatives:Z
ifeq 2
1: aload 0
getfield sun.font.TrueTypeFont.useNatives:Z
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.font.FontManager.isSolaris:Z
ifeq 6
aload 0
getfield sun.font.TrueTypeFont.useJavaRasterizer:Z
ifne 6
3: getstatic sun.font.FontManager.useT2K:Z
ifne 6
aload 0
getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
ifnull 6
4: aload 0
ldc 1161972803
invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
ifnonnull 6
5: invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
ifeq 8
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.TrueTypeFont.checkedNatives:Z
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
instanceof java.lang.String
ifeq 21
9: aload 0
getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 10: aload 1
ldc "8859"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 13
11: aload 0
iconst_1
putfield sun.font.TrueTypeFont.checkedNatives:Z
12: iconst_0
ireturn
13: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic sun.font.NativeFont.hasExternalBitmaps:(Ljava/lang/String;)Z
ifeq 48
14: aload 0
iconst_1
anewarray sun.font.NativeFont
putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
15: aload 0
getfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
iconst_0
new sun.font.NativeFont
dup
aload 1
iconst_1
invokespecial sun.font.NativeFont.<init>:(Ljava/lang/String;Z)V
aastore
16: aload 0
iconst_1
putfield sun.font.TrueTypeFont.useNatives:Z
17: goto 48
StackMap locals:
StackMap stack: java.awt.FontFormatException
18: pop
19: aload 0
aconst_null
putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
end local 1 20: goto 48
StackMap locals:
StackMap stack:
21: aload 0
getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
instanceof java.lang.String[]
ifeq 48
22: aload 0
getfield sun.font.TrueTypeFont.nativeNames:Ljava/lang/Object;
checkcast java.lang.String[]
astore 1
start local 1 23: aload 1
arraylength
istore 2
start local 2 24: iconst_0
istore 3
start local 3 25: iconst_0
istore 4
start local 4 26: goto 33
27: StackMap locals: sun.font.TrueTypeFont java.lang.String[] int int int
StackMap stack:
aload 1
iload 4
aaload
ldc "8859"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 30
28: aload 0
iconst_1
putfield sun.font.TrueTypeFont.checkedNatives:Z
29: iconst_0
ireturn
30: StackMap locals:
StackMap stack:
aload 1
iload 4
aaload
invokestatic sun.font.NativeFont.hasExternalBitmaps:(Ljava/lang/String;)Z
ifeq 32
31: iconst_1
istore 3
32: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
33: iload 4
iload 2
if_icmplt 27
end local 4 34: iload 3
ifne 37
35: aload 0
iconst_1
putfield sun.font.TrueTypeFont.checkedNatives:Z
36: iconst_0
ireturn
37: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.TrueTypeFont.useNatives:Z
38: aload 0
iload 2
anewarray sun.font.NativeFont
putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
39: iconst_0
istore 4
start local 4 40: goto 47
41: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
iload 4
new sun.font.NativeFont
dup
aload 1
iload 4
aaload
iconst_1
invokespecial sun.font.NativeFont.<init>:(Ljava/lang/String;Z)V
aastore
42: goto 46
StackMap locals:
StackMap stack: java.awt.FontFormatException
43: pop
44: aload 0
iconst_0
putfield sun.font.TrueTypeFont.useNatives:Z
45: aload 0
aconst_null
putfield sun.font.TrueTypeFont.nativeFonts:[Lsun/font/NativeFont;
46: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
47: iload 4
iload 2
if_icmplt 41
end local 4 end local 3 end local 2 end local 1 48: StackMap locals: sun.font.TrueTypeFont
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.useNatives:Z
ifeq 50
49: aload 0
aload 0
invokevirtual sun.font.TrueTypeFont.getMapper:()Lsun/font/CharToGlyphMapper;
invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
newarray 5
putfield sun.font.TrueTypeFont.glyphToCharMap:[C
50: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.TrueTypeFont.checkedNatives:Z
51: aload 0
getfield sun.font.TrueTypeFont.useNatives:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/font/TrueTypeFont;
10 20 1 name Ljava/lang/String;
23 48 1 natNames [Ljava/lang/String;
24 48 2 numNames I
25 48 3 externalBitmaps Z
26 34 4 nn I
40 48 4 nn I
Exception table:
from to target type
15 17 18 Class java.awt.FontFormatException
41 42 43 Class java.awt.FontFormatException
private synchronized java.nio.channels.FileChannel open();
descriptor: ()Ljava/nio/channels/FileChannel;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
ifnonnull 20
1: getstatic sun.font.FontManager.logging:Z
ifeq 3
2: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "open TTF: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
new sun.font.TrueTypeFont$1
dup
aload 0
invokespecial sun.font.TrueTypeFont$1.<init>:(Lsun/font/TrueTypeFont;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
5: astore 1
start local 1 6: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
aload 1
invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
putfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
7: aload 0
aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.size:()J
l2i
putfield sun.font.TrueTypeFont.fileSize:I
8: aload 0
invokestatic sun.font.FontManager.addToPool:(Lsun/font/FileFont;)V
end local 1 9: goto 20
StackMap locals:
StackMap stack: java.lang.NullPointerException
10: astore 1
start local 1 11: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
12: new java.awt.FontFormatException
dup
aload 1
invokevirtual java.lang.NullPointerException.toString:()Ljava/lang/String;
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 1 13: StackMap locals:
StackMap stack: java.nio.channels.ClosedChannelException
pop
14: invokestatic java.lang.Thread.interrupted:()Z
pop
15: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
16: aload 0
invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
pop
goto 20
17: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 18: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
19: new java.awt.FontFormatException
dup
aload 1
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 1 20: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/font/TrueTypeFont;
6 9 1 raf Ljava/io/RandomAccessFile;
11 13 1 e Ljava/lang/NullPointerException;
18 20 1 e Ljava/io/IOException;
Exception table:
from to target type
3 9 10 Class java.lang.NullPointerException
3 9 13 Class java.nio.channels.ClosedChannelException
3 9 17 Class java.io.IOException
Exceptions:
throws java.awt.FontFormatException
protected synchronized void close();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
invokevirtual sun.font.TrueTypeFont$TTDisposerRecord.dispose:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/TrueTypeFont;
int readBlock(java.nio.ByteBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;II)I
flags: (0x0000)
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
dup
astore 5
monitorenter
2: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
ifnonnull 4
3: aload 0
invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
pop
4: StackMap locals: int sun.font.TrueTypeFont
StackMap stack:
iload 2
iload 3
iadd
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmple 15
5: iload 2
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmplt 14
6: getstatic sun.font.FontManager.logging:Z
ifeq 12
7: new java.lang.StringBuilder
dup
ldc "Read offset is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " file size is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
9: ldc " file is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 11: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
aload 6
invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
end local 6 12: StackMap locals:
StackMap stack:
aload 5
monitorexit
13: iconst_m1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
iload 2
isub
istore 3
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
16: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
iload 2
i2l
invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
pop
17: goto 39
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
aload 1
invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
istore 6
start local 6 19: iload 6
iconst_m1
if_icmpne 38
20: new java.lang.StringBuilder
dup
ldc "Unexpected EOF "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 21: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.size:()J
l2i
istore 8
start local 8 22: iload 8
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmpeq 26
23: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " File size was "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
24: ldc " and now is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
26: StackMap locals: int java.lang.String int
StackMap stack:
getstatic sun.font.FontManager.logging:Z
ifeq 28
27: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
aload 7
invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
iload 4
iload 3
iconst_2
idiv
if_icmpgt 29
iload 4
sipush 16384
if_icmple 36
29: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
30: getstatic sun.font.FontManager.logging:Z
ifeq 37
31: new java.lang.StringBuilder
dup
ldc "Returning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
32: ldc " bytes instead of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
33: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
34: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
aload 7
invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
35: goto 37
36: StackMap locals:
StackMap stack:
iconst_m1
istore 4
37: StackMap locals:
StackMap stack:
new java.io.IOException
dup
aload 7
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 38: StackMap locals:
StackMap stack:
iload 4
iload 6
iadd
istore 4
end local 6 39: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmplt 18
40: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
41: iload 4
iload 3
if_icmple 43
42: iload 3
istore 4
43: StackMap locals:
StackMap stack:
aload 5
monitorexit
44: goto 67
StackMap locals:
StackMap stack: java.lang.Throwable
45: aload 5
monitorexit
46: athrow
47: StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int
StackMap stack: java.awt.FontFormatException
astore 5
start local 5 48: getstatic sun.font.FontManager.logging:Z
ifeq 52
49: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
50: new java.lang.StringBuilder
dup
ldc "While reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
51: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
52: StackMap locals: java.awt.FontFormatException
StackMap stack:
iconst_m1
istore 4
53: aload 0
invokevirtual sun.font.TrueTypeFont.deregisterFontAndClearStrikeCache:()V
end local 5 54: goto 67
55: StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int
StackMap stack: java.nio.channels.ClosedChannelException
pop
56: invokestatic java.lang.Thread.interrupted:()Z
pop
57: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
58: aload 0
aload 1
iload 2
iload 3
invokevirtual sun.font.TrueTypeFont.readBlock:(Ljava/nio/ByteBuffer;II)I
ireturn
59: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 60: getstatic sun.font.FontManager.logging:Z
ifeq 64
61: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
62: new java.lang.StringBuilder
dup
ldc "While reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
63: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
64: StackMap locals: java.io.IOException
StackMap stack:
iload 4
ifne 67
65: iconst_m1
istore 4
66: aload 0
invokevirtual sun.font.TrueTypeFont.deregisterFontAndClearStrikeCache:()V
end local 5 67: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lsun/font/TrueTypeFont;
0 68 1 buffer Ljava/nio/ByteBuffer;
0 68 2 offset I
0 68 3 length I
1 68 4 bread I
11 12 6 msg Ljava/lang/String;
19 39 6 cnt I
21 38 7 msg Ljava/lang/String;
22 38 8 currSize I
48 54 5 e Ljava/awt/FontFormatException;
60 67 5 e Ljava/io/IOException;
Exception table:
from to target type
2 13 45 any
14 44 45 any
45 46 45 any
1 13 47 Class java.awt.FontFormatException
14 47 47 Class java.awt.FontFormatException
1 13 55 Class java.nio.channels.ClosedChannelException
14 47 55 Class java.nio.channels.ClosedChannelException
1 13 59 Class java.io.IOException
14 47 59 Class java.io.IOException
MethodParameters:
Name Flags
buffer
offset
length
java.nio.ByteBuffer readBlock(int, int);
descriptor: (II)Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 3
start local 3 1: aload 0
dup
astore 4
monitorenter
2: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
ifnonnull 4
3: aload 0
invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
pop
4: StackMap locals: java.nio.ByteBuffer sun.font.TrueTypeFont
StackMap stack:
iload 1
iload 2
iadd
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmple 9
5: iload 1
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmple 8
6: aload 4
monitorexit
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
iload 1
isub
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 3
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
iload 1
i2l
invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
pop
10: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
aload 3
invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
pop
11: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
12: aload 4
monitorexit
13: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 4
monitorexit
15: athrow
16: StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer
StackMap stack: java.awt.FontFormatException
pop
17: aconst_null
areturn
18: StackMap locals:
StackMap stack: java.nio.channels.ClosedChannelException
pop
19: invokestatic java.lang.Thread.interrupted:()Z
pop
20: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
21: aload 0
aload 3
iload 1
iload 2
invokevirtual sun.font.TrueTypeFont.readBlock:(Ljava/nio/ByteBuffer;II)I
pop
goto 24
22: StackMap locals:
StackMap stack: java.io.IOException
pop
23: aconst_null
areturn
24: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/font/TrueTypeFont;
0 25 1 offset I
0 25 2 length I
1 25 3 buffer Ljava/nio/ByteBuffer;
Exception table:
from to target type
2 7 14 any
8 13 14 any
14 15 14 any
1 7 16 Class java.awt.FontFormatException
8 16 16 Class java.awt.FontFormatException
1 7 18 Class java.nio.channels.ClosedChannelException
8 16 18 Class java.nio.channels.ClosedChannelException
1 7 22 Class java.io.IOException
8 16 22 Class java.io.IOException
MethodParameters:
Name Flags
offset
length
byte[] readBytes(int, int);
descriptor: (II)[B
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
astore 3
start local 3 1: aload 3
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 3
2: aload 3
invokevirtual java.nio.ByteBuffer.array:()[B
areturn
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.limit:()I
newarray 8
astore 4
start local 4 4: aload 3
aload 4
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/TrueTypeFont;
0 6 1 offset I
0 6 2 length I
1 6 3 buffer Ljava/nio/ByteBuffer;
4 6 4 bufferBytes [B
MethodParameters:
Name Flags
offset
length
private void verify();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/TrueTypeFont;
Exceptions:
throws java.awt.FontFormatException
protected void init(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
iconst_0
bipush 12
invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
astore 3
start local 3 2: aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
lookupswitch { // 4
65536: 11
1330926671: 11
1953658213: 11
1953784678: 3
default: 12
}
3: StackMap locals: int java.nio.ByteBuffer
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
pop
4: aload 0
aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield sun.font.TrueTypeFont.directoryCount:I
5: iload 1
aload 0
getfield sun.font.TrueTypeFont.directoryCount:I
if_icmplt 7
6: new java.awt.FontFormatException
dup
ldc "Bad collection index"
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.font.TrueTypeFont.fontIndex:I
8: aload 0
bipush 12
iconst_4
iload 1
imul
iadd
iconst_4
invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
astore 3
9: aload 3
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 2
10: goto 15
11: StackMap locals:
StackMap stack:
goto 15
12: StackMap locals:
StackMap stack:
new java.awt.FontFormatException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported sfnt "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
invokevirtual sun.font.TrueTypeFont.getPublicFileName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
iload 2
iconst_4
iadd
iconst_2
invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
astore 3
16: aload 0
aload 3
invokevirtual java.nio.ByteBuffer.getShort:()S
putfield sun.font.TrueTypeFont.numTables:I
17: aload 0
iload 2
bipush 12
iadd
putfield sun.font.TrueTypeFont.directoryOffset:I
18: aload 0
aload 0
getfield sun.font.TrueTypeFont.directoryOffset:I
19: aload 0
getfield sun.font.TrueTypeFont.numTables:I
bipush 16
imul
20: invokevirtual sun.font.TrueTypeFont.readBlock:(II)Ljava/nio/ByteBuffer;
astore 4
start local 4 21: aload 4
invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
astore 5
start local 5 22: aload 0
aload 0
getfield sun.font.TrueTypeFont.numTables:I
anewarray sun.font.TrueTypeFont$DirectoryEntry
putfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
23: iconst_0
istore 7
start local 7 24: goto 34
25: StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer top int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 7
new sun.font.TrueTypeFont$DirectoryEntry
dup
aload 0
invokespecial sun.font.TrueTypeFont$DirectoryEntry.<init>:(Lsun/font/TrueTypeFont;)V
dup
astore 6
start local 6 26: aastore
27: aload 6
aload 5
invokevirtual java.nio.IntBuffer.get:()I
putfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
28: aload 5
invokevirtual java.nio.IntBuffer.get:()I
pop
29: aload 6
aload 5
invokevirtual java.nio.IntBuffer.get:()I
putfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
30: aload 6
aload 5
invokevirtual java.nio.IntBuffer.get:()I
putfield sun.font.TrueTypeFont$DirectoryEntry.length:I
31: aload 6
getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
aload 6
getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
iadd
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmple 33
32: new java.awt.FontFormatException
dup
new java.lang.StringBuilder
dup
ldc "bad table, tag="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer sun.font.TrueTypeFont$DirectoryEntry int
StackMap stack:
iinc 7 1
end local 6 StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.IntBuffer top int
StackMap stack:
34: iload 7
aload 0
getfield sun.font.TrueTypeFont.numTables:I
if_icmplt 25
end local 7 35: aload 0
invokevirtual sun.font.TrueTypeFont.initNames:()V
end local 5 end local 4 36: goto 43
StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer
StackMap stack: java.lang.Exception
37: astore 4
start local 4 38: getstatic sun.font.FontManager.logging:Z
ifeq 40
39: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
40: StackMap locals: java.lang.Exception
StackMap stack:
aload 4
instanceof java.awt.FontFormatException
ifeq 42
41: aload 4
checkcast java.awt.FontFormatException
athrow
42: StackMap locals:
StackMap stack:
new java.awt.FontFormatException
dup
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 4 43: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
ifnull 44
aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
ifnonnull 45
44: StackMap locals:
StackMap stack:
new java.awt.FontFormatException
dup
ldc "Font name not found"
invokespecial java.awt.FontFormatException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
aload 0
ldc 1330851634
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 4
start local 4 46: aload 0
aload 4
invokevirtual sun.font.TrueTypeFont.setStyle:(Ljava/nio/ByteBuffer;)V
47: aload 0
aload 4
invokevirtual sun.font.TrueTypeFont.setCJKSupport:(Ljava/nio/ByteBuffer;)V
48: aload 0
ldc 1751474532
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 49: iconst_m1
istore 6
start local 6 50: aload 5
ifnull 55
aload 5
invokevirtual java.nio.ByteBuffer.capacity:()I
bipush 18
if_icmplt 55
51: aload 5
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
astore 7
start local 7 52: aload 7
bipush 9
invokevirtual java.nio.ShortBuffer.get:(I)S
ldc 65535
iand
istore 6
53: iload 6
bipush 16
if_icmplt 54
iload 6
sipush 16384
if_icmple 55
54: StackMap locals: sun.font.TrueTypeFont int int java.nio.ByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int java.nio.ShortBuffer
StackMap stack:
sipush 2048
istore 6
end local 7 55: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 6
invokevirtual sun.font.TrueTypeFont.setStrikethroughMetrics:(Ljava/nio/ByteBuffer;I)V
56: aload 0
ldc 1886352244
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 7
start local 7 57: aload 0
aload 7
iload 6
invokevirtual sun.font.TrueTypeFont.setUnderlineMetrics:(Ljava/nio/ByteBuffer;I)V
58: 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 59 0 this Lsun/font/TrueTypeFont;
0 59 1 fIndex I
1 59 2 headerOffset I
2 59 3 buffer Ljava/nio/ByteBuffer;
21 36 4 bbuffer Ljava/nio/ByteBuffer;
22 36 5 ibuffer Ljava/nio/IntBuffer;
26 34 6 table Lsun/font/TrueTypeFont$DirectoryEntry;
24 35 7 i I
38 43 4 e Ljava/lang/Exception;
46 59 4 os2_Table Ljava/nio/ByteBuffer;
49 59 5 head_Table Ljava/nio/ByteBuffer;
50 59 6 upem I
52 55 7 sb Ljava/nio/ShortBuffer;
57 59 7 post_Table Ljava/nio/ByteBuffer;
Exception table:
from to target type
2 36 37 Class java.lang.Exception
Exceptions:
throws java.awt.FontFormatException
MethodParameters:
Name Flags
fIndex
static java.lang.String getCodePage();
descriptor: ()Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=0
0: getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
ifnull 2
1: getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.font.FontManager.isWindows:Z
ifeq 7
3: new sun.security.action.GetPropertyAction
dup
ldc "file.encoding"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
5: putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
6: goto 27
7: StackMap locals:
StackMap stack:
getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
arraylength
getstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
arraylength
if_icmpeq 9
8: new java.lang.InternalError
dup
ldc "wrong code pages array length"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
invokestatic sun.awt.SunToolkit.getStartupLocale:()Ljava/util/Locale;
astore 0
start local 0 10: aload 0
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 1
start local 1 11: aload 1
ifnull 27
12: aload 1
ldc "zh"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
13: aload 0
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
astore 2
start local 2 14: aload 2
ifnull 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
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
end local 2 16: StackMap locals: java.util.Locale java.lang.String
StackMap stack:
iconst_0
istore 2
start local 2 17: goto 26
18: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 19: goto 24
20: StackMap locals: int
StackMap stack:
aload 1
getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
iload 2
aaload
iload 3
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: getstatic sun.font.TrueTypeFont.codePages:[Ljava/lang/String;
iload 2
aaload
putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
22: getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
areturn
23: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
24: iload 3
getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
iload 2
aaload
arraylength
if_icmplt 20
end local 3 25: iinc 2 1
StackMap locals:
StackMap stack:
26: iload 2
getstatic sun.font.TrueTypeFont.languages:[[Ljava/lang/String;
arraylength
if_icmplt 18
end local 2 end local 1 end local 0 27: StackMap locals:
StackMap stack:
getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
ifnonnull 29
28: ldc ""
putstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
29: StackMap locals:
StackMap stack:
getstatic sun.font.TrueTypeFont.defaultCodePage:Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
10 27 0 locale Ljava/util/Locale;
11 27 1 language Ljava/lang/String;
14 16 2 country Ljava/lang/String;
17 27 2 i I
19 25 3 l I
boolean supportsEncoding(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: invokestatic sun.font.TrueTypeFont.getCodePage:()Ljava/lang/String;
astore 1
2: StackMap locals:
StackMap stack:
ldc ""
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
5: aload 1
ldc "gb18030"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: ldc "gbk"
astore 1
7: goto 10
StackMap locals:
StackMap stack:
8: aload 1
ldc "ms950_hkscs"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: ldc "ms950"
astore 1
10: StackMap locals:
StackMap stack:
aload 0
ldc 1330851634
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 11: aload 2
ifnull 12
aload 2
invokevirtual java.nio.ByteBuffer.capacity:()I
bipush 86
if_icmpge 13
12: StackMap locals: java.nio.ByteBuffer
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 2
bipush 78
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 3
start local 3 14: aload 2
bipush 82
invokevirtual java.nio.ByteBuffer.getInt:(I)I
pop
15: iconst_0
istore 4
start local 4 16: goto 21
17: StackMap locals: int int
StackMap stack:
getstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
iload 4
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: iconst_1
iload 4
ishl
iload 3
iand
ifeq 20
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
getstatic sun.font.TrueTypeFont.encoding_mapping:[Ljava/lang/String;
arraylength
if_icmplt 17
end local 4 22: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/font/TrueTypeFont;
0 23 1 encoding Ljava/lang/String;
11 23 2 buffer Ljava/nio/ByteBuffer;
14 23 3 range1 I
16 22 4 em I
MethodParameters:
Name Flags
encoding
private void setCJKSupport(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
bipush 50
if_icmpge 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 1
bipush 46
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 2
start local 2 3: aload 0
iload 2
ldc 700383232
iand
ifeq 4
iconst_1
goto 5
StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int
StackMap stack: sun.font.TrueTypeFont
4: iconst_0
StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int
StackMap stack: sun.font.TrueTypeFont int
5: putfield sun.font.TrueTypeFont.supportsCJK:Z
6: aload 0
iload 2
ldc 393216
iand
ifeq 7
iconst_1
goto 8
StackMap locals:
StackMap stack: sun.font.TrueTypeFont
7: iconst_0
StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int
StackMap stack: sun.font.TrueTypeFont int
8: putfield sun.font.TrueTypeFont.supportsJA:Z
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/TrueTypeFont;
0 10 1 os2Table Ljava/nio/ByteBuffer;
3 10 2 range2 I
MethodParameters:
Name Flags
os2Table
boolean supportsJA();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.supportsJA:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/TrueTypeFont;
java.nio.ByteBuffer getTableBuffer(int);
descriptor: (I)Ljava/nio/ByteBuffer;
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_0
istore 3
start local 3 2: goto 7
3: StackMap locals: sun.font.TrueTypeFont$DirectoryEntry int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 3
aaload
getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
iload 1
if_icmpne 6
4: aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 3
aaload
astore 2
5: goto 8
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield sun.font.TrueTypeFont.numTables:I
if_icmplt 3
end local 3 8: StackMap locals:
StackMap stack:
aload 2
ifnull 10
aload 2
getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
ifeq 10
9: aload 2
getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
aload 2
getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
iadd
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
if_icmple 11
10: StackMap locals:
StackMap stack:
aconst_null
areturn
11: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 12: aload 2
getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 4
start local 4 13: aload 0
dup
astore 5
monitorenter
14: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
ifnonnull 16
15: aload 0
invokevirtual sun.font.TrueTypeFont.open:()Ljava/nio/channels/FileChannel;
pop
16: StackMap locals: int java.nio.ByteBuffer sun.font.TrueTypeFont
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
aload 2
getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
i2l
invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
pop
17: aload 0
getfield sun.font.TrueTypeFont.disposerRecord:Lsun/font/TrueTypeFont$TTDisposerRecord;
getfield sun.font.TrueTypeFont$TTDisposerRecord.channel:Ljava/nio/channels/FileChannel;
aload 4
invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
istore 3
18: aload 4
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
19: goto 31
StackMap locals:
StackMap stack: java.nio.channels.ClosedChannelException
20: pop
21: invokestatic java.lang.Thread.interrupted:()Z
pop
22: aload 0
invokevirtual sun.font.TrueTypeFont.close:()V
23: aload 0
iload 1
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
aload 5
monitorexit
24: areturn
25: StackMap locals:
StackMap stack: java.io.IOException
pop
26: aload 5
monitorexit
27: aconst_null
areturn
28: StackMap locals:
StackMap stack: java.awt.FontFormatException
pop
29: aload 5
monitorexit
30: aconst_null
areturn
31: StackMap locals:
StackMap stack:
iload 3
aload 2
getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
if_icmpge 34
32: aload 5
monitorexit
33: aconst_null
areturn
34: StackMap locals:
StackMap stack:
aload 4
aload 5
monitorexit
35: areturn
36: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
37: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/font/TrueTypeFont;
0 38 1 tag I
1 38 2 entry Lsun/font/TrueTypeFont$DirectoryEntry;
2 8 3 i I
12 38 3 bread I
13 38 4 buffer Ljava/nio/ByteBuffer;
Exception table:
from to target type
14 19 20 Class java.nio.channels.ClosedChannelException
14 19 25 Class java.io.IOException
14 19 28 Class java.awt.FontFormatException
14 24 36 any
25 27 36 any
28 30 36 any
31 33 36 any
34 35 36 any
36 37 36 any
MethodParameters:
Name Flags
tag
long getLayoutTableCache();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.TrueTypeFont.getScaler:()Lsun/font/FontScaler;
invokevirtual sun.font.FontScaler.getLayoutTableCache:()J
1: lreturn
2: StackMap locals:
StackMap stack: sun.font.FontScalerException
pop
3: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/TrueTypeFont;
Exception table:
from to target type
0 1 2 Class sun.font.FontScalerException
byte[] getTableBytes(int);
descriptor: (I)[B
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 7
4: aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
5: areturn
6: StackMap locals:
StackMap stack: java.lang.Exception
pop
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual sun.font.TrueTypeFont.getTableSize:(I)I
newarray 8
astore 3
start local 3 8: aload 2
aload 3
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/font/TrueTypeFont;
0 10 1 tag I
1 10 2 buffer Ljava/nio/ByteBuffer;
8 10 3 data [B
Exception table:
from to target type
4 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
tag
int getTableSize(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 2
aaload
getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
iload 1
if_icmpne 4
3: aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 2
aaload
getfield sun.font.TrueTypeFont$DirectoryEntry.length:I
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield sun.font.TrueTypeFont.numTables:I
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/TrueTypeFont;
0 7 1 tag I
1 6 2 i I
MethodParameters:
Name Flags
tag
int getTableOffset(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 2
aaload
getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
iload 1
if_icmpne 4
3: aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 2
aaload
getfield sun.font.TrueTypeFont$DirectoryEntry.offset:I
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield sun.font.TrueTypeFont.numTables:I
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/TrueTypeFont;
0 7 1 tag I
1 6 2 i I
MethodParameters:
Name Flags
tag
sun.font.TrueTypeFont$DirectoryEntry getDirectoryEntry(int);
descriptor: (I)Lsun/font/TrueTypeFont$DirectoryEntry;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 2
aaload
getfield sun.font.TrueTypeFont$DirectoryEntry.tag:I
iload 1
if_icmpne 4
3: aload 0
getfield sun.font.TrueTypeFont.tableDirectory:[Lsun/font/TrueTypeFont$DirectoryEntry;
iload 2
aaload
areturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield sun.font.TrueTypeFont.numTables:I
if_icmplt 2
end local 2 6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/TrueTypeFont;
0 7 1 tag I
1 6 2 i I
MethodParameters:
Name Flags
tag
boolean useEmbeddedBitmapsForSize(int);
descriptor: (I)Z
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.TrueTypeFont.supportsCJK:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc 1161972803
invokevirtual sun.font.TrueTypeFont.getDirectoryEntry:(I)Lsun/font/TrueTypeFont$DirectoryEntry;
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
ldc 1161972803
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 5: aload 2
iconst_4
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 12
8: StackMap locals: java.nio.ByteBuffer int int
StackMap stack:
aload 2
bipush 8
iload 4
bipush 48
imul
iadd
bipush 45
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 255
iand
istore 5
start local 5 9: iload 5
iload 1
if_icmpne 11
10: iconst_1
ireturn
end local 5 11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 3
if_icmplt 8
end local 4 13: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/font/TrueTypeFont;
0 14 1 ptSize I
5 14 2 eblcTable Ljava/nio/ByteBuffer;
6 14 3 numSizes I
7 13 4 i I
9 11 5 ppemY I
MethodParameters:
Name Flags
ptSize
public java.lang.String getFullName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/TrueTypeFont;
protected void setStyle();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
ldc 1330851634
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
invokevirtual sun.font.TrueTypeFont.setStyle:(Ljava/nio/ByteBuffer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/TrueTypeFont;
private void setStyle(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
bipush 64
if_icmpge 3
1: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.font.FileFont.setStyle:()V
2: return
3: StackMap locals:
StackMap stack:
aload 1
bipush 62
invokevirtual java.nio.ByteBuffer.getChar:(I)C
ldc 65535
iand
istore 2
start local 2 4: iload 2
iconst_1
iand
istore 3
start local 3 5: iload 2
bipush 32
iand
istore 4
start local 4 6: iload 2
bipush 64
iand
istore 5
start local 5 7: iload 5
ifeq 10
iload 3
iload 4
ior
ifeq 10
8: aload 0
invokespecial sun.font.FileFont.setStyle:()V
9: return
10: StackMap locals: sun.font.TrueTypeFont java.nio.ByteBuffer int int int int
StackMap stack:
iload 5
iload 3
ior
iload 4
ior
ifne 13
11: aload 0
invokespecial sun.font.FileFont.setStyle:()V
12: return
13: StackMap locals:
StackMap stack:
iload 4
iload 3
ior
lookupswitch { // 3
1: 14
32: 16
33: 21
default: 22
}
14: StackMap locals:
StackMap stack:
aload 0
iconst_2
putfield sun.font.TrueTypeFont.style:I
15: goto 22
16: StackMap locals:
StackMap stack:
getstatic sun.font.FontManager.isSolaris:Z
ifeq 19
aload 0
getfield sun.font.TrueTypeFont.platName:Ljava/lang/String;
ldc "HG-GothicB.ttf"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 19
17: aload 0
iconst_0
putfield sun.font.TrueTypeFont.style:I
18: goto 22
19: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.font.TrueTypeFont.style:I
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.font.TrueTypeFont.style:I
22: 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 23 0 this Lsun/font/TrueTypeFont;
0 23 1 os_2Table Ljava/nio/ByteBuffer;
4 23 2 fsSelection I
5 23 3 italic I
6 23 4 bold I
7 23 5 regular I
MethodParameters:
Name Flags
os_2Table
private void setStrikethroughMetrics(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
bipush 30
if_icmplt 1
iload 2
ifge 4
1: StackMap locals:
StackMap stack:
aload 0
ldc 0.05
putfield sun.font.TrueTypeFont.stSize:F
2: aload 0
ldc -0.4
putfield sun.font.TrueTypeFont.stPos:F
3: return
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
astore 3
start local 3 5: aload 0
aload 3
bipush 13
invokevirtual java.nio.ShortBuffer.get:(I)S
i2f
iload 2
i2f
fdiv
putfield sun.font.TrueTypeFont.stSize:F
6: aload 0
aload 3
bipush 14
invokevirtual java.nio.ShortBuffer.get:(I)S
ineg
i2f
iload 2
i2f
fdiv
putfield sun.font.TrueTypeFont.stPos:F
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/font/TrueTypeFont;
0 8 1 os_2Table Ljava/nio/ByteBuffer;
0 8 2 upem I
5 8 3 sb Ljava/nio/ShortBuffer;
MethodParameters:
Name Flags
os_2Table
upem
private void setUnderlineMetrics(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
bipush 12
if_icmplt 1
iload 2
ifge 4
1: StackMap locals:
StackMap stack:
aload 0
ldc 0.05
putfield sun.font.TrueTypeFont.ulSize:F
2: aload 0
ldc 0.1
putfield sun.font.TrueTypeFont.ulPos:F
3: return
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
astore 3
start local 3 5: aload 0
aload 3
iconst_5
invokevirtual java.nio.ShortBuffer.get:(I)S
i2f
iload 2
i2f
fdiv
putfield sun.font.TrueTypeFont.ulSize:F
6: aload 0
aload 3
iconst_4
invokevirtual java.nio.ShortBuffer.get:(I)S
ineg
i2f
iload 2
i2f
fdiv
putfield sun.font.TrueTypeFont.ulPos:F
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/font/TrueTypeFont;
0 8 1 postTable Ljava/nio/ByteBuffer;
0 8 2 upem I
5 8 3 sb Ljava/nio/ShortBuffer;
MethodParameters:
Name Flags
postTable
upem
public void getStyleMetrics(float, float[], int);
descriptor: (F[FI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 3
aload 0
getfield sun.font.TrueTypeFont.stPos:F
fload 1
fmul
fastore
1: aload 2
iload 3
iconst_1
iadd
aload 0
getfield sun.font.TrueTypeFont.stSize:F
fload 1
fmul
fastore
2: aload 2
iload 3
iconst_2
iadd
aload 0
getfield sun.font.TrueTypeFont.ulPos:F
fload 1
fmul
fastore
3: aload 2
iload 3
iconst_3
iadd
aload 0
getfield sun.font.TrueTypeFont.ulSize:F
fload 1
fmul
fastore
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/TrueTypeFont;
0 5 1 pointSize F
0 5 2 metrics [F
0 5 3 offset I
MethodParameters:
Name Flags
pointSize
metrics
offset
private java.lang.String makeString(byte[], int, short);
descriptor: ([BIS)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_2
if_icmplt 11
iload 3
bipush 6
if_icmpgt 11
1: aload 1
astore 4
start local 4 2: iload 2
istore 5
start local 5 3: iload 5
newarray 8
astore 1
4: iconst_0
istore 2
5: iconst_0
istore 6
start local 6 6: goto 10
7: StackMap locals: byte[] int int
StackMap stack:
aload 4
iload 6
baload
ifeq 9
8: aload 1
iload 2
iinc 2 1
aload 4
iload 6
baload
bastore
9: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 5
if_icmplt 7
end local 6 end local 5 end local 4 11: StackMap locals:
StackMap stack:
iload 3
tableswitch { // 0 - 6
0: 14
1: 12
2: 16
3: 18
4: 20
5: 22
6: 24
default: 26
}
12: StackMap locals:
StackMap stack:
ldc "UTF-16"
astore 4
start local 4 13: goto 27
end local 4 14: StackMap locals:
StackMap stack:
ldc "UTF-16"
astore 4
start local 4 15: goto 27
end local 4 16: StackMap locals:
StackMap stack:
ldc "SJIS"
astore 4
start local 4 17: goto 27
end local 4 18: StackMap locals:
StackMap stack:
ldc "GBK"
astore 4
start local 4 19: goto 27
end local 4 20: StackMap locals:
StackMap stack:
ldc "MS950"
astore 4
start local 4 21: goto 27
end local 4 22: StackMap locals:
StackMap stack:
ldc "EUC_KR"
astore 4
start local 4 23: goto 27
end local 4 24: StackMap locals:
StackMap stack:
ldc "Johab"
astore 4
start local 4 25: goto 27
end local 4 26: StackMap locals:
StackMap stack:
ldc "UTF-16"
astore 4
start local 4 27: StackMap locals: java.lang.String
StackMap stack:
new java.lang.String
dup
aload 1
iconst_0
iload 2
aload 4
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
28: areturn
29: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
astore 5
start local 5 30: getstatic sun.font.FontManager.logging:Z
ifeq 32
31: getstatic sun.font.FontManager.logger:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " EncodingID="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
32: StackMap locals: java.io.UnsupportedEncodingException
StackMap stack:
new java.lang.String
dup
aload 1
iconst_0
iload 2
invokespecial java.lang.String.<init>:([BII)V
areturn
end local 5 33: StackMap locals: sun.font.TrueTypeFont byte[] int int java.lang.String
StackMap stack: java.lang.Throwable
pop
34: aconst_null
areturn
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/TrueTypeFont;
0 35 1 bytes [B
0 35 2 len I
0 35 3 encoding S
2 11 4 oldbytes [B
3 11 5 oldlen I
6 11 6 i I
13 14 4 charset Ljava/lang/String;
15 16 4 charset Ljava/lang/String;
17 18 4 charset Ljava/lang/String;
19 20 4 charset Ljava/lang/String;
21 22 4 charset Ljava/lang/String;
23 24 4 charset Ljava/lang/String;
25 26 4 charset Ljava/lang/String;
27 35 4 charset Ljava/lang/String;
30 33 5 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
27 28 29 Class java.io.UnsupportedEncodingException
27 28 33 Class java.lang.Throwable
MethodParameters:
Name Flags
bytes
len
encoding
protected void initNames();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=1
start local 0 0: sipush 256
newarray 8
astore 1
start local 1 1: aload 0
ldc 1851878757
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 2: aload 2
ifnull 30
3: aload 2
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
astore 3
start local 3 4: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
pop
5: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
istore 4
start local 4 6: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
istore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 29
9: StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
StackMap stack:
aload 3
invokevirtual java.nio.ShortBuffer.get:()S
istore 7
start local 7 10: iload 7
iconst_3
if_icmpeq 13
11: aload 3
aload 3
invokevirtual java.nio.ShortBuffer.position:()I
iconst_5
iadd
invokevirtual java.nio.ShortBuffer.position:(I)Ljava/nio/Buffer;
pop
12: goto 28
13: StackMap locals: int
StackMap stack:
aload 3
invokevirtual java.nio.ShortBuffer.get:()S
istore 8
start local 8 14: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
istore 9
start local 9 15: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
istore 10
start local 10 16: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
istore 11
start local 11 17: aload 3
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
iload 5
iadd
istore 12
start local 12 18: iload 10
tableswitch { // 1 - 4
1: 19
2: 28
3: 28
4: 24
default: 28
}
19: StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int int int int int int
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
ifnull 20
iload 9
sipush 1033
if_icmpne 28
20: StackMap locals:
StackMap stack:
aload 2
iload 12
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
21: aload 2
aload 1
iconst_0
iload 11
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
22: aload 0
aload 0
aload 1
iload 11
iload 8
invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
putfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
23: goto 28
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
ifnull 25
iload 9
sipush 1033
if_icmpne 28
25: StackMap locals:
StackMap stack:
aload 2
iload 12
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
26: aload 2
aload 1
iconst_0
iload 11
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
27: aload 0
aload 0
aload 1
iload 11
iload 8
invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
putfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 28: StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
29: iload 6
iload 4
if_icmplt 9
end local 6 end local 5 end local 4 end local 3 30: StackMap locals: sun.font.TrueTypeFont byte[] java.nio.ByteBuffer
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/font/TrueTypeFont;
1 31 1 name [B
2 31 2 buffer Ljava/nio/ByteBuffer;
4 30 3 sbuffer Ljava/nio/ShortBuffer;
6 30 4 numRecords S
7 30 5 stringPtr I
8 30 6 i I
10 28 7 platformID S
14 28 8 encodingID S
15 28 9 langID S
16 28 10 nameID S
17 28 11 nameLen I
18 28 12 namePtr I
protected java.lang.String lookupName(short, int);
descriptor: (SI)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: sipush 1024
newarray 8
astore 4
start local 4 2: aload 0
ldc 1851878757
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 3: aload 5
ifnull 29
4: aload 5
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
astore 6
start local 6 5: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
pop
6: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
istore 7
start local 7 7: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
istore 8
start local 8 8: iconst_0
istore 9
start local 9 9: goto 28
10: StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
StackMap stack:
aload 6
invokevirtual java.nio.ShortBuffer.get:()S
istore 10
start local 10 11: iload 10
iconst_3
if_icmpeq 14
12: aload 6
aload 6
invokevirtual java.nio.ShortBuffer.position:()I
iconst_5
iadd
invokevirtual java.nio.ShortBuffer.position:(I)Ljava/nio/Buffer;
pop
13: goto 27
14: StackMap locals: int
StackMap stack:
aload 6
invokevirtual java.nio.ShortBuffer.get:()S
istore 11
start local 11 15: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
istore 12
start local 12 16: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
istore 13
start local 13 17: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
istore 14
start local 14 18: aload 6
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
iload 8
iadd
istore 15
start local 15 19: iload 13
iload 2
if_icmpne 27
20: aload 3
ifnonnull 21
iload 12
sipush 1033
if_icmpeq 22
21: StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int int int int int int int
StackMap stack:
iload 12
iload 1
if_icmpne 27
22: StackMap locals:
StackMap stack:
aload 5
iload 15
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
23: aload 5
aload 4
iconst_0
iload 14
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
24: aload 0
aload 4
iload 14
iload 11
invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
astore 3
25: iload 12
iload 1
if_icmpne 27
26: aload 3
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 27: StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
28: iload 9
iload 7
if_icmplt 10
end local 9 end local 8 end local 7 end local 6 29: StackMap locals: sun.font.TrueTypeFont int int java.lang.String byte[] java.nio.ByteBuffer
StackMap stack:
aload 3
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 30 0 this Lsun/font/TrueTypeFont;
0 30 1 findLocaleID S
0 30 2 findNameID I
1 30 3 foundName Ljava/lang/String;
2 30 4 name [B
3 30 5 buffer Ljava/nio/ByteBuffer;
5 29 6 sbuffer Ljava/nio/ShortBuffer;
7 29 7 numRecords S
8 29 8 stringPtr I
9 29 9 i I
11 27 10 platformID S
15 27 11 encodingID S
16 27 12 langID S
17 27 13 nameID S
18 27 14 nameLen I
19 27 15 namePtr I
MethodParameters:
Name Flags
findLocaleID
findNameID
public int getFontCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.directoryCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/TrueTypeFont;
protected synchronized sun.font.FontScaler getScaler();
descriptor: ()Lsun/font/FontScaler;
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
ifnonnull 4
1: aload 0
aload 0
aload 0
getfield sun.font.TrueTypeFont.fontIndex:I
2: aload 0
getfield sun.font.TrueTypeFont.supportsCJK:Z
aload 0
getfield sun.font.TrueTypeFont.fileSize:I
3: invokestatic sun.font.FontManager.getScaler:(Lsun/font/Font2D;IZI)Lsun/font/FontScaler;
putfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.scaler:Lsun/font/FontScaler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/TrueTypeFont;
public java.lang.String getPostscriptName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
sipush 1033
bipush 6
invokevirtual sun.font.TrueTypeFont.lookupName:(SI)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/TrueTypeFont;
1 4 1 name Ljava/lang/String;
public java.lang.String getFontName(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.font.FontManager.getLCIDFromLocale:(Ljava/util/Locale;)S
istore 2
start local 2 3: aload 0
iload 2
iconst_4
invokevirtual sun.font.TrueTypeFont.lookupName:(SI)Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
areturn
6: StackMap locals: int java.lang.String
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/TrueTypeFont;
0 7 1 locale Ljava/util/Locale;
3 7 2 localeID S
4 7 3 name Ljava/lang/String;
MethodParameters:
Name Flags
locale
public java.lang.String getFamilyName(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.font.FontManager.getLCIDFromLocale:(Ljava/util/Locale;)S
istore 2
start local 2 3: aload 0
iload 2
iconst_1
invokevirtual sun.font.TrueTypeFont.lookupName:(SI)Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: aload 0
getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
areturn
6: StackMap locals: int java.lang.String
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/TrueTypeFont;
0 7 1 locale Ljava/util/Locale;
3 7 2 localeID S
4 7 3 name Ljava/lang/String;
MethodParameters:
Name Flags
locale
public sun.font.CharToGlyphMapper getMapper();
descriptor: ()Lsun/font/CharToGlyphMapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
ifnonnull 2
1: aload 0
new sun.font.TrueTypeGlyphMapper
dup
aload 0
invokespecial sun.font.TrueTypeGlyphMapper.<init>:(Lsun/font/TrueTypeFont;)V
putfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.mapper:Lsun/font/CharToGlyphMapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/TrueTypeFont;
protected void initAllNames(int, java.util.HashSet);
descriptor: (ILjava/util/HashSet;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=14, args_size=3
start local 0 start local 1 start local 2 0: sipush 256
newarray 8
astore 3
start local 3 1: aload 0
ldc 1851878757
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 4
start local 4 2: aload 4
ifnull 24
3: aload 4
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
astore 5
start local 5 4: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
pop
5: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
istore 6
start local 6 6: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 23
9: StackMap locals: sun.font.TrueTypeFont int java.util.HashSet byte[] java.nio.ByteBuffer java.nio.ShortBuffer int int int
StackMap stack:
aload 5
invokevirtual java.nio.ShortBuffer.get:()S
istore 9
start local 9 10: iload 9
iconst_3
if_icmpeq 13
11: aload 5
aload 5
invokevirtual java.nio.ShortBuffer.position:()I
iconst_5
iadd
invokevirtual java.nio.ShortBuffer.position:(I)Ljava/nio/Buffer;
pop
12: goto 22
13: StackMap locals: int
StackMap stack:
aload 5
invokevirtual java.nio.ShortBuffer.get:()S
istore 10
start local 10 14: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
pop
15: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
istore 11
start local 11 16: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
istore 12
start local 12 17: aload 5
invokevirtual java.nio.ShortBuffer.get:()S
ldc 65535
iand
iload 7
iadd
istore 13
start local 13 18: iload 11
iload 1
if_icmpne 22
19: aload 4
iload 13
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
20: aload 4
aload 3
iconst_0
iload 12
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
21: aload 2
aload 0
aload 3
iload 12
iload 10
invokevirtual sun.font.TrueTypeFont.makeString:([BIS)Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 end local 11 end local 10 end local 9 22: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
23: iload 8
iload 6
if_icmplt 9
end local 8 end local 7 end local 6 end local 5 24: StackMap locals: sun.font.TrueTypeFont int java.util.HashSet byte[] java.nio.ByteBuffer
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 25 0 this Lsun/font/TrueTypeFont;
0 25 1 requestedID I
0 25 2 names Ljava/util/HashSet;
1 25 3 name [B
2 25 4 buffer Ljava/nio/ByteBuffer;
4 24 5 sbuffer Ljava/nio/ShortBuffer;
6 24 6 numRecords S
7 24 7 stringPtr I
8 24 8 i I
10 22 9 platformID S
14 22 10 encodingID S
16 22 11 nameID S
17 22 12 nameLen I
18 22 13 namePtr I
MethodParameters:
Name Flags
requestedID
names
java.lang.String[] getAllFamilyNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
iconst_1
aload 1
invokevirtual sun.font.TrueTypeFont.initAllNames:(ILjava/util/HashSet;)V
2: goto 4
StackMap locals: sun.font.TrueTypeFont java.util.HashSet
StackMap stack: java.lang.Exception
3: pop
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
anewarray java.lang.String
invokevirtual java.util.HashSet.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 5 0 this Lsun/font/TrueTypeFont;
1 5 1 aSet Ljava/util/HashSet;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
java.lang.String[] getAllFullNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
iconst_4
aload 1
invokevirtual sun.font.TrueTypeFont.initAllNames:(ILjava/util/HashSet;)V
2: goto 4
StackMap locals: sun.font.TrueTypeFont java.util.HashSet
StackMap stack: java.lang.Exception
3: pop
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
anewarray java.lang.String
invokevirtual java.util.HashSet.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 5 0 this Lsun/font/TrueTypeFont;
1 5 1 aSet Ljava/util/HashSet;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
java.awt.geom.Point2D$Float getGlyphPoint(long, int, int);
descriptor: (JII)Ljava/awt/geom/Point2D$Float;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
invokevirtual sun.font.TrueTypeFont.getScaler:()Lsun/font/FontScaler;
lload 1
1: iload 3
iload 4
2: invokevirtual sun.font.FontScaler.getGlyphPoint:(JII)Ljava/awt/geom/Point2D$Float;
3: areturn
4: StackMap locals:
StackMap stack: sun.font.FontScalerException
pop
5: aconst_null
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/TrueTypeFont;
0 6 1 pScalerContext J
0 6 3 glyphCode I
0 6 4 ptNumber I
Exception table:
from to target type
0 3 4 Class sun.font.FontScalerException
MethodParameters:
Name Flags
pScalerContext
glyphCode
ptNumber
private char[] getGaspTable();
descriptor: ()[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.font.TrueTypeFont.gaspTable:[C
ifnull 2
1: aload 0
getfield sun.font.TrueTypeFont.gaspTable:[C
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc 1734439792
invokevirtual sun.font.TrueTypeFont.getTableBuffer:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: aload 0
iconst_0
newarray 5
dup_x1
putfield sun.font.TrueTypeFont.gaspTable:[C
areturn
5: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.asCharBuffer:()Ljava/nio/CharBuffer;
astore 2
start local 2 6: aload 2
invokevirtual java.nio.CharBuffer.get:()C
istore 3
start local 3 7: iload 3
iconst_1
if_icmple 9
8: aload 0
iconst_0
newarray 5
dup_x1
putfield sun.font.TrueTypeFont.gaspTable:[C
areturn
9: StackMap locals: java.nio.CharBuffer int
StackMap stack:
aload 2
invokevirtual java.nio.CharBuffer.get:()C
istore 4
start local 4 10: iconst_4
iload 4
iconst_4
imul
iadd
aload 0
ldc 1734439792
invokevirtual sun.font.TrueTypeFont.getTableSize:(I)I
if_icmple 12
11: aload 0
iconst_0
newarray 5
dup_x1
putfield sun.font.TrueTypeFont.gaspTable:[C
areturn
12: StackMap locals: int
StackMap stack:
aload 0
iconst_2
iload 4
imul
newarray 5
putfield sun.font.TrueTypeFont.gaspTable:[C
13: aload 2
aload 0
getfield sun.font.TrueTypeFont.gaspTable:[C
invokevirtual java.nio.CharBuffer.get:([C)Ljava/nio/CharBuffer;
pop
14: aload 0
getfield sun.font.TrueTypeFont.gaspTable:[C
areturn
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/TrueTypeFont;
3 15 1 buffer Ljava/nio/ByteBuffer;
6 15 2 cbuffer Ljava/nio/CharBuffer;
7 15 3 format C
10 15 4 numRanges C
public boolean useAAForPtSize(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.font.TrueTypeFont.getGaspTable:()[C
astore 2
start local 2 1: aload 2
arraylength
ifle 10
2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: char[] int
StackMap stack:
iload 1
aload 2
iload 3
caload
if_icmpgt 7
5: aload 2
iload 3
iconst_1
iadd
caload
iconst_2
iand
ifeq 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iinc 3 2
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.TrueTypeFont.style:I
iconst_1
if_icmpne 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
iload 1
bipush 8
if_icmple 13
iload 1
bipush 18
if_icmpge 13
iconst_0
ireturn
StackMap locals:
StackMap stack:
13: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/font/TrueTypeFont;
0 14 1 ptsize I
1 14 2 gasp [C
3 9 3 i I
MethodParameters:
Name Flags
ptsize
public boolean hasSupplementaryChars();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.font.TrueTypeFont.getMapper:()Lsun/font/CharToGlyphMapper;
checkcast sun.font.TrueTypeGlyphMapper
invokevirtual sun.font.TrueTypeGlyphMapper.hasSupplementaryChars:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/TrueTypeFont;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "** TrueType Font: Family="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.font.TrueTypeFont.familyName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " Name="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.TrueTypeFont.fullName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc " style="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.font.TrueTypeFont.style:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " fileName="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual sun.font.TrueTypeFont.getPublicFileName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/TrueTypeFont;
}
SourceFile: "TrueTypeFont.java"
NestMembers:
sun.font.TrueTypeFont$1 sun.font.TrueTypeFont$DirectoryEntry sun.font.TrueTypeFont$TTDisposerRecord
InnerClasses:
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
sun.font.TrueTypeFont$1
DirectoryEntry = sun.font.TrueTypeFont$DirectoryEntry of sun.font.TrueTypeFont
private TTDisposerRecord = sun.font.TrueTypeFont$TTDisposerRecord of sun.font.TrueTypeFont