public class
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.fop.afp.apps.FontPatternExtractor
super_class: java.lang.Object
{
private java.io.PrintStream ;
descriptor: Ljava/io/PrintStream;
flags: (0x0002) ACC_PRIVATE
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
putfield org.apache.fop.afp.apps.FontPatternExtractor.printStream:Ljava/io/PrintStream;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/afp/apps/FontPatternExtractor;
public void (java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=21, args_size=3
start local 0 start local 1 start local 2 0: new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 3
start local 3 1: new org.apache.fop.afp.parser.MODCAParser
dup
aload 3
invokespecial org.apache.fop.afp.parser.MODCAParser.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 2: new org.apache.commons.io.output.ByteArrayOutputStream
dup
invokespecial org.apache.commons.io.output.ByteArrayOutputStream.<init>:()V
astore 5
start local 5 3: goto 9
start local 6 4: StackMap locals: org.apache.fop.afp.apps.FontPatternExtractor java.io.File java.io.File java.io.InputStream org.apache.fop.afp.parser.MODCAParser org.apache.commons.io.output.ByteArrayOutputStream org.apache.fop.afp.parser.UnparsedStructuredField
StackMap stack:
aload 6
invokevirtual org.apache.fop.afp.parser.UnparsedStructuredField.getSfTypeID:()I
ldc 13889161
if_icmpne 9
5: aload 6
invokevirtual org.apache.fop.afp.parser.UnparsedStructuredField.getData:()[B
astore 7
start local 7 6: aload 0
aload 6
invokevirtual org.apache.fop.afp.parser.UnparsedStructuredField.toString:()Ljava/lang/String;
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
7: aload 7
lconst_0
aload 0
getfield org.apache.fop.afp.apps.FontPatternExtractor.printStream:Ljava/io/PrintStream;
iconst_0
invokestatic org.apache.commons.io.HexDump.dump:([BJLjava/io/OutputStream;I)V
8: aload 5
aload 7
invokevirtual org.apache.commons.io.output.ByteArrayOutputStream.write:([B)V
end local 7 end local 6 9: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.fop.afp.parser.MODCAParser.readNextStructuredField:()Lorg/apache/fop/afp/parser/UnparsedStructuredField;
dup
astore 6
start local 6 10: ifnonnull 4
11: new java.io.ByteArrayInputStream
dup
aload 5
invokevirtual org.apache.commons.io.output.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 7
start local 7 12: aload 5
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/OutputStream;)V
13: new java.io.DataInputStream
dup
aload 7
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 8
start local 8 14: aload 8
invokevirtual java.io.DataInputStream.readInt:()I
i2l
ldc 4294967295
land
lstore 9
start local 9 15: aload 0
new java.lang.StringBuilder
dup
ldc "Length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
16: aload 8
ldc 4
invokevirtual java.io.DataInputStream.skip:(J)J
ldc 4
lcmp
ifeq 18
17: new java.io.IOException
dup
ldc "premature EOF when skipping checksum"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: org.apache.fop.afp.apps.FontPatternExtractor java.io.File java.io.File java.io.InputStream org.apache.fop.afp.parser.MODCAParser org.apache.commons.io.output.ByteArrayOutputStream org.apache.fop.afp.parser.UnparsedStructuredField java.io.ByteArrayInputStream java.io.DataInputStream long
StackMap stack:
aload 8
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iconst_2
isub
istore 11
start local 11 19: iload 11
newarray 8
astore 12
start local 12 20: aload 8
aload 12
invokevirtual java.io.DataInputStream.readFully:([B)V
21: new java.lang.String
dup
aload 12
ldc "ISO-8859-1"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 13
start local 13 22: aload 0
aload 13
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.countUSAsciiCharacters:(Ljava/lang/String;)I
istore 14
start local 14 23: new java.lang.String
dup
aload 12
ldc "Cp1146"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 15
start local 15 24: aload 0
aload 15
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.countUSAsciiCharacters:(Ljava/lang/String;)I
istore 16
start local 16 25: aload 0
new java.lang.StringBuilder
dup
ldc "TID: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
26: iload 16
iload 14
if_icmple 28
27: aload 15
astore 13
28: StackMap locals: org.apache.fop.afp.apps.FontPatternExtractor java.io.File java.io.File java.io.InputStream org.apache.fop.afp.parser.MODCAParser org.apache.commons.io.output.ByteArrayOutputStream org.apache.fop.afp.parser.UnparsedStructuredField java.io.ByteArrayInputStream java.io.DataInputStream long int byte[] java.lang.String int java.lang.String int
StackMap stack:
aload 13
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc ".pfb"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 30
29: new java.lang.StringBuilder
dup
aload 13
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".pfb"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
30: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Output filename: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
31: new java.io.File
dup
aload 2
aload 13
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 17
start local 17 32: new java.io.FileOutputStream
dup
aload 17
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 18
start local 18 33: aload 8
aload 18
invokestatic org.apache.commons.io.IOUtils.copyLarge:(Ljava/io/InputStream;Ljava/io/OutputStream;)J
pop2
34: goto 38
StackMap locals: org.apache.fop.afp.apps.FontPatternExtractor java.io.File java.io.File java.io.InputStream org.apache.fop.afp.parser.MODCAParser org.apache.commons.io.output.ByteArrayOutputStream org.apache.fop.afp.parser.UnparsedStructuredField java.io.ByteArrayInputStream java.io.DataInputStream long int byte[] java.lang.String int java.lang.String int java.io.File java.io.OutputStream
StackMap stack: java.lang.Throwable
35: astore 19
36: aload 18
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/OutputStream;)V
37: aload 19
athrow
38: StackMap locals:
StackMap stack:
aload 18
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/OutputStream;)V
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 39: goto 43
StackMap locals: org.apache.fop.afp.apps.FontPatternExtractor java.io.File java.io.File java.io.InputStream
StackMap stack: java.lang.Throwable
40: astore 20
41: aload 3
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/InputStream;)V
42: aload 20
athrow
43: StackMap locals:
StackMap stack:
aload 3
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/InputStream;)V
44: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/apache/fop/afp/apps/FontPatternExtractor;
0 45 1 file Ljava/io/File;
0 45 2 targetDir Ljava/io/File;
1 45 3 in Ljava/io/InputStream;
2 39 4 parser Lorg/apache/fop/afp/parser/MODCAParser;
3 39 5 baout Lorg/apache/commons/io/output/ByteArrayOutputStream;
4 9 6 strucField Lorg/apache/fop/afp/parser/UnparsedStructuredField;
10 39 6 strucField Lorg/apache/fop/afp/parser/UnparsedStructuredField;
6 9 7 sfData [B
12 39 7 bin Ljava/io/ByteArrayInputStream;
14 39 8 din Ljava/io/DataInputStream;
15 39 9 len J
19 39 11 tidLen I
20 39 12 tid [B
22 39 13 filename Ljava/lang/String;
23 39 14 asciiCount1 I
24 39 15 filenameEBCDIC Ljava/lang/String;
25 39 16 asciiCount2 I
32 39 17 out Ljava/io/File;
33 39 18 fout Ljava/io/OutputStream;
Exception table:
from to target type
33 35 35 any
1 40 40 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
targetDir
private void (java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.afp.apps.FontPatternExtractor.printStream:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/afp/apps/FontPatternExtractor;
0 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.afp.apps.FontPatternExtractor.printStream:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/afp/apps/FontPatternExtractor;
private int (java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 1
invokevirtual java.lang.String.length:()I
istore 4
start local 4 3: goto 7
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
sipush 128
if_icmpge 6
5: iinc 2 1
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 4
end local 4 end local 3 8: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/fop/afp/apps/FontPatternExtractor;
0 9 1 filename Ljava/lang/String;
1 9 2 count I
2 8 3 i I
3 8 4 c I
MethodParameters:
Name Flags
filename
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: new org.apache.fop.afp.apps.FontPatternExtractor
dup
invokespecial org.apache.fop.afp.apps.FontPatternExtractor.<init>:()V
astore 1
start local 1 1: aload 1
ldc "Font Pattern Extractor"
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
2: aload 1
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:()V
3: aload 0
arraylength
ifle 12
4: aload 0
iconst_0
aaload
astore 2
start local 2 5: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 6: aload 3
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 4
start local 4 7: aload 0
arraylength
iconst_1
if_icmple 10
8: new java.io.File
dup
aload 0
iconst_1
aaload
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
9: aload 4
invokevirtual java.io.File.mkdirs:()Z
pop
10: StackMap locals: java.lang.String[] org.apache.fop.afp.apps.FontPatternExtractor java.lang.String java.io.File java.io.File
StackMap stack:
aload 1
aload 3
aload 4
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.extract:(Ljava/io/File;Ljava/io/File;)V
end local 4 end local 3 end local 2 11: goto 22
12: StackMap locals:
StackMap stack:
aload 1
ldc "This tool tries to extract the PFB file from an AFP outline font."
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
13: aload 1
invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:()V
14: aload 1
new java.lang.StringBuilder
dup
ldc "Usage: Java -cp ... "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/apache/fop/afp/apps/FontPatternExtractor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: ldc " <afp-font-file> [<target-dir>]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual org.apache.fop.afp.apps.FontPatternExtractor.println:(Ljava/lang/String;)V
17: iconst_m1
invokestatic java.lang.System.exit:(I)V
end local 1 18: goto 22
StackMap locals: java.lang.String[]
StackMap stack: java.lang.Exception
19: astore 1
start local 1 20: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
21: iconst_m1
invokestatic java.lang.System.exit:(I)V
end local 1 22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 args [Ljava/lang/String;
1 18 1 app Lorg/apache/fop/afp/apps/FontPatternExtractor;
5 11 2 filename Ljava/lang/String;
6 11 3 file Ljava/io/File;
7 11 4 targetDir Ljava/io/File;
20 22 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 18 19 Class java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "FontPatternExtractor.java"