public class org.apache.fop.fonts.GlyphMapping
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.fop.fonts.GlyphMapping
super_class: java.lang.Object
{
private static final org.apache.commons.logging.Log LOG;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public final int startIndex;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final int endIndex;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private int wordCharLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public final int wordSpaceCount;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public int letterSpaceCount;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public org.apache.fop.traits.MinOptMax areaIPD;
descriptor: Lorg/apache/fop/traits/MinOptMax;
flags: (0x0001) ACC_PUBLIC
public final boolean isHyphenated;
descriptor: Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final boolean isSpace;
descriptor: Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public boolean breakOppAfter;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
public final org.apache.fop.fonts.Font font;
descriptor: Lorg/apache/fop/fonts/Font;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final int level;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final int[][] gposAdjustments;
descriptor: [[I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public java.lang.String mapping;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public java.util.List associations;
descriptor: Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/fop/fonts/GlyphMapping;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.fop.fonts.GlyphMapping.$assertionsDisabled:Z
3: ldc Lorg/apache/fop/fonts/GlyphMapping;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.apache.fop.fonts.GlyphMapping.LOG:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, int, int, int, org.apache.fop.traits.MinOptMax, boolean, boolean, boolean, org.apache.fop.fonts.Font, int, int[][]);
descriptor: (IIIILorg/apache/fop/traits/MinOptMax;ZZZLorg/apache/fop/fonts/Font;I[[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=14, locals=12, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
iload 1
iload 2
iload 3
iload 4
aload 5
iload 6
1: iload 7
iload 8
aload 9
iload 10
aload 11
aconst_null
aconst_null
invokespecial org.apache.fop.fonts.GlyphMapping.<init>:(IIIILorg/apache/fop/traits/MinOptMax;ZZZLorg/apache/fop/fonts/Font;I[[ILjava/lang/String;Ljava/util/List;)V
2: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/GlyphMapping;
0 3 1 startIndex I
0 3 2 endIndex I
0 3 3 wordSpaceCount I
0 3 4 letterSpaceCount I
0 3 5 areaIPD Lorg/apache/fop/traits/MinOptMax;
0 3 6 isHyphenated Z
0 3 7 isSpace Z
0 3 8 breakOppAfter Z
0 3 9 font Lorg/apache/fop/fonts/Font;
0 3 10 level I
0 3 11 gposAdjustments [[I
MethodParameters:
Name Flags
startIndex
endIndex
wordSpaceCount
letterSpaceCount
areaIPD
isHyphenated
isSpace
breakOppAfter
font
level
gposAdjustments
public void <init>(int, int, int, int, org.apache.fop.traits.MinOptMax, boolean, boolean, boolean, org.apache.fop.fonts.Font, int, int[][], java.lang.String, java.util.List);
descriptor: (IIIILorg/apache/fop/traits/MinOptMax;ZZZLorg/apache/fop/fonts/Font;I[[ILjava/lang/String;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=14, args_size=14
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.apache.fop.fonts.GlyphMapping.$assertionsDisabled:Z
ifne 2
iload 1
iload 2
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.apache.fop.fonts.GlyphMapping int int int int org.apache.fop.traits.MinOptMax int int int org.apache.fop.fonts.Font int int[][] java.lang.String java.util.List
StackMap stack:
aload 0
iload 1
putfield org.apache.fop.fonts.GlyphMapping.startIndex:I
3: aload 0
iload 2
putfield org.apache.fop.fonts.GlyphMapping.endIndex:I
4: aload 0
iconst_m1
putfield org.apache.fop.fonts.GlyphMapping.wordCharLength:I
5: aload 0
iload 3
putfield org.apache.fop.fonts.GlyphMapping.wordSpaceCount:I
6: aload 0
iload 4
putfield org.apache.fop.fonts.GlyphMapping.letterSpaceCount:I
7: aload 0
aload 5
putfield org.apache.fop.fonts.GlyphMapping.areaIPD:Lorg/apache/fop/traits/MinOptMax;
8: aload 0
iload 6
putfield org.apache.fop.fonts.GlyphMapping.isHyphenated:Z
9: aload 0
iload 7
putfield org.apache.fop.fonts.GlyphMapping.isSpace:Z
10: aload 0
iload 8
putfield org.apache.fop.fonts.GlyphMapping.breakOppAfter:Z
11: aload 0
aload 9
putfield org.apache.fop.fonts.GlyphMapping.font:Lorg/apache/fop/fonts/Font;
12: aload 0
iload 10
putfield org.apache.fop.fonts.GlyphMapping.level:I
13: aload 0
aload 11
putfield org.apache.fop.fonts.GlyphMapping.gposAdjustments:[[I
14: aload 0
aload 12
putfield org.apache.fop.fonts.GlyphMapping.mapping:Ljava/lang/String;
15: aload 0
aload 13
putfield org.apache.fop.fonts.GlyphMapping.associations:Ljava/util/List;
16: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/fop/fonts/GlyphMapping;
0 17 1 startIndex I
0 17 2 endIndex I
0 17 3 wordSpaceCount I
0 17 4 letterSpaceCount I
0 17 5 areaIPD Lorg/apache/fop/traits/MinOptMax;
0 17 6 isHyphenated Z
0 17 7 isSpace Z
0 17 8 breakOppAfter Z
0 17 9 font Lorg/apache/fop/fonts/Font;
0 17 10 level I
0 17 11 gposAdjustments [[I
0 17 12 mapping Ljava/lang/String;
0 17 13 associations Ljava/util/List;
MethodParameters:
Name Flags
startIndex
endIndex
wordSpaceCount
letterSpaceCount
areaIPD
isHyphenated
isSpace
breakOppAfter
font
level
gposAdjustments
mapping
associations
public static org.apache.fop.fonts.GlyphMapping doGlyphMapping(org.apache.fop.fonts.TextFragment, int, int, org.apache.fop.fonts.Font, org.apache.fop.traits.MinOptMax, org.apache.fop.traits.MinOptMax[], char, char, boolean, int, boolean, boolean, boolean);
descriptor: (Lorg/apache/fop/fonts/TextFragment;IILorg/apache/fop/fonts/Font;Lorg/apache/fop/traits/MinOptMax;[Lorg/apache/fop/traits/MinOptMax;CCZIZZZ)Lorg/apache/fop/fonts/GlyphMapping;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=14, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: aload 3
invokevirtual org.apache.fop.fonts.Font.performsSubstitution:()Z
ifne 1
aload 3
invokevirtual org.apache.fop.fonts.Font.performsPositioning:()Z
ifeq 6
1: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
2: iload 7
iload 8
iload 9
3: iload 10
iload 11
iload 12
4: invokestatic org.apache.fop.fonts.GlyphMapping.processWordMapping:(Lorg/apache/fop/fonts/TextFragment;IILorg/apache/fop/fonts/Font;CZIZZZ)Lorg/apache/fop/fonts/GlyphMapping;
astore 13
start local 13 5: goto 9
end local 13 6: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
7: aload 4
aload 5
iload 6
iload 7
iload 8
iload 9
8: invokestatic org.apache.fop.fonts.GlyphMapping.processWordNoMapping:(Lorg/apache/fop/fonts/TextFragment;IILorg/apache/fop/fonts/Font;Lorg/apache/fop/traits/MinOptMax;[Lorg/apache/fop/traits/MinOptMax;CCZI)Lorg/apache/fop/fonts/GlyphMapping;
astore 13
start local 13 9: StackMap locals: org.apache.fop.fonts.GlyphMapping
StackMap stack:
aload 13
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 text Lorg/apache/fop/fonts/TextFragment;
0 10 1 startIndex I
0 10 2 endIndex I
0 10 3 font Lorg/apache/fop/fonts/Font;
0 10 4 letterSpaceIPD Lorg/apache/fop/traits/MinOptMax;
0 10 5 letterSpaceAdjustArray [Lorg/apache/fop/traits/MinOptMax;
0 10 6 precedingChar C
0 10 7 breakOpportunityChar C
0 10 8 endsWithHyphen Z
0 10 9 level I
0 10 10 dontOptimizeForIdentityMapping Z
0 10 11 retainAssociations Z
0 10 12 retainControls Z
5 6 13 mapping Lorg/apache/fop/fonts/GlyphMapping;
9 10 13 mapping Lorg/apache/fop/fonts/GlyphMapping;
MethodParameters:
Name Flags
text
startIndex
endIndex
font
letterSpaceIPD
letterSpaceAdjustArray
precedingChar
breakOpportunityChar
endsWithHyphen final
level
dontOptimizeForIdentityMapping
retainAssociations
retainControls
private static org.apache.fop.fonts.GlyphMapping processWordMapping(org.apache.fop.fonts.TextFragment, int, int, org.apache.fop.fonts.Font, char, boolean, int, boolean, boolean, boolean);
descriptor: (Lorg/apache/fop/fonts/TextFragment;IILorg/apache/fop/fonts/Font;CZIZZZ)Lorg/apache/fop/fonts/GlyphMapping;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=15, locals=22, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: iconst_0
istore 10
start local 10 1: aload 0
invokeinterface org.apache.fop.fonts.TextFragment.getScript:()Ljava/lang/String;
astore 11
start local 11 2: aload 0
invokeinterface org.apache.fop.fonts.TextFragment.getLanguage:()Ljava/lang/String;
astore 12
start local 12 3: getstatic org.apache.fop.fonts.GlyphMapping.LOG:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 9
4: getstatic org.apache.fop.fonts.GlyphMapping.LOG:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "PW: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]: {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " +M"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc ", level = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc " }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
9: StackMap locals: int java.lang.String java.lang.String
StackMap stack:
aload 0
iload 1
iload 2
invokeinterface org.apache.fop.fonts.TextFragment.subSequence:(II)Ljava/lang/CharSequence;
astore 13
start local 13 10: aload 11
ifnull 11
ldc "auto"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 13
invokestatic org.apache.fop.complexscripts.util.CharScript.dominantScript:(Ljava/lang/CharSequence;)I
invokestatic org.apache.fop.complexscripts.util.CharScript.scriptTagFromCode:(I)Ljava/lang/String;
astore 11
12: StackMap locals:
StackMap stack:
aload 12
ifnull 13
ldc "none"
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: StackMap locals:
StackMap stack:
ldc "dflt"
astore 12
14: StackMap locals:
StackMap stack:
iload 8
ifeq 15
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
goto 16
StackMap locals:
StackMap stack:
15: aconst_null
StackMap locals:
StackMap stack: java.util.ArrayList
16: astore 14
start local 14 17: ldc "zyyy"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
ldc "auto"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: StackMap locals: java.util.List
StackMap stack:
ldc "*"
astore 11
19: StackMap locals:
StackMap stack:
aload 3
aload 13
aload 11
aload 12
aload 14
iload 9
invokevirtual org.apache.fop.fonts.Font.performSubstitution:(Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Z)Ljava/lang/CharSequence;
astore 15
start local 15 20: aconst_null
astore 16
start local 16 21: aload 3
invokevirtual org.apache.fop.fonts.Font.performsPositioning:()Z
ifeq 23
22: aload 3
aload 15
aload 11
aload 12
invokevirtual org.apache.fop.fonts.Font.performPositioning:(Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;)[[I
astore 16
23: StackMap locals: java.lang.CharSequence int[][]
StackMap stack:
aload 3
aload 11
aload 12
invokestatic org.apache.fop.fonts.GlyphMapping.useKerningAdjustments:(Lorg/apache/fop/fonts/Font;Ljava/lang/String;Ljava/lang/String;)Z
ifeq 25
24: aload 15
aload 3
aload 16
invokestatic org.apache.fop.fonts.GlyphMapping.getKerningAdjustments:(Ljava/lang/CharSequence;Lorg/apache/fop/fonts/Font;[[I)[[I
astore 16
25: StackMap locals:
StackMap stack:
aload 3
aload 15
aload 16
aload 11
aload 12
aload 14
invokevirtual org.apache.fop.fonts.Font.reorderCombiningMarks:(Ljava/lang/CharSequence;[[ILjava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/CharSequence;
astore 15
26: getstatic org.apache.fop.traits.MinOptMax.ZERO:Lorg/apache/fop/traits/MinOptMax;
astore 17
start local 17 27: iconst_0
istore 18
start local 18 28: aload 15
invokeinterface java.lang.CharSequence.length:()I
istore 19
start local 19 29: goto 40
30: StackMap locals: org.apache.fop.traits.MinOptMax int int
StackMap stack:
aload 15
iload 18
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 20
start local 20 31: aload 15
iload 18
invokestatic org.apache.fop.util.CharUtilities.containsSurrogatePairAt:(Ljava/lang/CharSequence;I)Z
ifeq 33
32: iload 20
i2c
aload 15
iinc 18 1
iload 18
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 20
33: StackMap locals: int
StackMap stack:
aload 3
iload 20
invokevirtual org.apache.fop.fonts.Font.getCharWidth:(I)I
istore 21
start local 21 34: iload 21
ifge 36
35: iconst_0
istore 21
36: StackMap locals: int
StackMap stack:
aload 16
ifnull 38
37: iload 21
aload 16
iload 18
aaload
iconst_2
iaload
iadd
istore 21
38: StackMap locals:
StackMap stack:
aload 17
iload 21
invokevirtual org.apache.fop.traits.MinOptMax.plus:(I)Lorg/apache/fop/traits/MinOptMax;
astore 17
end local 21 end local 20 39: iinc 18 1
StackMap locals:
StackMap stack:
40: iload 18
iload 19
if_icmplt 30
end local 19 end local 18 41: new org.apache.fop.fonts.GlyphMapping
dup
iload 1
iload 2
iconst_0
iload 10
aload 17
iload 5
iconst_0
42: iload 4
ifeq 43
iconst_1
goto 44
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font int int int int int int int java.lang.String java.lang.String java.lang.CharSequence java.util.List java.lang.CharSequence int[][] org.apache.fop.traits.MinOptMax
StackMap stack: new 41 new 41 int int int int org.apache.fop.traits.MinOptMax int int
43: iconst_0
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font int int int int int int int java.lang.String java.lang.String java.lang.CharSequence java.util.List java.lang.CharSequence int[][] org.apache.fop.traits.MinOptMax
StackMap stack: new 41 new 41 int int int int org.apache.fop.traits.MinOptMax int int int
44: aload 3
iload 6
aload 16
45: iload 7
ifne 46
aload 15
aload 13
invokestatic org.apache.fop.util.CharUtilities.isSameSequence:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
ifeq 46
aconst_null
goto 47
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font int int int int int int int java.lang.String java.lang.String java.lang.CharSequence java.util.List java.lang.CharSequence int[][] org.apache.fop.traits.MinOptMax
StackMap stack: new 41 new 41 int int int int org.apache.fop.traits.MinOptMax int int int org.apache.fop.fonts.Font int int[][]
46: aload 15
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
47: StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font int int int int int int int java.lang.String java.lang.String java.lang.CharSequence java.util.List java.lang.CharSequence int[][] org.apache.fop.traits.MinOptMax
StackMap stack: new 41 new 41 int int int int org.apache.fop.traits.MinOptMax int int int org.apache.fop.fonts.Font int int[][] java.lang.String
aload 14
48: invokespecial org.apache.fop.fonts.GlyphMapping.<init>:(IIIILorg/apache/fop/traits/MinOptMax;ZZZLorg/apache/fop/fonts/Font;I[[ILjava/lang/String;Ljava/util/List;)V
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 text Lorg/apache/fop/fonts/TextFragment;
0 49 1 startIndex I
0 49 2 endIndex I
0 49 3 font Lorg/apache/fop/fonts/Font;
0 49 4 breakOpportunityChar C
0 49 5 endsWithHyphen Z
0 49 6 level I
0 49 7 dontOptimizeForIdentityMapping Z
0 49 8 retainAssociations Z
0 49 9 retainControls Z
1 49 10 nLS I
2 49 11 script Ljava/lang/String;
3 49 12 language Ljava/lang/String;
10 49 13 ics Ljava/lang/CharSequence;
17 49 14 associations Ljava/util/List;
20 49 15 mcs Ljava/lang/CharSequence;
21 49 16 gpa [[I
27 49 17 ipd Lorg/apache/fop/traits/MinOptMax;
28 41 18 i I
29 41 19 n I
31 39 20 c I
34 39 21 w I
MethodParameters:
Name Flags
text
startIndex
endIndex
font final
breakOpportunityChar final
endsWithHyphen final
level
dontOptimizeForIdentityMapping
retainAssociations
retainControls
private static boolean useKerningAdjustments(org.apache.fop.fonts.Font, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/fop/fonts/Font;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.fop.fonts.Font.hasKerning:()Z
ifeq 1
aload 0
iconst_2
aload 1
aload 2
ldc "kern"
invokevirtual org.apache.fop.fonts.Font.hasFeature:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 font Lorg/apache/fop/fonts/Font;
0 2 1 script Ljava/lang/String;
0 2 2 language Ljava/lang/String;
MethodParameters:
Name Flags
font final
script
language
private static int[][] getKerningAdjustments(java.lang.CharSequence, org.apache.fop.fonts.Font, int[][]);
descriptor: (Ljava/lang/CharSequence;Lorg/apache/fop/fonts/Font;[[I)[[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 0
invokeinterface java.lang.CharSequence.length:()I
invokestatic java.lang.Character.codePointCount:(Ljava/lang/CharSequence;II)I
istore 3
start local 3 1: iload 3
newarray 10
astore 4
start local 4 2: iconst_m1
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: aload 0
invokestatic org.apache.fop.util.CharUtilities.codepointsIter:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 10
StackMap locals: java.lang.CharSequence org.apache.fop.fonts.Font int[][] int int[] int int top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 6: iload 5
iflt 8
7: aload 4
iload 6
aload 1
iload 5
iload 7
invokevirtual org.apache.fop.fonts.Font.getKernValue:(II)I
iastore
8: StackMap locals: java.lang.CharSequence org.apache.fop.fonts.Font int[][] int int[] int int int java.util.Iterator
StackMap stack:
iload 7
istore 5
9: iinc 6 1
end local 7 10: StackMap locals: java.lang.CharSequence org.apache.fop.fonts.Font int[][] int int[] int int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: iconst_0
istore 7
start local 7 12: aload 4
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 18
StackMap locals: java.lang.CharSequence org.apache.fop.fonts.Font int[][] int int[] int int int top int int int[]
StackMap stack:
13: aload 11
iload 9
iaload
istore 8
start local 8 14: iload 8
ifeq 17
15: iconst_1
istore 7
16: goto 19
end local 8 17: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
18: iload 9
iload 10
if_icmplt 13
19: StackMap locals: java.lang.CharSequence org.apache.fop.fonts.Font int[][] int int[] int int int
StackMap stack:
iload 7
ifeq 28
20: aload 2
ifnonnull 22
21: iload 3
iconst_4
multianewarray [[I 2
astore 2
22: StackMap locals:
StackMap stack:
iconst_0
istore 6
goto 26
23: StackMap locals:
StackMap stack:
iload 6
ifle 25
24: aload 2
iload 6
iconst_1
isub
aaload
iconst_2
dup2
iaload
aload 4
iload 6
iaload
iadd
iastore
25: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
26: iload 6
iload 3
if_icmplt 23
27: aload 2
areturn
28: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 mcs Ljava/lang/CharSequence;
0 29 1 font Lorg/apache/fop/fonts/Font;
0 29 2 gpa [[I
1 29 3 numCodepoints I
2 29 4 kernings [I
3 29 5 prevCp I
4 29 6 i I
6 10 7 cp I
12 29 7 hasKerning Z
14 17 8 kerningValue I
MethodParameters:
Name Flags
mcs
font final
gpa
private static org.apache.fop.fonts.GlyphMapping processWordNoMapping(org.apache.fop.fonts.TextFragment, int, int, org.apache.fop.fonts.Font, org.apache.fop.traits.MinOptMax, org.apache.fop.traits.MinOptMax[], char, char, boolean, int);
descriptor: (Lorg/apache/fop/fonts/TextFragment;IILorg/apache/fop/fonts/Font;Lorg/apache/fop/traits/MinOptMax;[Lorg/apache/fop/traits/MinOptMax;CCZI)Lorg/apache/fop/fonts/GlyphMapping;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=13, locals=19, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 3
invokevirtual org.apache.fop.fonts.Font.hasKerning:()Z
istore 10
start local 10 1: getstatic org.apache.fop.traits.MinOptMax.ZERO:Lorg/apache/fop/traits/MinOptMax;
astore 11
start local 11 2: getstatic org.apache.fop.fonts.GlyphMapping.LOG:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 8
3: getstatic org.apache.fop.fonts.GlyphMapping.LOG:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "PW: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]: {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " -M"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc ", level = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: ldc " }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
8: StackMap locals: int org.apache.fop.traits.MinOptMax
StackMap stack:
aload 0
iload 1
iload 2
invokeinterface org.apache.fop.fonts.TextFragment.subSequence:(II)Ljava/lang/CharSequence;
astore 12
start local 12 9: iconst_0
istore 13
start local 13 10: aload 12
invokestatic org.apache.fop.util.CharUtilities.codepointsIter:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 15
goto 26
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font org.apache.fop.traits.MinOptMax org.apache.fop.traits.MinOptMax[] int int int int int org.apache.fop.traits.MinOptMax java.lang.CharSequence int top java.util.Iterator
StackMap stack:
11: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 14
start local 14 12: aload 3
iload 14
invokevirtual org.apache.fop.fonts.Font.getCharWidth:(I)I
istore 16
start local 16 13: aload 11
iload 16
invokevirtual org.apache.fop.traits.MinOptMax.plus:(I)Lorg/apache/fop/traits/MinOptMax;
astore 11
14: iload 10
ifeq 25
15: iconst_0
istore 17
start local 17 16: iload 13
ifle 20
17: aload 12
iload 13
iconst_1
isub
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 18
start local 18 18: aload 3
iload 18
iload 14
invokevirtual org.apache.fop.fonts.Font.getKernValue:(II)I
istore 17
end local 18 19: goto 22
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font org.apache.fop.traits.MinOptMax org.apache.fop.traits.MinOptMax[] int int int int int org.apache.fop.traits.MinOptMax java.lang.CharSequence int int java.util.Iterator int int
StackMap stack:
20: iload 6
ifeq 22
21: aload 3
iload 6
iload 14
invokevirtual org.apache.fop.fonts.Font.getKernValue:(II)I
istore 17
22: StackMap locals:
StackMap stack:
iload 17
ifeq 25
23: aload 5
iload 1
iload 13
iadd
iload 17
invokestatic org.apache.fop.fonts.GlyphMapping.addToLetterAdjust:([Lorg/apache/fop/traits/MinOptMax;II)V
24: aload 11
iload 17
invokevirtual org.apache.fop.traits.MinOptMax.plus:(I)Lorg/apache/fop/traits/MinOptMax;
astore 11
end local 17 25: StackMap locals:
StackMap stack:
iinc 13 1
end local 16 end local 14 26: StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font org.apache.fop.traits.MinOptMax org.apache.fop.traits.MinOptMax[] int int int int int org.apache.fop.traits.MinOptMax java.lang.CharSequence int top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
27: iload 10
ifeq 39
28: iload 7
ifeq 39
29: iload 7
invokestatic org.apache.fop.fonts.GlyphMapping.isSpace:(C)Z
ifne 39
30: iload 2
ifle 39
31: iload 8
ifeq 39
32: aload 0
iload 2
iconst_1
isub
invokeinterface org.apache.fop.fonts.TextFragment.charAt:(I)C
istore 14
start local 14 33: iload 14
i2c
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 36
34: aload 0
iload 2
iconst_2
isub
invokeinterface org.apache.fop.fonts.TextFragment.charAt:(I)C
istore 15
start local 15 35: iload 15
iload 14
i2c
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 14
end local 15 36: StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font org.apache.fop.traits.MinOptMax org.apache.fop.traits.MinOptMax[] int int int int int org.apache.fop.traits.MinOptMax java.lang.CharSequence int int
StackMap stack:
aload 3
iload 14
iload 7
invokevirtual org.apache.fop.fonts.Font.getKernValue:(II)I
istore 15
start local 15 37: iload 15
ifeq 39
38: aload 5
iload 2
iload 15
invokestatic org.apache.fop.fonts.GlyphMapping.addToLetterAdjust:([Lorg/apache/fop/traits/MinOptMax;II)V
end local 15 end local 14 39: StackMap locals:
StackMap stack:
iload 2
iload 1
isub
istore 14
start local 14 40: iconst_0
istore 15
start local 15 41: iload 14
ifeq 45
42: iload 14
iconst_1
isub
istore 15
43: iload 7
ifeq 45
iload 7
invokestatic org.apache.fop.fonts.GlyphMapping.isSpace:(C)Z
ifne 45
44: iinc 15 1
45: StackMap locals: int int
StackMap stack:
getstatic org.apache.fop.fonts.GlyphMapping.$assertionsDisabled:Z
ifne 46
iload 15
ifge 46
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
46: StackMap locals:
StackMap stack:
aload 11
aload 4
iload 15
invokevirtual org.apache.fop.traits.MinOptMax.mult:(I)Lorg/apache/fop/traits/MinOptMax;
invokevirtual org.apache.fop.traits.MinOptMax.plus:(Lorg/apache/fop/traits/MinOptMax;)Lorg/apache/fop/traits/MinOptMax;
astore 11
47: new org.apache.fop.fonts.GlyphMapping
dup
iload 1
iload 2
iconst_0
iload 15
aload 11
iload 8
iconst_0
48: iload 7
ifeq 49
iload 7
invokestatic org.apache.fop.fonts.GlyphMapping.isSpace:(C)Z
ifne 49
iconst_1
goto 50
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font org.apache.fop.traits.MinOptMax org.apache.fop.traits.MinOptMax[] int int int int int org.apache.fop.traits.MinOptMax java.lang.CharSequence int int int
StackMap stack: new 47 new 47 int int int int org.apache.fop.traits.MinOptMax int int
49: iconst_0
StackMap locals: org.apache.fop.fonts.TextFragment int int org.apache.fop.fonts.Font org.apache.fop.traits.MinOptMax org.apache.fop.traits.MinOptMax[] int int int int int org.apache.fop.traits.MinOptMax java.lang.CharSequence int int int
StackMap stack: new 47 new 47 int int int int org.apache.fop.traits.MinOptMax int int int
50: aload 3
iload 9
aconst_null
51: invokespecial org.apache.fop.fonts.GlyphMapping.<init>:(IIIILorg/apache/fop/traits/MinOptMax;ZZZLorg/apache/fop/fonts/Font;I[[I)V
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 text Lorg/apache/fop/fonts/TextFragment;
0 52 1 startIndex I
0 52 2 endIndex I
0 52 3 font Lorg/apache/fop/fonts/Font;
0 52 4 letterSpaceIPD Lorg/apache/fop/traits/MinOptMax;
0 52 5 letterSpaceAdjustArray [Lorg/apache/fop/traits/MinOptMax;
0 52 6 precedingChar C
0 52 7 breakOpportunityChar C
0 52 8 endsWithHyphen Z
0 52 9 level I
1 52 10 kerning Z
2 52 11 wordIPD Lorg/apache/fop/traits/MinOptMax;
9 52 12 ics Ljava/lang/CharSequence;
10 52 13 offset I
12 26 14 currentChar I
13 26 16 charWidth I
16 25 17 kern I
18 19 18 previousChar I
33 39 14 endChar I
35 36 15 highSurrogate C
37 39 15 kern I
40 52 14 wordLength I
41 52 15 letterSpaces I
MethodParameters:
Name Flags
text
startIndex
endIndex
font final
letterSpaceIPD
letterSpaceAdjustArray
precedingChar
breakOpportunityChar final
endsWithHyphen final
level
private static void addToLetterAdjust(org.apache.fop.traits.MinOptMax[], int, int);
descriptor: ([Lorg/apache/fop/traits/MinOptMax;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aaload
ifnonnull 3
1: aload 0
iload 1
iload 2
invokestatic org.apache.fop.traits.MinOptMax.getInstance:(I)Lorg/apache/fop/traits/MinOptMax;
aastore
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 0
iload 1
aaload
iload 2
invokevirtual org.apache.fop.traits.MinOptMax.plus:(I)Lorg/apache/fop/traits/MinOptMax;
aastore
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 letterSpaceAdjustArray [Lorg/apache/fop/traits/MinOptMax;
0 5 1 index I
0 5 2 width I
MethodParameters:
Name Flags
letterSpaceAdjustArray
index
width
public static boolean isSpace(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 32
if_icmpeq 4
1: iload 0
invokestatic org.apache.fop.util.CharUtilities.isNonBreakableSpace:(I)Z
ifne 4
2: iload 0
invokestatic org.apache.fop.util.CharUtilities.isFixedWidthSpace:(I)Z
ifne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ch C
MethodParameters:
Name Flags
ch final
public int getWordLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.GlyphMapping.wordCharLength:I
iconst_m1
if_icmpne 6
1: aload 0
getfield org.apache.fop.fonts.GlyphMapping.mapping:Ljava/lang/String;
ifnull 4
2: aload 0
aload 0
getfield org.apache.fop.fonts.GlyphMapping.mapping:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
putfield org.apache.fop.fonts.GlyphMapping.wordCharLength:I
3: goto 6
4: StackMap locals:
StackMap stack:
getstatic org.apache.fop.fonts.GlyphMapping.$assertionsDisabled:Z
ifne 5
aload 0
getfield org.apache.fop.fonts.GlyphMapping.endIndex:I
aload 0
getfield org.apache.fop.fonts.GlyphMapping.startIndex:I
if_icmpge 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.fop.fonts.GlyphMapping.endIndex:I
aload 0
getfield org.apache.fop.fonts.GlyphMapping.startIndex:I
isub
putfield org.apache.fop.fonts.GlyphMapping.wordCharLength:I
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.fonts.GlyphMapping.wordCharLength:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/fop/fonts/GlyphMapping;
public void addToAreaIPD(org.apache.fop.traits.MinOptMax);
descriptor: (Lorg/apache/fop/traits/MinOptMax;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.apache.fop.fonts.GlyphMapping.areaIPD:Lorg/apache/fop/traits/MinOptMax;
aload 1
invokevirtual org.apache.fop.traits.MinOptMax.plus:(Lorg/apache/fop/traits/MinOptMax;)Lorg/apache/fop/traits/MinOptMax;
putfield org.apache.fop.fonts.GlyphMapping.areaIPD:Lorg/apache/fop/traits/MinOptMax;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/GlyphMapping;
0 2 1 idp Lorg/apache/fop/traits/MinOptMax;
MethodParameters:
Name Flags
idp
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
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
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;
1: ldc "interval = ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.startIndex:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.endIndex:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc ", isSpace = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.isSpace:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
3: ldc ", level = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc ", areaIPD = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.areaIPD:Lorg/apache/fop/traits/MinOptMax;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: ldc ", letterSpaceCount = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.letterSpaceCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: ldc ", wordSpaceCount = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.wordSpaceCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc ", isHyphenated = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.isHyphenated:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
8: ldc ", font = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.fop.fonts.GlyphMapping.font:Lorg/apache/fop/fonts/Font;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/fop/fonts/GlyphMapping;
}
SourceFile: "GlyphMapping.java"