public class org.apache.fop.fonts.MultiByteFont extends org.apache.fop.fonts.CIDFont implements org.apache.fop.complexscripts.fonts.Substitutable, org.apache.fop.complexscripts.fonts.Positionable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.fop.fonts.MultiByteFont
super_class: org.apache.fop.fonts.CIDFont
{
private static final org.apache.commons.logging.Log log;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String ttcName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String encoding;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int defaultWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.fonts.CIDFontType cidType;
descriptor: Lorg/apache/fop/fonts/CIDFontType;
flags: (0x0002) ACC_PRIVATE
protected final org.apache.fop.fonts.CIDSet cidSet;
descriptor: Lorg/apache/fop/fonts/CIDSet;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private org.apache.fop.complexscripts.fonts.GlyphDefinitionTable gdef;
descriptor: Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable gsub;
descriptor: Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.complexscripts.fonts.GlyphPositioningTable gpos;
descriptor: Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
flags: (0x0002) ACC_PRIVATE
private int numMapped;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int numUnmapped;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nextPrivateUse;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int firstPrivate;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastPrivate;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int firstUnmapped;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastUnmapped;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected java.awt.Rectangle[] boundingBoxes;
descriptor: [Ljava/awt/Rectangle;
flags: (0x0004) ACC_PROTECTED
private boolean isOTFFile;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int NUM_MOST_LIKELY_GLYPHS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private int[] mostLikelyGlyphs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private java.util.LinkedHashMap<java.lang.Integer, java.lang.String> usedGlyphNames;
descriptor: Ljava/util/LinkedHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedHashMap<Ljava/lang/Integer;Ljava/lang/String;>;
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/MultiByteFont;
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.MultiByteFont.$assertionsDisabled:Z
3: ldc Lorg/apache/fop/fonts/MultiByteFont;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
4: putstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.fop.apps.io.InternalResourceResolver, org.apache.fop.fonts.EmbeddingMode);
descriptor: (Lorg/apache/fop/apps/io/InternalResourceResolver;Lorg/apache/fop/fonts/EmbeddingMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.apache.fop.fonts.CIDFont.<init>:(Lorg/apache/fop/apps/io/InternalResourceResolver;)V
1: aload 0
ldc "Identity-H"
putfield org.apache.fop.fonts.MultiByteFont.encoding:Ljava/lang/String;
2: aload 0
getstatic org.apache.fop.fonts.CIDFontType.CIDTYPE2:Lorg/apache/fop/fonts/CIDFontType;
putfield org.apache.fop.fonts.MultiByteFont.cidType:Lorg/apache/fop/fonts/CIDFontType;
3: aload 0
ldc 57344
putfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
4: aload 0
sipush 256
newarray 10
putfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
5: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield org.apache.fop.fonts.MultiByteFont.usedGlyphNames:Ljava/util/LinkedHashMap;
6: aload 0
getstatic org.apache.fop.fonts.FontType.TYPE0:Lorg/apache/fop/fonts/FontType;
invokevirtual org.apache.fop.fonts.MultiByteFont.setFontType:(Lorg/apache/fop/fonts/FontType;)V
7: aload 0
aload 2
invokevirtual org.apache.fop.fonts.MultiByteFont.setEmbeddingMode:(Lorg/apache/fop/fonts/EmbeddingMode;)V
8: aload 2
getstatic org.apache.fop.fonts.EmbeddingMode.FULL:Lorg/apache/fop/fonts/EmbeddingMode;
if_acmpeq 11
9: aload 0
new org.apache.fop.fonts.CIDSubset
dup
aload 0
invokespecial org.apache.fop.fonts.CIDSubset.<init>:(Lorg/apache/fop/fonts/MultiByteFont;)V
putfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
10: goto 12
11: StackMap locals: org.apache.fop.fonts.MultiByteFont org.apache.fop.apps.io.InternalResourceResolver org.apache.fop.fonts.EmbeddingMode
StackMap stack:
aload 0
new org.apache.fop.fonts.CIDFull
dup
aload 0
invokespecial org.apache.fop.fonts.CIDFull.<init>:(Lorg/apache/fop/fonts/MultiByteFont;)V
putfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 13 1 resourceResolver Lorg/apache/fop/apps/io/InternalResourceResolver;
0 13 2 embeddingMode Lorg/apache/fop/fonts/EmbeddingMode;
MethodParameters:
Name Flags
resourceResolver
embeddingMode
public int getDefaultWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.defaultWidth:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public java.lang.String getRegistry();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "Adobe"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public java.lang.String getOrdering();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "UCS"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public int getSupplement();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public org.apache.fop.fonts.CIDFontType getCIDType();
descriptor: ()Lorg/apache/fop/fonts/CIDFontType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidType:Lorg/apache/fop/fonts/CIDFontType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public void setIsOTFFile(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 isOTFFile Z
MethodParameters:
Name Flags
isOTFFile
public boolean isOTFFile();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public void setCIDType(org.apache.fop.fonts.CIDFontType);
descriptor: (Lorg/apache/fop/fonts/CIDFontType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.cidType:Lorg/apache/fop/fonts/CIDFontType;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 cidType Lorg/apache/fop/fonts/CIDFontType;
MethodParameters:
Name Flags
cidType
public java.lang.String getEmbedFontName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
ifeq 2
1: aload 0
invokespecial org.apache.fop.fonts.CIDFont.getFontName:()Ljava/lang/String;
invokestatic org.apache.fop.fonts.FontUtil.stripWhiteSpace:(Ljava/lang/String;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial org.apache.fop.fonts.CIDFont.getFontName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/MultiByteFont;
public boolean isEmbeddable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getEmbedFileURI:()Ljava/net/URI;
ifnonnull 1
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getEmbedResourceName:()Ljava/lang/String;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/MultiByteFont;
public boolean isSubsetEmbedded();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getEmbeddingMode:()Lorg/apache/fop/fonts/EmbeddingMode;
getstatic org.apache.fop.fonts.EmbeddingMode.FULL:Lorg/apache/fop/fonts/EmbeddingMode;
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/MultiByteFont;
public org.apache.fop.fonts.CIDSet getCIDSet();
descriptor: ()Lorg/apache/fop/fonts/CIDSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public void mapUsedGlyphName(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.usedGlyphNames:Ljava/util/LinkedHashMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 gid I
0 2 2 value Ljava/lang/String;
MethodParameters:
Name Flags
gid
value
public java.util.LinkedHashMap<java.lang.Integer, java.lang.String> getUsedGlyphNames();
descriptor: ()Ljava/util/LinkedHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.usedGlyphNames:Ljava/util/LinkedHashMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
Signature: ()Ljava/util/LinkedHashMap<Ljava/lang/Integer;Ljava/lang/String;>;
public java.lang.String getEncodingName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.encoding:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public int getWidth(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
ifeq 3
1: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
iload 1
invokeinterface org.apache.fop.fonts.CIDSet.getOriginalGlyphIndex:(I)I
istore 3
start local 3 2: iload 2
aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
iload 3
iaload
imul
ireturn
end local 3 3: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
iload 1
iaload
imul
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 4 1 i I
0 4 2 size I
2 3 3 glyphIndex I
MethodParameters:
Name Flags
i
size
public int[] getWidths();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
arraylength
newarray 10
astore 1
start local 1 1: aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
iconst_0
aload 1
iconst_0
aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/MultiByteFont;
1 3 1 arr [I
public java.awt.Rectangle getBoundingBox(int, int);
descriptor: (II)Ljava/awt/Rectangle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
ifeq 1
aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
iload 1
invokeinterface org.apache.fop.fonts.CIDSet.getOriginalGlyphIndex:(I)I
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 0
getfield org.apache.fop.fonts.MultiByteFont.boundingBoxes:[Ljava/awt/Rectangle;
iload 3
aaload
astore 4
start local 4 4: new java.awt.Rectangle
dup
aload 4
getfield java.awt.Rectangle.x:I
iload 2
imul
aload 4
getfield java.awt.Rectangle.y:I
iload 2
imul
aload 4
getfield java.awt.Rectangle.width:I
iload 2
imul
aload 4
getfield java.awt.Rectangle.height:I
iload 2
imul
invokespecial java.awt.Rectangle.<init>:(IIII)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 5 1 glyphIndex I
0 5 2 size I
3 5 3 index I
4 5 4 bbox Ljava/awt/Rectangle;
MethodParameters:
Name Flags
glyphIndex
size
public int findGlyphIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iload 2
sipush 256
if_icmpge 4
aload 0
getfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
iload 2
iaload
ifeq 4
3: aload 0
getfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
iload 2
iaload
ireturn
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.fop.fonts.MultiByteFont.cmap:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: org.apache.fop.fonts.MultiByteFont int int int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.fonts.CMapSegment
astore 4
start local 4 6: iload 3
ifne 18
7: aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
iload 2
if_icmpgt 18
8: aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
iload 2
if_icmplt 18
9: aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
10: iload 2
11: iadd
12: aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
13: isub
istore 3
14: iload 2
sipush 256
if_icmpge 16
15: aload 0
getfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
iload 2
iload 3
iastore
16: StackMap locals: org.apache.fop.fonts.MultiByteFont int int int org.apache.fop.fonts.CMapSegment java.util.Iterator
StackMap stack:
iload 3
ifeq 18
17: goto 19
end local 4 18: StackMap locals: org.apache.fop.fonts.MultiByteFont int int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
19: StackMap locals: org.apache.fop.fonts.MultiByteFont int int int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 20 1 c I
1 20 2 idx I
2 20 3 retIdx I
6 18 4 i Lorg/apache/fop/fonts/CMapSegment;
MethodParameters:
Name Flags
c
protected synchronized void addPrivateUseMapping(int, int);
descriptor: (II)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.fop.fonts.MultiByteFont.$assertionsDisabled:Z
ifne 1
aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.fonts.MultiByteFont.cmap:Ljava/util/List;
new org.apache.fop.fonts.CMapSegment
dup
iload 1
iload 1
iload 2
invokespecial org.apache.fop.fonts.CMapSegment.<init>:(III)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 3 1 pu I
0 3 2 gi I
MethodParameters:
Name Flags
pu
gi
private int createPrivateUseMapping(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
iconst_1
iadd
putfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
ldc 63744
if_icmpge 4
3: aload 0
aload 0
getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
ifne 1
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
ldc 63744
if_icmpge 18
5: aload 0
getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
istore 2
start local 2 6: aload 0
iload 2
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.addPrivateUseMapping:(II)V
7: aload 0
getfield org.apache.fop.fonts.MultiByteFont.firstPrivate:I
ifne 9
8: aload 0
iload 2
putfield org.apache.fop.fonts.MultiByteFont.firstPrivate:I
9: StackMap locals: int
StackMap stack:
aload 0
iload 2
putfield org.apache.fop.fonts.MultiByteFont.lastPrivate:I
10: aload 0
dup
getfield org.apache.fop.fonts.MultiByteFont.numMapped:I
iconst_1
iadd
putfield org.apache.fop.fonts.MultiByteFont.numMapped:I
11: getstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 17
12: getstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Create private use mapping from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: iload 2
invokestatic org.apache.fop.util.CharUtilities.format:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc " to glyph index "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
15: ldc " in font '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getFullName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
17: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 18: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.fonts.MultiByteFont.firstUnmapped:I
ifne 20
19: aload 0
iload 1
putfield org.apache.fop.fonts.MultiByteFont.firstUnmapped:I
20: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.apache.fop.fonts.MultiByteFont.lastUnmapped:I
21: aload 0
dup
getfield org.apache.fop.fonts.MultiByteFont.numUnmapped:I
iconst_1
iadd
putfield org.apache.fop.fonts.MultiByteFont.numUnmapped:I
22: getstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Exhausted private use area: unable to map "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 0
getfield org.apache.fop.fonts.MultiByteFont.numUnmapped:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " glyphs in glyph index range ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 0
getfield org.apache.fop.fonts.MultiByteFont.firstUnmapped: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.MultiByteFont.lastUnmapped:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
25: ldc "] (inclusive) of font '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getFullName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
27: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 28 1 gi I
6 18 2 pu I
MethodParameters:
Name Flags
gi
private int findCharacterFromGlyphIndex(int, boolean);
descriptor: (IZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cmap:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: org.apache.fop.fonts.MultiByteFont int int int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.fonts.CMapSegment
astore 4
start local 4 3: aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
istore 6
start local 6 4: iload 6
aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
isub
iadd
istore 7
start local 7 5: iload 1
iload 6
if_icmplt 8
iload 1
iload 7
if_icmpgt 8
6: aload 4
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
iload 1
iload 6
isub
iadd
istore 3
7: goto 9
end local 7 end local 6 end local 4 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: StackMap locals: org.apache.fop.fonts.MultiByteFont int int int
StackMap stack:
iload 3
ifne 11
iload 2
ifeq 11
10: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.createPrivateUseMapping:(I)I
istore 3
11: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 12 1 gi I
0 12 2 augment Z
1 12 3 cc I
3 8 4 segment Lorg/apache/fop/fonts/CMapSegment;
4 8 6 s I
5 8 7 e I
MethodParameters:
Name Flags
gi
augment
private int findCharacterFromGlyphIndex(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
invokevirtual org.apache.fop.fonts.MultiByteFont.findCharacterFromGlyphIndex:(IZ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 1 1 gi I
MethodParameters:
Name Flags
gi
protected java.util.BitSet getGlyphIndices();
descriptor: ()Ljava/util/BitSet;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=1
start local 0 0: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 1
start local 1 1: aload 1
iconst_0
invokevirtual java.util.BitSet.set:(I)V
2: aload 1
iconst_1
invokevirtual java.util.BitSet.set:(I)V
3: aload 1
iconst_2
invokevirtual java.util.BitSet.set:(I)V
4: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cmap:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: org.apache.fop.fonts.MultiByteFont java.util.BitSet top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.fonts.CMapSegment
astore 2
start local 2 6: aload 2
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
istore 4
start local 4 7: aload 2
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
istore 5
start local 5 8: aload 2
invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
istore 6
start local 6 9: goto 11
10: StackMap locals: org.apache.fop.fonts.MultiByteFont java.util.BitSet org.apache.fop.fonts.CMapSegment java.util.Iterator int int int
StackMap stack:
aload 1
iload 6
iinc 6 1
invokevirtual java.util.BitSet.set:(I)V
11: StackMap locals:
StackMap stack:
iload 4
iinc 4 1
iload 5
iconst_1
iadd
if_icmplt 10
end local 6 end local 5 end local 4 end local 2 12: StackMap locals: org.apache.fop.fonts.MultiByteFont java.util.BitSet top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/fop/fonts/MultiByteFont;
1 14 1 bitset Ljava/util/BitSet;
6 12 2 i Lorg/apache/fop/fonts/CMapSegment;
7 12 4 start I
8 12 5 end I
9 12 6 glyphIndex I
protected char[] getChars();
descriptor: ()[C
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
arraylength
newarray 5
astore 1
start local 1 1: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cmap:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: org.apache.fop.fonts.MultiByteFont char[] top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.fonts.CMapSegment
astore 2
start local 2 3: aload 2
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
istore 4
start local 4 4: aload 2
invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
istore 5
start local 5 5: aload 2
invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
istore 6
start local 6 6: goto 8
7: StackMap locals: org.apache.fop.fonts.MultiByteFont char[] org.apache.fop.fonts.CMapSegment java.util.Iterator int int int
StackMap stack:
aload 1
iload 6
iinc 6 1
iload 4
iinc 4 1
i2c
castore
8: StackMap locals:
StackMap stack:
iload 4
iload 5
iconst_1
iadd
if_icmplt 7
end local 6 end local 5 end local 4 end local 2 9: StackMap locals: org.apache.fop.fonts.MultiByteFont char[] top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/fop/fonts/MultiByteFont;
1 11 1 chars [C
3 9 2 i Lorg/apache/fop/fonts/CMapSegment;
4 9 4 start I
5 9 5 end I
6 9 6 glyphIndex I
public char mapChar(char);
descriptor: (C)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.notifyMapOperation:()V
1: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
istore 2
start local 2 2: iload 2
ifne 6
3: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.warnMissingGlyph:(C)V
4: aload 0
getfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
ifne 6
5: aload 0
bipush 35
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
istore 2
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
ifeq 8
7: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
iload 2
iload 1
invokeinterface org.apache.fop.fonts.CIDSet.mapChar:(IC)I
istore 2
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.isCID:()Z
ifeq 10
iload 2
sipush 256
if_icmple 10
9: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.mapUnencodedChar:(C)C
pop
10: StackMap locals:
StackMap stack:
iload 2
i2c
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 11 1 c C
2 11 2 glyphIndex I
MethodParameters:
Name Flags
c
public int mapCodePoint(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.notifyMapOperation:()V
1: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
istore 2
start local 2 2: iload 2
ifne 10
3: iload 1
invokestatic java.lang.Character.toChars:(I)[C
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: org.apache.fop.fonts.MultiByteFont int int top int int char[]
StackMap stack:
4: aload 6
iload 4
caload
istore 3
start local 3 5: aload 0
iload 3
invokevirtual org.apache.fop.fonts.MultiByteFont.warnMissingGlyph:(C)V
end local 3 6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 4
8: aload 0
getfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
ifne 10
9: aload 0
bipush 35
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
istore 2
10: StackMap locals: org.apache.fop.fonts.MultiByteFont int int
StackMap stack:
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
ifeq 12
11: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
iload 2
iload 1
invokeinterface org.apache.fop.fonts.CIDSet.mapCodePoint:(II)I
istore 2
12: StackMap locals:
StackMap stack:
iload 2
i2c
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 13 1 cp I
2 13 2 glyphIndex I
5 6 3 ch C
MethodParameters:
Name Flags
cp
public boolean hasChar(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.hasCodePoint:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 1 1 c C
MethodParameters:
Name Flags
c
public boolean hasCodePoint(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 cp I
MethodParameters:
Name Flags
cp
public void setDefaultWidth(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.fop.fonts.MultiByteFont.defaultWidth:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 defaultWidth I
MethodParameters:
Name Flags
defaultWidth
public java.lang.String getTTCName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.ttcName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public void setTTCName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.ttcName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 ttcName Ljava/lang/String;
MethodParameters:
Name Flags
ttcName
public void setWidthArray(int[]);
descriptor: ([I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.width:[I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 wds [I
MethodParameters:
Name Flags
wds
public void setBBoxArray(java.awt.Rectangle[]);
descriptor: ([Ljava/awt/Rectangle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.boundingBoxes:[Ljava/awt/Rectangle;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 2 1 boundingBoxes [Ljava/awt/Rectangle;
MethodParameters:
Name Flags
boundingBoxes
public java.util.Map<java.lang.Integer, java.lang.Integer> getUsedGlyphs();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
invokeinterface org.apache.fop.fonts.CIDSet.getGlyphs:()Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
Signature: ()Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;
public char getUnicodeFromGID(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
iload 1
invokeinterface org.apache.fop.fonts.CIDSet.getUnicodeFromGID:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 1 1 glyphIndex I
MethodParameters:
Name Flags
glyphIndex
public int getGIDFromChar(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
iload 1
invokeinterface org.apache.fop.fonts.CIDSet.getGIDFromChar:(C)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 1 1 ch C
MethodParameters:
Name Flags
ch
public void setGDEF(org.apache.fop.complexscripts.fonts.GlyphDefinitionTable);
descriptor: (Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
ifnull 1
aload 1
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "font already associated with GDEF table"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 5 1 gdef Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
MethodParameters:
Name Flags
gdef
public org.apache.fop.complexscripts.fonts.GlyphDefinitionTable getGDEF();
descriptor: ()Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public void setGSUB(org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable);
descriptor: (Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
ifnull 1
aload 1
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "font already associated with GSUB table"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 5 1 gsub Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
MethodParameters:
Name Flags
gsub
public org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable getGSUB();
descriptor: ()Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public void setGPOS(org.apache.fop.complexscripts.fonts.GlyphPositioningTable);
descriptor: (Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
ifnull 1
aload 1
ifnonnull 3
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "font already associated with GPOS table"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 5 1 gpos Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
MethodParameters:
Name Flags
gpos
public org.apache.fop.complexscripts.fonts.GlyphPositioningTable getGPOS();
descriptor: ()Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
public boolean performsSubstitution();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
public java.lang.CharSequence performSubstitution(java.lang.CharSequence, java.lang.String, java.lang.String, java.util.List, boolean);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Z)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
ifnull 11
1: aload 0
aload 1
aload 4
invokevirtual org.apache.fop.fonts.MultiByteFont.normalize:(Ljava/lang/CharSequence;Ljava/util/List;)Ljava/lang/CharSequence;
astore 6
start local 6 2: aload 0
aload 6
aload 4
invokevirtual org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs:(Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
astore 7
start local 7 3: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
aload 7
aload 2
aload 3
invokevirtual org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable.substitute:(Lorg/apache/fop/complexscripts/util/GlyphSequence;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
astore 8
start local 8 4: aload 4
ifnull 7
5: aload 4
invokeinterface java.util.List.clear:()V
6: aload 4
aload 8
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getAssociations:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
7: StackMap locals: java.lang.CharSequence org.apache.fop.complexscripts.util.GlyphSequence org.apache.fop.complexscripts.util.GlyphSequence
StackMap stack:
iload 5
ifne 9
8: aload 8
invokestatic org.apache.fop.fonts.MultiByteFont.elideControls:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
astore 8
9: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual org.apache.fop.fonts.MultiByteFont.mapGlyphsToChars:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Ljava/lang/CharSequence;
astore 9
start local 9 10: aload 9
areturn
end local 9 end local 8 end local 7 end local 6 11: StackMap locals:
StackMap stack:
aload 1
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 12 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 12 1 cs Ljava/lang/CharSequence;
0 12 2 script Ljava/lang/String;
0 12 3 language Ljava/lang/String;
0 12 4 associations Ljava/util/List;
0 12 5 retainControls Z
2 11 6 ncs Ljava/lang/CharSequence;
3 11 7 igs Lorg/apache/fop/complexscripts/util/GlyphSequence;
4 11 8 ogs Lorg/apache/fop/complexscripts/util/GlyphSequence;
10 11 9 ocs Ljava/lang/CharSequence;
MethodParameters:
Name Flags
cs
script
language
associations
retainControls
public java.lang.CharSequence reorderCombiningMarks(java.lang.CharSequence, int[][], java.lang.String, java.lang.String, java.util.List);
descriptor: (Ljava/lang/CharSequence;[[ILjava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
ifnull 8
1: aload 0
aload 1
aload 5
invokevirtual org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs:(Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
astore 6
start local 6 2: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
aload 6
aload 0
aload 6
invokevirtual org.apache.fop.fonts.MultiByteFont.getUnscaledWidths:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)[I
aload 2
aload 3
aload 4
invokevirtual org.apache.fop.complexscripts.fonts.GlyphDefinitionTable.reorderCombiningMarks:(Lorg/apache/fop/complexscripts/util/GlyphSequence;[I[[ILjava/lang/String;Ljava/lang/String;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
astore 7
start local 7 3: aload 5
ifnull 6
4: aload 5
invokeinterface java.util.List.clear:()V
5: aload 5
aload 7
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getAssociations:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
6: StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence org.apache.fop.complexscripts.util.GlyphSequence
StackMap stack:
aload 0
aload 7
invokevirtual org.apache.fop.fonts.MultiByteFont.mapGlyphsToChars:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Ljava/lang/CharSequence;
astore 8
start local 8 7: aload 8
areturn
end local 8 end local 7 end local 6 8: StackMap locals:
StackMap stack:
aload 1
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 9 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 9 1 cs Ljava/lang/CharSequence;
0 9 2 gpa [[I
0 9 3 script Ljava/lang/String;
0 9 4 language Ljava/lang/String;
0 9 5 associations Ljava/util/List;
2 8 6 igs Lorg/apache/fop/complexscripts/util/GlyphSequence;
3 8 7 ogs Lorg/apache/fop/complexscripts/util/GlyphSequence;
7 8 8 ocs Ljava/lang/CharSequence;
MethodParameters:
Name Flags
cs
gpa
script
language
associations
protected int[] getUnscaledWidths(org.apache.fop.complexscripts.util.GlyphSequence);
descriptor: (Lorg/apache/fop/complexscripts/util/GlyphSequence;)[I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 2
arraylength
istore 4
start local 4 3: goto 7
4: StackMap locals: int[] int int
StackMap stack:
iload 3
aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
arraylength
if_icmpge 6
5: aload 2
iload 3
aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
iload 3
iaload
iastore
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: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 9 1 gs Lorg/apache/fop/complexscripts/util/GlyphSequence;
1 9 2 widths [I
2 8 3 i I
3 8 4 n I
MethodParameters:
Name Flags
gs
public boolean performsPositioning();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/fonts/MultiByteFont;
public int[][] performPositioning(java.lang.CharSequence, java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;I)[[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
ifnull 6
1: aload 0
aload 1
aconst_null
invokevirtual org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs:(Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
astore 5
start local 5 2: aload 5
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
iconst_4
multianewarray [[I 2
astore 6
start local 6 3: aload 0
getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
aload 5
aload 2
aload 3
iload 4
aload 0
getfield org.apache.fop.fonts.MultiByteFont.width:[I
aload 6
invokevirtual org.apache.fop.complexscripts.fonts.GlyphPositioningTable.position:(Lorg/apache/fop/complexscripts/util/GlyphSequence;Ljava/lang/String;Ljava/lang/String;I[I[[I)Z
ifeq 5
4: aload 0
aload 6
iload 4
invokevirtual org.apache.fop.fonts.MultiByteFont.scaleAdjustments:([[II)[[I
areturn
5: StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence int[][]
StackMap stack:
aconst_null
areturn
end local 6 end local 5 6: StackMap locals:
StackMap stack:
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 7 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 7 1 cs Ljava/lang/CharSequence;
0 7 2 script Ljava/lang/String;
0 7 3 language Ljava/lang/String;
0 7 4 fontSize I
2 6 5 gs Lorg/apache/fop/complexscripts/util/GlyphSequence;
3 6 6 adjustments [[I
MethodParameters:
Name Flags
cs
script
language
fontSize
public int[][] performPositioning(java.lang.CharSequence, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;)[[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 1 1 cs Ljava/lang/CharSequence;
0 1 2 script Ljava/lang/String;
0 1 3 language Ljava/lang/String;
MethodParameters:
Name Flags
cs
script
language
private int[][] scaleAdjustments(int[][], int);
descriptor: ([[II)[[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 11
1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: org.apache.fop.fonts.MultiByteFont int[][] int top int int int[][]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: iconst_0
istore 7
start local 7 4: goto 7
5: StackMap locals: org.apache.fop.fonts.MultiByteFont int[][] int int[] int int int[][] int
StackMap stack:
aload 3
iload 7
aload 3
iload 7
iaload
iload 2
imul
sipush 1000
idiv
iastore
6: iinc 7 1
StackMap locals:
StackMap stack:
7: iload 7
iconst_4
if_icmplt 5
end local 7 end local 3 8: iinc 4 1
StackMap locals: org.apache.fop.fonts.MultiByteFont int[][] int top int int int[][]
StackMap stack:
9: iload 4
iload 5
if_icmplt 2
10: aload 1
areturn
11: StackMap locals: org.apache.fop.fonts.MultiByteFont int[][] int
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 12 1 adjustments [[I
0 12 2 fontSize I
3 8 3 gpa [I
4 8 7 k I
MethodParameters:
Name Flags
adjustments
fontSize
private org.apache.fop.complexscripts.util.GlyphSequence mapCharsToGlyphs(java.lang.CharSequence, java.util.List);
descriptor: (Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.lang.CharSequence.length:()I
invokestatic java.nio.IntBuffer.allocate:(I)Ljava/nio/IntBuffer;
astore 3
start local 3 1: aload 1
invokeinterface java.lang.CharSequence.length:()I
invokestatic java.nio.IntBuffer.allocate:(I)Ljava/nio/IntBuffer;
astore 4
start local 4 2: aload 0
bipush 35
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
istore 6
start local 6 3: iconst_0
istore 7
start local 7 4: aload 1
invokeinterface java.lang.CharSequence.length:()I
istore 8
start local 8 5: goto 36
6: StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.nio.IntBuffer java.nio.IntBuffer top int int int
StackMap stack:
aload 1
iload 7
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 9
start local 9 7: iload 9
ldc 55296
if_icmplt 22
iload 9
ldc 56320
if_icmpge 22
8: iload 7
iconst_1
iadd
iload 8
if_icmpge 19
9: iload 9
istore 10
start local 10 10: aload 1
iinc 7 1
iload 7
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 11
start local 11 11: iload 11
ldc 56320
if_icmplt 14
iload 11
ldc 57344
if_icmpge 14
12: ldc 65536
iload 10
ldc 55296
isub
bipush 10
ishl
iadd
iload 11
ldc 56320
isub
iconst_0
ishl
iadd
istore 9
13: goto 28
14: StackMap locals: int int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
15: new java.lang.StringBuilder
dup
ldc "ill-formed UTF-16 sequence, contains isolated high surrogate at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 10 19: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
20: ldc "ill-formed UTF-16 sequence, contains isolated high surrogate at end of sequence"
21: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
iload 9
ldc 56320
if_icmplt 28
iload 9
ldc 57344
if_icmpge 28
23: new java.lang.IllegalArgumentException
dup
24: new java.lang.StringBuilder
dup
ldc "ill-formed UTF-16 sequence, contains isolated low surrogate at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
26: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.notifyMapOperation:()V
29: aload 0
iload 9
invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
istore 5
start local 5 30: iload 5
ifne 33
31: aload 0
iload 9
i2c
invokevirtual org.apache.fop.fonts.MultiByteFont.warnMissingGlyph:(C)V
32: iload 6
istore 5
33: StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.nio.IntBuffer java.nio.IntBuffer int int int int int
StackMap stack:
aload 3
iload 9
invokevirtual java.nio.IntBuffer.put:(I)Ljava/nio/IntBuffer;
pop
34: aload 4
iload 5
invokevirtual java.nio.IntBuffer.put:(I)Ljava/nio/IntBuffer;
pop
end local 9 35: iinc 7 1
end local 5 StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.nio.IntBuffer java.nio.IntBuffer top int int int
StackMap stack:
36: iload 7
iload 8
if_icmplt 6
end local 8 end local 7 37: aload 3
invokevirtual java.nio.IntBuffer.flip:()Ljava/nio/Buffer;
pop
38: aload 4
invokevirtual java.nio.IntBuffer.flip:()Ljava/nio/Buffer;
pop
39: aload 2
ifnull 42
aload 2
invokeinterface java.util.List.size:()I
aload 1
invokeinterface java.lang.CharSequence.length:()I
if_icmpne 42
40: new java.util.ArrayList
dup
aload 2
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
41: goto 43
42: StackMap locals:
StackMap stack:
aconst_null
astore 2
43: StackMap locals:
StackMap stack:
new org.apache.fop.complexscripts.util.GlyphSequence
dup
aload 3
aload 4
aload 2
invokespecial org.apache.fop.complexscripts.util.GlyphSequence.<init>:(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/util/List;)V
areturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 44 1 cs Ljava/lang/CharSequence;
0 44 2 associations Ljava/util/List;
1 44 3 cb Ljava/nio/IntBuffer;
2 44 4 gb Ljava/nio/IntBuffer;
30 36 5 gi I
3 44 6 giMissing I
4 37 7 i I
5 37 8 n I
7 35 9 cc I
10 19 10 sh I
11 19 11 sl I
MethodParameters:
Name Flags
cs
associations
private java.lang.CharSequence mapGlyphsToChars(org.apache.fop.complexscripts.util.GlyphSequence);
descriptor: (Lorg/apache/fop/complexscripts/util/GlyphSequence;)Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
istore 2
start local 2 1: bipush 35
istore 3
start local 3 2: new java.util.ArrayList
dup
aload 1
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getUTF16CharacterCount:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iload 2
istore 6
start local 6 5: goto 24
6: StackMap locals: org.apache.fop.fonts.MultiByteFont org.apache.fop.complexscripts.util.GlyphSequence int int java.util.List int int
StackMap stack:
aload 1
iload 5
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyph:(I)I
istore 7
start local 7 7: aload 0
iload 7
invokevirtual org.apache.fop.fonts.MultiByteFont.findCharacterFromGlyphIndex:(I)I
istore 8
start local 8 8: iload 8
ifeq 9
iload 8
ldc 1114111
if_icmple 15
9: StackMap locals: int int
StackMap stack:
iload 3
istore 8
10: getstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to map glyph index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
11: ldc " to Unicode scalar in font '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getFullName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "', substituting missing character '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: iload 8
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
iload 8
ldc 65535
if_icmple 22
16: iload 8
ldc 65536
isub
istore 8
17: iload 8
bipush 10
ishr
sipush 1023
iand
ldc 55296
iadd
istore 9
start local 9 18: iload 8
iconst_0
ishr
sipush 1023
iand
ldc 56320
iadd
istore 10
start local 10 19: aload 4
iload 9
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: aload 4
iload 10
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 21: goto 23
22: StackMap locals:
StackMap stack:
aload 4
iload 8
i2c
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 23: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
24: iload 5
iload 6
if_icmplt 6
end local 6 end local 5 25: aload 4
invokeinterface java.util.List.size:()I
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 5
start local 5 26: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 29
StackMap locals: org.apache.fop.fonts.MultiByteFont org.apache.fop.complexscripts.util.GlyphSequence int int java.util.List java.nio.CharBuffer top java.util.Iterator
StackMap stack:
27: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
istore 6
start local 6 28: aload 5
iload 6
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
end local 6 29: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: aload 5
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
pop
31: aload 5
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 32 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 32 1 gs Lorg/apache/fop/complexscripts/util/GlyphSequence;
1 32 2 ng I
2 32 3 ccMissing I
3 32 4 chars Ljava/util/List<Ljava/lang/Character;>;
4 25 5 i I
5 25 6 n I
7 23 7 gi I
8 23 8 cc I
18 21 9 sh I
19 21 10 sl I
26 32 5 cb Ljava/nio/CharBuffer;
28 29 6 c C
MethodParameters:
Name Flags
gs
private java.lang.CharSequence normalize(java.lang.CharSequence, java.util.List);
descriptor: (Ljava/lang/CharSequence;Ljava/util/List;)Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.fop.fonts.MultiByteFont.hasDecomposable:(Ljava/lang/CharSequence;)Z
ifeq 1
aload 0
aload 1
aload 2
invokevirtual org.apache.fop.fonts.MultiByteFont.decompose:(Ljava/lang/CharSequence;Ljava/util/List;)Ljava/lang/CharSequence;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: java.lang.CharSequence
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 3 1 cs Ljava/lang/CharSequence;
0 3 2 associations Ljava/util/List;
MethodParameters:
Name Flags
cs
associations
private boolean hasDecomposable(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Z
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: aload 1
invokeinterface java.lang.CharSequence.length:()I
istore 3
start local 3 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 1
iload 2
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 4
start local 4 4: iload 4
invokestatic org.apache.fop.complexscripts.util.CharNormalize.isDecomposable:(I)Z
ifeq 6
5: iconst_1
ireturn
end local 4 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 3
end local 3 end local 2 8: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 9 1 cs Ljava/lang/CharSequence;
1 8 2 i I
2 8 3 n I
4 6 4 cc I
MethodParameters:
Name Flags
cs
private java.lang.CharSequence decompose(java.lang.CharSequence, java.util.List);
descriptor: (Ljava/lang/CharSequence;Ljava/util/List;)Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuffer
dup
aload 1
invokeinterface java.lang.CharSequence.length:()I
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 3
start local 3 1: invokestatic org.apache.fop.complexscripts.util.CharNormalize.maximumDecompositionLength:()I
newarray 10
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: aload 1
invokeinterface java.lang.CharSequence.length:()I
istore 6
start local 6 4: goto 14
5: StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.lang.StringBuffer int[] int int
StackMap stack:
aload 1
iload 5
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 7
start local 7 6: iload 7
aload 4
invokestatic org.apache.fop.complexscripts.util.CharNormalize.decompose:(I[I)[I
astore 8
start local 8 7: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 12
StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.lang.StringBuffer int[] int int int int[] top int int int[]
StackMap stack:
8: aload 12
iload 10
iaload
istore 9
start local 9 9: iload 9
ifle 13
10: aload 3
iload 9
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 9 11: iinc 10 1
StackMap locals:
StackMap stack:
12: iload 10
iload 11
if_icmplt 8
end local 8 end local 7 13: StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.lang.StringBuffer int[] int int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 6
if_icmplt 5
end local 6 end local 5 15: aload 3
areturn
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 Lorg/apache/fop/fonts/MultiByteFont;
0 16 1 cs Ljava/lang/CharSequence;
0 16 2 associations Ljava/util/List;
1 16 3 sb Ljava/lang/StringBuffer;
2 16 4 daBuffer [I
3 15 5 i I
4 15 6 n I
6 13 7 cc I
7 13 8 da [I
9 11 9 aDa I
MethodParameters:
Name Flags
cs
associations
private static org.apache.fop.complexscripts.util.GlyphSequence elideControls(org.apache.fop.complexscripts.util.GlyphSequence);
descriptor: (Lorg/apache/fop/complexscripts/util/GlyphSequence;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: aload 0
invokestatic org.apache.fop.fonts.MultiByteFont.hasElidableControl:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Z
ifeq 23
1: aload 0
iconst_0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getCharacterArray:(Z)[I
astore 1
start local 1 2: aload 0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
invokestatic java.nio.IntBuffer.allocate:(I)Ljava/nio/IntBuffer;
astore 2
start local 2 3: new java.util.ArrayList
dup
aload 0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: aload 0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
istore 5
start local 5 6: goto 20
7: StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence int[] java.nio.IntBuffer java.util.List int int
StackMap stack:
aload 0
iload 4
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getAssociation:(I)Lorg/apache/fop/complexscripts/util/CharAssociation;
astore 6
start local 6 8: aload 6
invokevirtual org.apache.fop.complexscripts.util.CharAssociation.getStart:()I
istore 7
start local 7 9: aload 6
invokevirtual org.apache.fop.complexscripts.util.CharAssociation.getEnd:()I
istore 8
start local 8 10: goto 15
11: StackMap locals: org.apache.fop.complexscripts.util.CharAssociation int int
StackMap stack:
aload 1
iload 7
iaload
istore 9
start local 9 12: iload 9
invokestatic org.apache.fop.fonts.MultiByteFont.isElidableControl:(I)Z
ifne 14
13: goto 16
14: StackMap locals: int
StackMap stack:
iinc 7 1
end local 9 15: StackMap locals:
StackMap stack:
iload 7
iload 8
if_icmplt 11
16: StackMap locals:
StackMap stack:
iload 7
iload 8
if_icmpeq 19
17: aload 2
aload 0
iload 4
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyph:(I)I
invokevirtual java.nio.IntBuffer.put:(I)Ljava/nio/IntBuffer;
pop
18: aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 19: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 5
if_icmplt 7
end local 5 end local 4 21: aload 2
invokevirtual java.nio.IntBuffer.flip:()Ljava/nio/Buffer;
pop
22: new org.apache.fop.complexscripts.util.GlyphSequence
dup
aload 0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getCharacters:()Ljava/nio/IntBuffer;
aload 2
aload 3
aload 0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getPredications:()Z
invokespecial org.apache.fop.complexscripts.util.GlyphSequence.<init>:(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/util/List;Z)V
areturn
end local 3 end local 2 end local 1 23: StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 gs Lorg/apache/fop/complexscripts/util/GlyphSequence;
2 23 1 ca [I
3 23 2 ngb Ljava/nio/IntBuffer;
4 23 3 nal Ljava/util/List;
5 21 4 i I
6 21 5 n I
8 19 6 a Lorg/apache/fop/complexscripts/util/CharAssociation;
9 19 7 s I
10 19 8 e I
12 15 9 ch I
MethodParameters:
Name Flags
gs
private static boolean hasElidableControl(org.apache.fop.complexscripts.util.GlyphSequence);
descriptor: (Lorg/apache/fop/complexscripts/util/GlyphSequence;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getCharacterArray:(Z)[I
astore 1
start local 1 1: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence int[] top int int int[]
StackMap stack:
2: aload 5
iload 3
iaload
istore 2
start local 2 3: iload 2
invokestatic org.apache.fop.fonts.MultiByteFont.isElidableControl:(I)Z
ifeq 5
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 gs Lorg/apache/fop/complexscripts/util/GlyphSequence;
1 8 1 ca [I
3 5 2 ch I
MethodParameters:
Name Flags
gs
private static boolean isElidableControl(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 32
if_icmpge 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iload 0
sipush 128
if_icmplt 4
iload 0
sipush 160
if_icmpge 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iload 0
sipush 8192
if_icmplt 13
iload 0
sipush 8303
if_icmpgt 13
5: iload 0
sipush 8203
if_icmplt 7
iload 0
sipush 8207
if_icmpgt 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iload 0
sipush 8232
if_icmplt 9
iload 0
sipush 8238
if_icmpgt 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iload 0
sipush 8294
if_icmplt 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iload 0
sipush 8288
if_icmpne 12
iconst_1
ireturn
StackMap locals:
StackMap stack:
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 ch I
MethodParameters:
Name Flags
ch
public boolean hasFeature(int, java.lang.String, java.lang.String, java.lang.String);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
iconst_1
if_icmpne 3
1: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getGSUB:()Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
astore 5
start local 5 2: goto 10
end local 5 StackMap locals:
StackMap stack:
3: iload 1
iconst_2
if_icmpne 6
4: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getGPOS:()Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
astore 5
start local 5 5: goto 10
end local 5 StackMap locals:
StackMap stack:
6: iload 1
iconst_5
if_icmpne 9
7: aload 0
invokevirtual org.apache.fop.fonts.MultiByteFont.getGDEF:()Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
astore 5
start local 5 8: goto 10
end local 5 9: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 10: StackMap locals: org.apache.fop.complexscripts.fonts.GlyphTable
StackMap stack:
aload 5
ifnull 11
aload 5
aload 2
aload 3
aload 4
invokevirtual org.apache.fop.complexscripts.fonts.GlyphTable.hasFeature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
ifeq 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/fop/fonts/MultiByteFont;
0 12 1 tableType I
0 12 2 script Ljava/lang/String;
0 12 3 language Ljava/lang/String;
0 12 4 feature Ljava/lang/String;
2 3 5 table Lorg/apache/fop/complexscripts/fonts/GlyphTable;
5 6 5 table Lorg/apache/fop/complexscripts/fonts/GlyphTable;
8 9 5 table Lorg/apache/fop/complexscripts/fonts/GlyphTable;
10 12 5 table Lorg/apache/fop/complexscripts/fonts/GlyphTable;
MethodParameters:
Name Flags
tableType
script
language
feature
public java.util.Map<java.lang.Integer, java.lang.Integer> getWidthsMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
Signature: ()Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;
public java.io.InputStream getCmapStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/fonts/MultiByteFont;
}
SourceFile: "MultiByteFont.java"