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: .line 50
            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: .line 54
            ldc Lorg/apache/fop/fonts/MultiByteFont;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
         4: .line 53
            putstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
         5: .line 84
            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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.apps.io.InternalResourceResolver resourceResolver
        start local 2 // org.apache.fop.fonts.EmbeddingMode embeddingMode
         0: .line 94
            aload 0 /* this */
            aload 1 /* resourceResolver */
            invokespecial org.apache.fop.fonts.CIDFont.<init>:(Lorg/apache/fop/apps/io/InternalResourceResolver;)V
         1: .line 57
            aload 0 /* this */
            ldc "Identity-H"
            putfield org.apache.fop.fonts.MultiByteFont.encoding:Ljava/lang/String;
         2: .line 60
            aload 0 /* this */
            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: .line 72
            aload 0 /* this */
            ldc 57344
            putfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
         4: .line 85
            aload 0 /* this */
            sipush 256
            newarray 10
            putfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
         5: .line 88
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.apache.fop.fonts.MultiByteFont.usedGlyphNames:Ljava/util/LinkedHashMap;
         6: .line 95
            aload 0 /* this */
            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: .line 96
            aload 0 /* this */
            aload 2 /* embeddingMode */
            invokevirtual org.apache.fop.fonts.MultiByteFont.setEmbeddingMode:(Lorg/apache/fop/fonts/EmbeddingMode;)V
         8: .line 97
            aload 2 /* embeddingMode */
            getstatic org.apache.fop.fonts.EmbeddingMode.FULL:Lorg/apache/fop/fonts/EmbeddingMode;
            if_acmpeq 11
         9: .line 98
            aload 0 /* this */
            new org.apache.fop.fonts.CIDSubset
            dup
            aload 0 /* this */
            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: .line 99
            goto 12
        11: .line 100
      StackMap locals: org.apache.fop.fonts.MultiByteFont org.apache.fop.apps.io.InternalResourceResolver org.apache.fop.fonts.EmbeddingMode
      StackMap stack:
            aload 0 /* this */
            new org.apache.fop.fonts.CIDFull
            dup
            aload 0 /* this */
            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: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.fop.fonts.EmbeddingMode embeddingMode
        end local 1 // org.apache.fop.apps.io.InternalResourceResolver resourceResolver
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 107
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.defaultWidth:I
            ireturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 113
            ldc "Adobe"
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 119
            ldc "UCS"
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 125
            iconst_0
            ireturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 131
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidType:Lorg/apache/fop/fonts/CIDFontType;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // boolean isOTFFile
         0: .line 135
            aload 0 /* this */
            iload 1 /* isOTFFile */
            putfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
         1: .line 136
            return
        end local 1 // boolean isOTFFile
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 139
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
            ireturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.fonts.CIDFontType cidType
         0: .line 147
            aload 0 /* this */
            aload 1 /* cidType */
            putfield org.apache.fop.fonts.MultiByteFont.cidType:Lorg/apache/fop/fonts/CIDFontType;
         1: .line 148
            return
        end local 1 // org.apache.fop.fonts.CIDFontType cidType
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 153
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
            ifeq 2
         1: .line 154
            aload 0 /* this */
            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: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.fop.fonts.CIDFont.getFontName:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 162
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.getEmbedFileURI:()Ljava/net/URI;
            ifnonnull 1
            aload 0 /* this */
            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 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 166
            aload 0 /* this */
            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: .line 167
            iconst_0
            ireturn
         2: .line 169
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 175
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int gid
        start local 2 // java.lang.String value
         0: .line 179
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.usedGlyphNames:Ljava/util/LinkedHashMap;
            iload 1 /* gid */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* value */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 180
            return
        end local 2 // java.lang.String value
        end local 1 // int gid
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 183
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.usedGlyphNames:Ljava/util/LinkedHashMap;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 189
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.encoding:Ljava/lang/String;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int i
        start local 2 // int size
         0: .line 194
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
            ifeq 3
         1: .line 195
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            iload 1 /* i */
            invokeinterface org.apache.fop.fonts.CIDSet.getOriginalGlyphIndex:(I)I
            istore 3 /* glyphIndex */
        start local 3 // int glyphIndex
         2: .line 196
            iload 2 /* size */
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            iload 3 /* glyphIndex */
            iaload
            imul
            ireturn
        end local 3 // int glyphIndex
         3: .line 198
      StackMap locals:
      StackMap stack:
            iload 2 /* size */
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            iload 1 /* i */
            iaload
            imul
            ireturn
        end local 2 // int size
        end local 1 // int i
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 204
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            arraylength
            newarray 10
            astore 1 /* arr */
        start local 1 // int[] arr
         1: .line 205
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            iconst_0
            aload 1 /* arr */
            iconst_0
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 206
            aload 1 /* arr */
            areturn
        end local 1 // int[] arr
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int glyphIndex
        start local 2 // int size
         0: .line 210
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            iload 1 /* glyphIndex */
            invokeinterface org.apache.fop.fonts.CIDSet.getOriginalGlyphIndex:(I)I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* glyphIndex */
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* index */
        start local 3 // int index
         3: .line 211
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.boundingBoxes:[Ljava/awt/Rectangle;
            iload 3 /* index */
            aaload
            astore 4 /* bbox */
        start local 4 // java.awt.Rectangle bbox
         4: .line 212
            new java.awt.Rectangle
            dup
            aload 4 /* bbox */
            getfield java.awt.Rectangle.x:I
            iload 2 /* size */
            imul
            aload 4 /* bbox */
            getfield java.awt.Rectangle.y:I
            iload 2 /* size */
            imul
            aload 4 /* bbox */
            getfield java.awt.Rectangle.width:I
            iload 2 /* size */
            imul
            aload 4 /* bbox */
            getfield java.awt.Rectangle.height:I
            iload 2 /* size */
            imul
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        end local 4 // java.awt.Rectangle bbox
        end local 3 // int index
        end local 2 // int size
        end local 1 // int glyphIndex
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int c
         0: .line 223
            iload 1 /* c */
            istore 2 /* idx */
        start local 2 // int idx
         1: .line 224
            iconst_0
            istore 3 /* retIdx */
        start local 3 // int retIdx
         2: .line 228
            iload 2 /* idx */
            sipush 256
            if_icmpge 4
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
            iload 2 /* idx */
            iaload
            ifeq 4
         3: .line 229
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
            iload 2 /* idx */
            iaload
            ireturn
         4: .line 231
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            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 /* i */
        start local 4 // org.apache.fop.fonts.CMapSegment i
         6: .line 232
            iload 3 /* retIdx */
            ifne 18
         7: .line 233
            aload 4 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
            iload 2 /* idx */
            if_icmpgt 18
         8: .line 234
            aload 4 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
            iload 2 /* idx */
            if_icmplt 18
         9: .line 235
            aload 4 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
        10: .line 236
            iload 2 /* idx */
        11: .line 235
            iadd
        12: .line 237
            aload 4 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
        13: .line 235
            isub
            istore 3 /* retIdx */
        14: .line 238
            iload 2 /* idx */
            sipush 256
            if_icmpge 16
        15: .line 239
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.mostLikelyGlyphs:[I
            iload 2 /* idx */
            iload 3 /* retIdx */
            iastore
        16: .line 241
      StackMap locals: org.apache.fop.fonts.MultiByteFont int int int org.apache.fop.fonts.CMapSegment java.util.Iterator
      StackMap stack:
            iload 3 /* retIdx */
            ifeq 18
        17: .line 242
            goto 19
        end local 4 // org.apache.fop.fonts.CMapSegment i
        18: .line 231
      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: .line 246
      StackMap locals: org.apache.fop.fonts.MultiByteFont int int int
      StackMap stack:
            iload 3 /* retIdx */
            ireturn
        end local 3 // int retIdx
        end local 2 // int idx
        end local 1 // int c
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int pu
        start local 2 // int gi
         0: .line 254
            getstatic org.apache.fop.fonts.MultiByteFont.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* pu */
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cmap:Ljava/util/List;
            new org.apache.fop.fonts.CMapSegment
            dup
            iload 1 /* pu */
            iload 1 /* pu */
            iload 2 /* gi */
            invokespecial org.apache.fop.fonts.CMapSegment.<init>:(III)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 256
            return
        end local 2 // int gi
        end local 1 // int pu
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int gi
         0: .line 271
            goto 2
         1: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
            iconst_1
            iadd
            putfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
         2: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
            ldc 63744
            if_icmpge 4
         3: .line 272
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            ifne 1
         4: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
            ldc 63744
            if_icmpge 18
         5: .line 276
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.nextPrivateUse:I
            istore 2 /* pu */
        start local 2 // int pu
         6: .line 277
            aload 0 /* this */
            iload 2 /* pu */
            iload 1 /* gi */
            invokevirtual org.apache.fop.fonts.MultiByteFont.addPrivateUseMapping:(II)V
         7: .line 278
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.firstPrivate:I
            ifne 9
         8: .line 279
            aload 0 /* this */
            iload 2 /* pu */
            putfield org.apache.fop.fonts.MultiByteFont.firstPrivate:I
         9: .line 281
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* pu */
            putfield org.apache.fop.fonts.MultiByteFont.lastPrivate:I
        10: .line 282
            aload 0 /* this */
            dup
            getfield org.apache.fop.fonts.MultiByteFont.numMapped:I
            iconst_1
            iadd
            putfield org.apache.fop.fonts.MultiByteFont.numMapped:I
        11: .line 283
            getstatic org.apache.fop.fonts.MultiByteFont.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 17
        12: .line 284
            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: .line 285
            iload 2 /* pu */
            invokestatic org.apache.fop.util.CharUtilities.format:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 286
            ldc " to glyph index "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* gi */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        15: .line 287
            ldc " in font '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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: .line 284
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        17: .line 289
      StackMap locals:
      StackMap stack:
            iload 2 /* pu */
            ireturn
        end local 2 // int pu
        18: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.firstUnmapped:I
            ifne 20
        19: .line 292
            aload 0 /* this */
            iload 1 /* gi */
            putfield org.apache.fop.fonts.MultiByteFont.firstUnmapped:I
        20: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* gi */
            putfield org.apache.fop.fonts.MultiByteFont.lastUnmapped:I
        21: .line 295
            aload 0 /* this */
            dup
            getfield org.apache.fop.fonts.MultiByteFont.numUnmapped:I
            iconst_1
            iadd
            putfield org.apache.fop.fonts.MultiByteFont.numUnmapped:I
        22: .line 296
            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: .line 297
            aload 0 /* this */
            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: .line 298
            aload 0 /* this */
            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 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.lastUnmapped:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        25: .line 299
            ldc "] (inclusive) of font '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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: .line 296
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        27: .line 300
            iconst_0
            ireturn
        end local 1 // int gi
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int gi
        start local 2 // boolean augment
         0: .line 312
            iconst_0
            istore 3 /* cc */
        start local 3 // int cc
         1: .line 313
            aload 0 /* this */
            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 /* segment */
        start local 4 // org.apache.fop.fonts.CMapSegment segment
         3: .line 314
            aload 4 /* segment */
            invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
            istore 6 /* s */
        start local 6 // int s
         4: .line 315
            iload 6 /* s */
            aload 4 /* segment */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
            aload 4 /* segment */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
            isub
            iadd
            istore 7 /* e */
        start local 7 // int e
         5: .line 316
            iload 1 /* gi */
            iload 6 /* s */
            if_icmplt 8
            iload 1 /* gi */
            iload 7 /* e */
            if_icmpgt 8
         6: .line 317
            aload 4 /* segment */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
            iload 1 /* gi */
            iload 6 /* s */
            isub
            iadd
            istore 3 /* cc */
         7: .line 318
            goto 9
        end local 7 // int e
        end local 6 // int s
        end local 4 // org.apache.fop.fonts.CMapSegment segment
         8: .line 313
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 321
      StackMap locals: org.apache.fop.fonts.MultiByteFont int int int
      StackMap stack:
            iload 3 /* cc */
            ifne 11
            iload 2 /* augment */
            ifeq 11
        10: .line 322
            aload 0 /* this */
            iload 1 /* gi */
            invokevirtual org.apache.fop.fonts.MultiByteFont.createPrivateUseMapping:(I)I
            istore 3 /* cc */
        11: .line 324
      StackMap locals:
      StackMap stack:
            iload 3 /* cc */
            ireturn
        end local 3 // int cc
        end local 2 // boolean augment
        end local 1 // int gi
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int gi
         0: .line 328
            aload 0 /* this */
            iload 1 /* gi */
            iconst_1
            invokevirtual org.apache.fop.fonts.MultiByteFont.findCharacterFromGlyphIndex:(IZ)I
            ireturn
        end local 1 // int gi
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 332
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 1 /* bitset */
        start local 1 // java.util.BitSet bitset
         1: .line 333
            aload 1 /* bitset */
            iconst_0
            invokevirtual java.util.BitSet.set:(I)V
         2: .line 334
            aload 1 /* bitset */
            iconst_1
            invokevirtual java.util.BitSet.set:(I)V
         3: .line 335
            aload 1 /* bitset */
            iconst_2
            invokevirtual java.util.BitSet.set:(I)V
         4: .line 336
            aload 0 /* this */
            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 /* i */
        start local 2 // org.apache.fop.fonts.CMapSegment i
         6: .line 337
            aload 2 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
            istore 4 /* start */
        start local 4 // int start
         7: .line 338
            aload 2 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
            istore 5 /* end */
        start local 5 // int end
         8: .line 339
            aload 2 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
            istore 6 /* glyphIndex */
        start local 6 // int glyphIndex
         9: .line 340
            goto 11
        10: .line 341
      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 /* bitset */
            iload 6 /* glyphIndex */
            iinc 6 /* glyphIndex */ 1
            invokevirtual java.util.BitSet.set:(I)V
        11: .line 340
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iinc 4 /* start */ 1
            iload 5 /* end */
            iconst_1
            iadd
            if_icmplt 10
        end local 6 // int glyphIndex
        end local 5 // int end
        end local 4 // int start
        end local 2 // org.apache.fop.fonts.CMapSegment i
        12: .line 336
      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: .line 344
            aload 1 /* bitset */
            areturn
        end local 1 // java.util.BitSet bitset
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 349
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            arraylength
            newarray 5
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 350
            aload 0 /* this */
            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 /* i */
        start local 2 // org.apache.fop.fonts.CMapSegment i
         3: .line 351
            aload 2 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeStart:()I
            istore 4 /* start */
        start local 4 // int start
         4: .line 352
            aload 2 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getUnicodeEnd:()I
            istore 5 /* end */
        start local 5 // int end
         5: .line 353
            aload 2 /* i */
            invokevirtual org.apache.fop.fonts.CMapSegment.getGlyphStartIndex:()I
            istore 6 /* glyphIndex */
        start local 6 // int glyphIndex
         6: .line 354
            goto 8
         7: .line 355
      StackMap locals: org.apache.fop.fonts.MultiByteFont char[] org.apache.fop.fonts.CMapSegment java.util.Iterator int int int
      StackMap stack:
            aload 1 /* chars */
            iload 6 /* glyphIndex */
            iinc 6 /* glyphIndex */ 1
            iload 4 /* start */
            iinc 4 /* start */ 1
            i2c
            castore
         8: .line 354
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iload 5 /* end */
            iconst_1
            iadd
            if_icmplt 7
        end local 6 // int glyphIndex
        end local 5 // int end
        end local 4 // int start
        end local 2 // org.apache.fop.fonts.CMapSegment i
         9: .line 350
      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: .line 358
            aload 1 /* chars */
            areturn
        end local 1 // char[] chars
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // char c
         0: .line 364
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.notifyMapOperation:()V
         1: .line 365
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            istore 2 /* glyphIndex */
        start local 2 // int glyphIndex
         2: .line 366
            iload 2 /* glyphIndex */
            ifne 6
         3: .line 367
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual org.apache.fop.fonts.MultiByteFont.warnMissingGlyph:(C)V
         4: .line 368
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
            ifne 6
         5: .line 369
            aload 0 /* this */
            bipush 35
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            istore 2 /* glyphIndex */
         6: .line 372
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
            ifeq 8
         7: .line 373
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            iload 2 /* glyphIndex */
            iload 1 /* c */
            invokeinterface org.apache.fop.fonts.CIDSet.mapChar:(IC)I
            istore 2 /* glyphIndex */
         8: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.isCID:()Z
            ifeq 10
            iload 2 /* glyphIndex */
            sipush 256
            if_icmple 10
         9: .line 376
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual org.apache.fop.fonts.MultiByteFont.mapUnencodedChar:(C)C
            pop
        10: .line 378
      StackMap locals:
      StackMap stack:
            iload 2 /* glyphIndex */
            i2c
            ireturn
        end local 2 // int glyphIndex
        end local 1 // char c
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int cp
         0: .line 384
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.notifyMapOperation:()V
         1: .line 385
            aload 0 /* this */
            iload 1 /* cp */
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            istore 2 /* glyphIndex */
        start local 2 // int glyphIndex
         2: .line 386
            iload 2 /* glyphIndex */
            ifne 10
         3: .line 388
            iload 1 /* cp */
            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 /* ch */
        start local 3 // char ch
         5: .line 390
            aload 0 /* this */
            iload 3 /* ch */
            invokevirtual org.apache.fop.fonts.MultiByteFont.warnMissingGlyph:(C)V
        end local 3 // char ch
         6: .line 388
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 393
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.isOTFFile:Z
            ifne 10
         9: .line 394
            aload 0 /* this */
            bipush 35
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            istore 2 /* glyphIndex */
        10: .line 397
      StackMap locals: org.apache.fop.fonts.MultiByteFont int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.isEmbeddable:()Z
            ifeq 12
        11: .line 398
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            iload 2 /* glyphIndex */
            iload 1 /* cp */
            invokeinterface org.apache.fop.fonts.CIDSet.mapCodePoint:(II)I
            istore 2 /* glyphIndex */
        12: .line 400
      StackMap locals:
      StackMap stack:
            iload 2 /* glyphIndex */
            i2c
            ireturn
        end local 2 // int glyphIndex
        end local 1 // int cp
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // char c
         0: .line 406
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual org.apache.fop.fonts.MultiByteFont.hasCodePoint:(I)Z
            ireturn
        end local 1 // char c
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int cp
         0: .line 412
            aload 0 /* this */
            iload 1 /* cp */
            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 // int cp
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int defaultWidth
         0: .line 420
            aload 0 /* this */
            iload 1 /* defaultWidth */
            putfield org.apache.fop.fonts.MultiByteFont.defaultWidth:I
         1: .line 421
            return
        end local 1 // int defaultWidth
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 428
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.ttcName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.String ttcName
         0: .line 436
            aload 0 /* this */
            aload 1 /* ttcName */
            putfield org.apache.fop.fonts.MultiByteFont.ttcName:Ljava/lang/String;
         1: .line 437
            return
        end local 1 // java.lang.String ttcName
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int[] wds
         0: .line 444
            aload 0 /* this */
            aload 1 /* wds */
            putfield org.apache.fop.fonts.MultiByteFont.width:[I
         1: .line 445
            return
        end local 1 // int[] wds
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.awt.Rectangle[] boundingBoxes
         0: .line 452
            aload 0 /* this */
            aload 1 /* boundingBoxes */
            putfield org.apache.fop.fonts.MultiByteFont.boundingBoxes:[Ljava/awt/Rectangle;
         1: .line 453
            return
        end local 1 // java.awt.Rectangle[] boundingBoxes
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 460
            aload 0 /* this */
            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 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int glyphIndex
         0: .line 469
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            iload 1 /* glyphIndex */
            invokeinterface org.apache.fop.fonts.CIDSet.getUnicodeFromGID:(I)C
            ireturn
        end local 1 // int glyphIndex
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // char ch
         0: .line 478
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.cidSet:Lorg/apache/fop/fonts/CIDSet;
            iload 1 /* ch */
            invokeinterface org.apache.fop.fonts.CIDSet.getGIDFromChar:(C)I
            ireturn
        end local 1 // char ch
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.complexscripts.fonts.GlyphDefinitionTable gdef
         0: .line 486
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
            ifnull 1
            aload 1 /* gdef */
            ifnonnull 3
         1: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* gdef */
            putfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
         2: .line 488
            goto 4
         3: .line 489
      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: .line 491
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.fop.complexscripts.fonts.GlyphDefinitionTable gdef
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 498
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable gsub
         0: .line 506
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
            ifnull 1
            aload 1 /* gsub */
            ifnonnull 3
         1: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* gsub */
            putfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
         2: .line 508
            goto 4
         3: .line 509
      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: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.fop.complexscripts.fonts.GlyphSubstitutionTable gsub
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 518
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.complexscripts.fonts.GlyphPositioningTable gpos
         0: .line 526
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
            ifnull 1
            aload 1 /* gpos */
            ifnonnull 3
         1: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* gpos */
            putfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
         2: .line 528
            goto 4
         3: .line 529
      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: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.fop.complexscripts.fonts.GlyphPositioningTable gpos
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 538
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 543
            aload 0 /* this */
            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 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // java.lang.String script
        start local 3 // java.lang.String language
        start local 4 // java.util.List associations
        start local 5 // boolean retainControls
         0: .line 549
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
            ifnull 11
         1: .line 550
            aload 0 /* this */
            aload 1 /* cs */
            aload 4 /* associations */
            invokevirtual org.apache.fop.fonts.MultiByteFont.normalize:(Ljava/lang/CharSequence;Ljava/util/List;)Ljava/lang/CharSequence;
            astore 6 /* ncs */
        start local 6 // java.lang.CharSequence ncs
         2: .line 551
            aload 0 /* this */
            aload 6 /* ncs */
            aload 4 /* associations */
            invokevirtual org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs:(Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
            astore 7 /* igs */
        start local 7 // org.apache.fop.complexscripts.util.GlyphSequence igs
         3: .line 552
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gsub:Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
            aload 7 /* igs */
            aload 2 /* script */
            aload 3 /* language */
            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 /* ogs */
        start local 8 // org.apache.fop.complexscripts.util.GlyphSequence ogs
         4: .line 553
            aload 4 /* associations */
            ifnull 7
         5: .line 554
            aload 4 /* associations */
            invokeinterface java.util.List.clear:()V
         6: .line 555
            aload 4 /* associations */
            aload 8 /* ogs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getAssociations:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 557
      StackMap locals: java.lang.CharSequence org.apache.fop.complexscripts.util.GlyphSequence org.apache.fop.complexscripts.util.GlyphSequence
      StackMap stack:
            iload 5 /* retainControls */
            ifne 9
         8: .line 558
            aload 8 /* ogs */
            invokestatic org.apache.fop.fonts.MultiByteFont.elideControls:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
            astore 8 /* ogs */
         9: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* ogs */
            invokevirtual org.apache.fop.fonts.MultiByteFont.mapGlyphsToChars:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Ljava/lang/CharSequence;
            astore 9 /* ocs */
        start local 9 // java.lang.CharSequence ocs
        10: .line 563
            aload 9 /* ocs */
            areturn
        end local 9 // java.lang.CharSequence ocs
        end local 8 // org.apache.fop.complexscripts.util.GlyphSequence ogs
        end local 7 // org.apache.fop.complexscripts.util.GlyphSequence igs
        end local 6 // java.lang.CharSequence ncs
        11: .line 565
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            areturn
        end local 5 // boolean retainControls
        end local 4 // java.util.List associations
        end local 3 // java.lang.String language
        end local 2 // java.lang.String script
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // int[][] gpa
        start local 3 // java.lang.String script
        start local 4 // java.lang.String language
        start local 5 // java.util.List associations
         0: .line 572
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
            ifnull 8
         1: .line 573
            aload 0 /* this */
            aload 1 /* cs */
            aload 5 /* associations */
            invokevirtual org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs:(Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
            astore 6 /* igs */
        start local 6 // org.apache.fop.complexscripts.util.GlyphSequence igs
         2: .line 574
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gdef:Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
            aload 6 /* igs */
            aload 0 /* this */
            aload 6 /* igs */
            invokevirtual org.apache.fop.fonts.MultiByteFont.getUnscaledWidths:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)[I
            aload 2 /* gpa */
            aload 3 /* script */
            aload 4 /* language */
            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 /* ogs */
        start local 7 // org.apache.fop.complexscripts.util.GlyphSequence ogs
         3: .line 575
            aload 5 /* associations */
            ifnull 6
         4: .line 576
            aload 5 /* associations */
            invokeinterface java.util.List.clear:()V
         5: .line 577
            aload 5 /* associations */
            aload 7 /* ogs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getAssociations:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 579
      StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence org.apache.fop.complexscripts.util.GlyphSequence
      StackMap stack:
            aload 0 /* this */
            aload 7 /* ogs */
            invokevirtual org.apache.fop.fonts.MultiByteFont.mapGlyphsToChars:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Ljava/lang/CharSequence;
            astore 8 /* ocs */
        start local 8 // java.lang.CharSequence ocs
         7: .line 580
            aload 8 /* ocs */
            areturn
        end local 8 // java.lang.CharSequence ocs
        end local 7 // org.apache.fop.complexscripts.util.GlyphSequence ogs
        end local 6 // org.apache.fop.complexscripts.util.GlyphSequence igs
         8: .line 582
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            areturn
        end local 5 // java.util.List associations
        end local 4 // java.lang.String language
        end local 3 // java.lang.String script
        end local 2 // int[][] gpa
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.complexscripts.util.GlyphSequence gs
         0: .line 587
            aload 1 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
            newarray 10
            astore 2 /* widths */
        start local 2 // int[] widths
         1: .line 588
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* widths */
            arraylength
            istore 4 /* n */
        start local 4 // int n
         3: goto 7
         4: .line 589
      StackMap locals: int[] int int
      StackMap stack:
            iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            arraylength
            if_icmpge 6
         5: .line 590
            aload 2 /* widths */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            iload 3 /* i */
            iaload
            iastore
         6: .line 588
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* n */
            if_icmplt 4
        end local 4 // int n
        end local 3 // int i
         8: .line 593
            aload 2 /* widths */
            areturn
        end local 2 // int[] widths
        end local 1 // org.apache.fop.complexscripts.util.GlyphSequence gs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 598
            aload 0 /* this */
            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 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // java.lang.String script
        start local 3 // java.lang.String language
        start local 4 // int fontSize
         0: .line 604
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
            ifnull 6
         1: .line 605
            aload 0 /* this */
            aload 1 /* cs */
            aconst_null
            invokevirtual org.apache.fop.fonts.MultiByteFont.mapCharsToGlyphs:(Ljava/lang/CharSequence;Ljava/util/List;)Lorg/apache/fop/complexscripts/util/GlyphSequence;
            astore 5 /* gs */
        start local 5 // org.apache.fop.complexscripts.util.GlyphSequence gs
         2: .line 606
            aload 5 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
            iconst_4
            multianewarray [[I 2
            astore 6 /* adjustments */
        start local 6 // int[][] adjustments
         3: .line 607
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.gpos:Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
            aload 5 /* gs */
            aload 2 /* script */
            aload 3 /* language */
            iload 4 /* fontSize */
            aload 0 /* this */
            getfield org.apache.fop.fonts.MultiByteFont.width:[I
            aload 6 /* adjustments */
            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: .line 608
            aload 0 /* this */
            aload 6 /* adjustments */
            iload 4 /* fontSize */
            invokevirtual org.apache.fop.fonts.MultiByteFont.scaleAdjustments:([[II)[[I
            areturn
         5: .line 610
      StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence int[][]
      StackMap stack:
            aconst_null
            areturn
        end local 6 // int[][] adjustments
        end local 5 // org.apache.fop.complexscripts.util.GlyphSequence gs
         6: .line 613
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // int fontSize
        end local 3 // java.lang.String language
        end local 2 // java.lang.String script
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // java.lang.String script
        start local 3 // java.lang.String language
         0: .line 619
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // java.lang.String language
        end local 2 // java.lang.String script
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int[][] adjustments
        start local 2 // int fontSize
         0: .line 624
            aload 1 /* adjustments */
            ifnull 11
         1: .line 625
            aload 1 /* adjustments */
            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 /* gpa */
        start local 3 // int[] gpa
         3: .line 626
            iconst_0
            istore 7 /* k */
        start local 7 // int k
         4: goto 7
         5: .line 627
      StackMap locals: org.apache.fop.fonts.MultiByteFont int[][] int int[] int int int[][] int
      StackMap stack:
            aload 3 /* gpa */
            iload 7 /* k */
            aload 3 /* gpa */
            iload 7 /* k */
            iaload
            iload 2 /* fontSize */
            imul
            sipush 1000
            idiv
            iastore
         6: .line 626
            iinc 7 /* k */ 1
      StackMap locals:
      StackMap stack:
         7: iload 7 /* k */
            iconst_4
            if_icmplt 5
        end local 7 // int k
        end local 3 // int[] gpa
         8: .line 625
            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: .line 630
            aload 1 /* adjustments */
            areturn
        11: .line 632
      StackMap locals: org.apache.fop.fonts.MultiByteFont int[][] int
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int fontSize
        end local 1 // int[][] adjustments
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // java.util.List associations
         0: .line 644
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic java.nio.IntBuffer.allocate:(I)Ljava/nio/IntBuffer;
            astore 3 /* cb */
        start local 3 // java.nio.IntBuffer cb
         1: .line 645
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic java.nio.IntBuffer.allocate:(I)Ljava/nio/IntBuffer;
            astore 4 /* gb */
        start local 4 // java.nio.IntBuffer gb
         2: .line 647
            aload 0 /* this */
            bipush 35
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            istore 6 /* giMissing */
        start local 6 // int giMissing
         3: .line 648
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         4: aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            istore 8 /* n */
        start local 8 // int n
         5: goto 36
         6: .line 649
      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 /* cs */
            iload 7 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 9 /* cc */
        start local 9 // int cc
         7: .line 650
            iload 9 /* cc */
            ldc 55296
            if_icmplt 22
            iload 9 /* cc */
            ldc 56320
            if_icmpge 22
         8: .line 651
            iload 7 /* i */
            iconst_1
            iadd
            iload 8 /* n */
            if_icmpge 19
         9: .line 652
            iload 9 /* cc */
            istore 10 /* sh */
        start local 10 // int sh
        10: .line 653
            aload 1 /* cs */
            iinc 7 /* i */ 1
            iload 7 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 11 /* sl */
        start local 11 // int sl
        11: .line 654
            iload 11 /* sl */
            ldc 56320
            if_icmplt 14
            iload 11 /* sl */
            ldc 57344
            if_icmpge 14
        12: .line 655
            ldc 65536
            iload 10 /* sh */
            ldc 55296
            isub
            bipush 10
            ishl
            iadd
            iload 11 /* sl */
            ldc 56320
            isub
            iconst_0
            ishl
            iadd
            istore 9 /* cc */
        13: .line 656
            goto 28
        14: .line 657
      StackMap locals: int int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        15: .line 658
            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: .line 659
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        17: .line 658
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 657
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // int sl
        end local 10 // int sh
        19: .line 662
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        20: .line 663
            ldc "ill-formed UTF-16 sequence, contains isolated high surrogate at end of sequence"
        21: .line 662
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 666
      StackMap locals:
      StackMap stack:
            iload 9 /* cc */
            ldc 56320
            if_icmplt 28
            iload 9 /* cc */
            ldc 57344
            if_icmpge 28
        23: .line 667
            new java.lang.IllegalArgumentException
            dup
        24: .line 668
            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: .line 669
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        26: .line 668
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 667
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 671
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.notifyMapOperation:()V
        29: .line 672
            aload 0 /* this */
            iload 9 /* cc */
            invokevirtual org.apache.fop.fonts.MultiByteFont.findGlyphIndex:(I)I
            istore 5 /* gi */
        start local 5 // int gi
        30: .line 673
            iload 5 /* gi */
            ifne 33
        31: .line 674
            aload 0 /* this */
            iload 9 /* cc */
            i2c
            invokevirtual org.apache.fop.fonts.MultiByteFont.warnMissingGlyph:(C)V
        32: .line 675
            iload 6 /* giMissing */
            istore 5 /* gi */
        33: .line 677
      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 /* cb */
            iload 9 /* cc */
            invokevirtual java.nio.IntBuffer.put:(I)Ljava/nio/IntBuffer;
            pop
        34: .line 678
            aload 4 /* gb */
            iload 5 /* gi */
            invokevirtual java.nio.IntBuffer.put:(I)Ljava/nio/IntBuffer;
            pop
        end local 9 // int cc
        35: .line 648
            iinc 7 /* i */ 1
        end local 5 // int gi
      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 /* i */
            iload 8 /* n */
            if_icmplt 6
        end local 8 // int n
        end local 7 // int i
        37: .line 680
            aload 3 /* cb */
            invokevirtual java.nio.IntBuffer.flip:()Ljava/nio/Buffer;
            pop
        38: .line 681
            aload 4 /* gb */
            invokevirtual java.nio.IntBuffer.flip:()Ljava/nio/Buffer;
            pop
        39: .line 682
            aload 2 /* associations */
            ifnull 42
            aload 2 /* associations */
            invokeinterface java.util.List.size:()I
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpne 42
        40: .line 683
            new java.util.ArrayList
            dup
            aload 2 /* associations */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* associations */
        41: .line 684
            goto 43
        42: .line 685
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* associations */
        43: .line 687
      StackMap locals:
      StackMap stack:
            new org.apache.fop.complexscripts.util.GlyphSequence
            dup
            aload 3 /* cb */
            aload 4 /* gb */
            aload 2 /* associations */
            invokespecial org.apache.fop.complexscripts.util.GlyphSequence.<init>:(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/util/List;)V
            areturn
        end local 6 // int giMissing
        end local 4 // java.nio.IntBuffer gb
        end local 3 // java.nio.IntBuffer cb
        end local 2 // java.util.List associations
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // org.apache.fop.complexscripts.util.GlyphSequence gs
         0: .line 697
            aload 1 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
            istore 2 /* ng */
        start local 2 // int ng
         1: .line 698
            bipush 35
            istore 3 /* ccMissing */
        start local 3 // int ccMissing
         2: .line 699
            new java.util.ArrayList
            dup
            aload 1 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getUTF16CharacterCount:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* chars */
        start local 4 // java.util.List chars
         3: .line 701
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: iload 2 /* ng */
            istore 6 /* n */
        start local 6 // int n
         5: goto 24
         6: .line 702
      StackMap locals: org.apache.fop.fonts.MultiByteFont org.apache.fop.complexscripts.util.GlyphSequence int int java.util.List int int
      StackMap stack:
            aload 1 /* gs */
            iload 5 /* i */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyph:(I)I
            istore 7 /* gi */
        start local 7 // int gi
         7: .line 703
            aload 0 /* this */
            iload 7 /* gi */
            invokevirtual org.apache.fop.fonts.MultiByteFont.findCharacterFromGlyphIndex:(I)I
            istore 8 /* cc */
        start local 8 // int cc
         8: .line 704
            iload 8 /* cc */
            ifeq 9
            iload 8 /* cc */
            ldc 1114111
            if_icmple 15
         9: .line 705
      StackMap locals: int int
      StackMap stack:
            iload 3 /* ccMissing */
            istore 8 /* cc */
        10: .line 706
            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 /* gi */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        11: .line 707
            ldc " to Unicode scalar in font '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 708
            aload 0 /* this */
            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: .line 709
            iload 8 /* cc */
            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: .line 706
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        15: .line 711
      StackMap locals:
      StackMap stack:
            iload 8 /* cc */
            ldc 65535
            if_icmple 22
        16: .line 714
            iload 8 /* cc */
            ldc 65536
            isub
            istore 8 /* cc */
        17: .line 715
            iload 8 /* cc */
            bipush 10
            ishr
            sipush 1023
            iand
            ldc 55296
            iadd
            istore 9 /* sh */
        start local 9 // int sh
        18: .line 716
            iload 8 /* cc */
            iconst_0
            ishr
            sipush 1023
            iand
            ldc 56320
            iadd
            istore 10 /* sl */
        start local 10 // int sl
        19: .line 717
            aload 4 /* chars */
            iload 9 /* sh */
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 718
            aload 4 /* chars */
            iload 10 /* sl */
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // int sl
        end local 9 // int sh
        21: .line 719
            goto 23
        22: .line 720
      StackMap locals:
      StackMap stack:
            aload 4 /* chars */
            iload 8 /* cc */
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // int cc
        end local 7 // int gi
        23: .line 701
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 5 /* i */
            iload 6 /* n */
            if_icmplt 6
        end local 6 // int n
        end local 5 // int i
        25: .line 724
            aload 4 /* chars */
            invokeinterface java.util.List.size:()I
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 5 /* cb */
        start local 5 // java.nio.CharBuffer cb
        26: .line 726
            aload 4 /* chars */
            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 /* c */
        start local 6 // char c
        28: .line 727
            aload 5 /* cb */
            iload 6 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        end local 6 // char c
        29: .line 726
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        30: .line 730
            aload 5 /* cb */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            pop
        31: .line 731
            aload 5 /* cb */
            areturn
        end local 5 // java.nio.CharBuffer cb
        end local 4 // java.util.List chars
        end local 3 // int ccMissing
        end local 2 // int ng
        end local 1 // org.apache.fop.complexscripts.util.GlyphSequence gs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // java.util.List associations
         0: .line 735
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual org.apache.fop.fonts.MultiByteFont.hasDecomposable:(Ljava/lang/CharSequence;)Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* cs */
            aload 2 /* associations */
            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 /* cs */
      StackMap locals:
      StackMap stack: java.lang.CharSequence
         2: areturn
        end local 2 // java.util.List associations
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
         0: .line 739
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            istore 3 /* n */
        start local 3 // int n
         2: goto 7
         3: .line 740
      StackMap locals: int int
      StackMap stack:
            aload 1 /* cs */
            iload 2 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 4 /* cc */
        start local 4 // int cc
         4: .line 741
            iload 4 /* cc */
            invokestatic org.apache.fop.complexscripts.util.CharNormalize.isDecomposable:(I)Z
            ifeq 6
         5: .line 742
            iconst_1
            ireturn
        end local 4 // int cc
         6: .line 739
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* n */
            if_icmplt 3
        end local 3 // int n
        end local 2 // int i
         8: .line 745
            iconst_0
            ireturn
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // java.lang.CharSequence cs
        start local 2 // java.util.List associations
         0: .line 749
            new java.lang.StringBuffer
            dup
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuffer sb
         1: .line 750
            invokestatic org.apache.fop.complexscripts.util.CharNormalize.maximumDecompositionLength:()I
            newarray 10
            astore 4 /* daBuffer */
        start local 4 // int[] daBuffer
         2: .line 751
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            istore 6 /* n */
        start local 6 // int n
         4: goto 14
         5: .line 752
      StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.lang.StringBuffer int[] int int
      StackMap stack:
            aload 1 /* cs */
            iload 5 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 7 /* cc */
        start local 7 // int cc
         6: .line 753
            iload 7 /* cc */
            aload 4 /* daBuffer */
            invokestatic org.apache.fop.complexscripts.util.CharNormalize.decompose:(I[I)[I
            astore 8 /* da */
        start local 8 // int[] da
         7: .line 754
            aload 8 /* da */
            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 /* aDa */
        start local 9 // int aDa
         9: .line 755
            iload 9 /* aDa */
            ifle 13
        10: .line 756
            aload 3 /* sb */
            iload 9 /* aDa */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 9 // int aDa
        11: .line 754
            iinc 10 1
      StackMap locals:
      StackMap stack:
        12: iload 10
            iload 11
            if_icmplt 8
        end local 8 // int[] da
        end local 7 // int cc
        13: .line 751
      StackMap locals: org.apache.fop.fonts.MultiByteFont java.lang.CharSequence java.util.List java.lang.StringBuffer int[] int int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 6 /* n */
            if_icmplt 5
        end local 6 // int n
        end local 5 // int i
        15: .line 762
            aload 3 /* sb */
            areturn
        end local 4 // int[] daBuffer
        end local 3 // java.lang.StringBuffer sb
        end local 2 // java.util.List associations
        end local 1 // java.lang.CharSequence cs
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.complexscripts.util.GlyphSequence gs
         0: .line 774
            aload 0 /* gs */
            invokestatic org.apache.fop.fonts.MultiByteFont.hasElidableControl:(Lorg/apache/fop/complexscripts/util/GlyphSequence;)Z
            ifeq 23
         1: .line 775
            aload 0 /* gs */
            iconst_0
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getCharacterArray:(Z)[I
            astore 1 /* ca */
        start local 1 // int[] ca
         2: .line 776
            aload 0 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
            invokestatic java.nio.IntBuffer.allocate:(I)Ljava/nio/IntBuffer;
            astore 2 /* ngb */
        start local 2 // java.nio.IntBuffer ngb
         3: .line 777
            new java.util.ArrayList
            dup
            aload 0 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* nal */
        start local 3 // java.util.List nal
         4: .line 778
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: aload 0 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyphCount:()I
            istore 5 /* n */
        start local 5 // int n
         6: goto 20
         7: .line 779
      StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence int[] java.nio.IntBuffer java.util.List int int
      StackMap stack:
            aload 0 /* gs */
            iload 4 /* i */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getAssociation:(I)Lorg/apache/fop/complexscripts/util/CharAssociation;
            astore 6 /* a */
        start local 6 // org.apache.fop.complexscripts.util.CharAssociation a
         8: .line 780
            aload 6 /* a */
            invokevirtual org.apache.fop.complexscripts.util.CharAssociation.getStart:()I
            istore 7 /* s */
        start local 7 // int s
         9: .line 781
            aload 6 /* a */
            invokevirtual org.apache.fop.complexscripts.util.CharAssociation.getEnd:()I
            istore 8 /* e */
        start local 8 // int e
        10: .line 782
            goto 15
        11: .line 783
      StackMap locals: org.apache.fop.complexscripts.util.CharAssociation int int
      StackMap stack:
            aload 1 /* ca */
            iload 7 /* s */
            iaload
            istore 9 /* ch */
        start local 9 // int ch
        12: .line 784
            iload 9 /* ch */
            invokestatic org.apache.fop.fonts.MultiByteFont.isElidableControl:(I)Z
            ifne 14
        13: .line 785
            goto 16
        14: .line 787
      StackMap locals: int
      StackMap stack:
            iinc 7 /* s */ 1
        end local 9 // int ch
        15: .line 782
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            iload 8 /* e */
            if_icmplt 11
        16: .line 792
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            iload 8 /* e */
            if_icmpeq 19
        17: .line 793
            aload 2 /* ngb */
            aload 0 /* gs */
            iload 4 /* i */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getGlyph:(I)I
            invokevirtual java.nio.IntBuffer.put:(I)Ljava/nio/IntBuffer;
            pop
        18: .line 794
            aload 3 /* nal */
            aload 6 /* a */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // int e
        end local 7 // int s
        end local 6 // org.apache.fop.complexscripts.util.CharAssociation a
        19: .line 778
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            iload 5 /* n */
            if_icmplt 7
        end local 5 // int n
        end local 4 // int i
        21: .line 797
            aload 2 /* ngb */
            invokevirtual java.nio.IntBuffer.flip:()Ljava/nio/Buffer;
            pop
        22: .line 798
            new org.apache.fop.complexscripts.util.GlyphSequence
            dup
            aload 0 /* gs */
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getCharacters:()Ljava/nio/IntBuffer;
            aload 2 /* ngb */
            aload 3 /* nal */
            aload 0 /* gs */
            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 // java.util.List nal
        end local 2 // java.nio.IntBuffer ngb
        end local 1 // int[] ca
        23: .line 800
      StackMap locals: org.apache.fop.complexscripts.util.GlyphSequence
      StackMap stack:
            aload 0 /* gs */
            areturn
        end local 0 // org.apache.fop.complexscripts.util.GlyphSequence gs
      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 // org.apache.fop.complexscripts.util.GlyphSequence gs
         0: .line 805
            aload 0 /* gs */
            iconst_0
            invokevirtual org.apache.fop.complexscripts.util.GlyphSequence.getCharacterArray:(Z)[I
            astore 1 /* ca */
        start local 1 // int[] ca
         1: .line 806
            aload 1 /* ca */
            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 /* ch */
        start local 2 // int ch
         3: .line 807
            iload 2 /* ch */
            invokestatic org.apache.fop.fonts.MultiByteFont.isElidableControl:(I)Z
            ifeq 5
         4: .line 808
            iconst_1
            ireturn
        end local 2 // int ch
         5: .line 806
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 811
            iconst_0
            ireturn
        end local 1 // int[] ca
        end local 0 // org.apache.fop.complexscripts.util.GlyphSequence gs
      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 // int ch
         0: .line 815
            iload 0 /* ch */
            bipush 32
            if_icmpge 2
         1: .line 816
            iconst_1
            ireturn
         2: .line 817
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            sipush 128
            if_icmplt 4
            iload 0 /* ch */
            sipush 160
            if_icmpge 4
         3: .line 818
            iconst_1
            ireturn
         4: .line 819
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            sipush 8192
            if_icmplt 13
            iload 0 /* ch */
            sipush 8303
            if_icmpgt 13
         5: .line 820
            iload 0 /* ch */
            sipush 8203
            if_icmplt 7
            iload 0 /* ch */
            sipush 8207
            if_icmpgt 7
         6: .line 821
            iconst_1
            ireturn
         7: .line 822
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            sipush 8232
            if_icmplt 9
            iload 0 /* ch */
            sipush 8238
            if_icmpgt 9
         8: .line 823
            iconst_1
            ireturn
         9: .line 824
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            sipush 8294
            if_icmplt 11
        10: .line 825
            iconst_1
            ireturn
        11: .line 827
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            sipush 8288
            if_icmpne 12
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        13: .line 830
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // int ch
      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 // org.apache.fop.fonts.MultiByteFont this
        start local 1 // int tableType
        start local 2 // java.lang.String script
        start local 3 // java.lang.String language
        start local 4 // java.lang.String feature
         0: .line 837
            iload 1 /* tableType */
            iconst_1
            if_icmpne 3
         1: .line 838
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.getGSUB:()Lorg/apache/fop/complexscripts/fonts/GlyphSubstitutionTable;
            astore 5 /* table */
        start local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
         2: .line 839
            goto 10
        end local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
      StackMap locals:
      StackMap stack:
         3: iload 1 /* tableType */
            iconst_2
            if_icmpne 6
         4: .line 840
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.getGPOS:()Lorg/apache/fop/complexscripts/fonts/GlyphPositioningTable;
            astore 5 /* table */
        start local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
         5: .line 841
            goto 10
        end local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
      StackMap locals:
      StackMap stack:
         6: iload 1 /* tableType */
            iconst_5
            if_icmpne 9
         7: .line 842
            aload 0 /* this */
            invokevirtual org.apache.fop.fonts.MultiByteFont.getGDEF:()Lorg/apache/fop/complexscripts/fonts/GlyphDefinitionTable;
            astore 5 /* table */
        start local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
         8: .line 843
            goto 10
        end local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
         9: .line 844
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* table */
        start local 5 // org.apache.fop.complexscripts.fonts.GlyphTable table
        10: .line 846
      StackMap locals: org.apache.fop.complexscripts.fonts.GlyphTable
      StackMap stack:
            aload 5 /* table */
            ifnull 11
            aload 5 /* table */
            aload 2 /* script */
            aload 3 /* language */
            aload 4 /* feature */
            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 // org.apache.fop.complexscripts.fonts.GlyphTable table
        end local 4 // java.lang.String feature
        end local 3 // java.lang.String language
        end local 2 // java.lang.String script
        end local 1 // int tableType
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 850
            aconst_null
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      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 // org.apache.fop.fonts.MultiByteFont this
         0: .line 854
            aconst_null
            areturn
        end local 0 // org.apache.fop.fonts.MultiByteFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/fonts/MultiByteFont;
}
SourceFile: "MultiByteFont.java"