public class org.apache.fop.fonts.XMLFontMetricsReader extends org.xml.sax.helpers.DefaultHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.fop.fonts.XMLFontMetricsReader
  super_class: org.xml.sax.helpers.DefaultHandler
{
  private boolean isCID;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.apache.fop.fonts.CustomFont returnFont;
    descriptor: Lorg/apache/fop/fonts/CustomFont;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.fop.fonts.MultiByteFont multiFont;
    descriptor: Lorg/apache/fop/fonts/MultiByteFont;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.fop.fonts.SingleByteFont singleFont;
    descriptor: Lorg/apache/fop/fonts/SingleByteFont;
    flags: (0x0002) ACC_PRIVATE

  private final org.apache.fop.apps.io.InternalResourceResolver resourceResolver;
    descriptor: Lorg/apache/fop/apps/io/InternalResourceResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.StringBuffer text;
    descriptor: Ljava/lang/StringBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.lang.Integer> cidWidths;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/Integer;>;

  private java.util.Map<java.lang.Integer, java.lang.Integer> currentKerning;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Integer;>;

  private java.util.List<org.apache.fop.fonts.CMapSegment> bfranges;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/apache/fop/fonts/CMapSegment;>;

  public void <init>(org.xml.sax.InputSource, org.apache.fop.apps.io.InternalResourceResolver);
    descriptor: (Lorg/xml/sax/InputSource;Lorg/apache/fop/apps/io/InternalResourceResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // org.xml.sax.InputSource source
        start local 2 // org.apache.fop.apps.io.InternalResourceResolver resourceResolver
         0: .line 81
            aload 0 /* this */
            invokespecial org.xml.sax.helpers.DefaultHandler.<init>:()V
         1: .line 66
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.text:Ljava/lang/StringBuffer;
         2: .line 82
            aload 0 /* this */
            aload 2 /* resourceResolver */
            putfield org.apache.fop.fonts.XMLFontMetricsReader.resourceResolver:Lorg/apache/fop/apps/io/InternalResourceResolver;
         3: .line 83
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.createFont:(Lorg/xml/sax/InputSource;)V
         4: .line 84
            return
        end local 2 // org.apache.fop.apps.io.InternalResourceResolver resourceResolver
        end local 1 // org.xml.sax.InputSource source
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0    5     1            source  Lorg/xml/sax/InputSource;
            0    5     2  resourceResolver  Lorg/apache/fop/apps/io/InternalResourceResolver;
    Exceptions:
      throws org.apache.fop.apps.FOPException
    MethodParameters:
                  Name  Flags
      source            
      resourceResolver  

  private void createFont(org.xml.sax.InputSource);
    descriptor: (Lorg/xml/sax/InputSource;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // org.xml.sax.InputSource source
         0: .line 87
            aconst_null
            astore 2 /* parser */
        start local 2 // org.xml.sax.XMLReader parser
         1: .line 90
            invokestatic javax.xml.parsers.SAXParserFactory.newInstance:()Ljavax/xml/parsers/SAXParserFactory;
            astore 3 /* factory */
        start local 3 // javax.xml.parsers.SAXParserFactory factory
         2: .line 91
            aload 3 /* factory */
            iconst_1
            invokevirtual javax.xml.parsers.SAXParserFactory.setNamespaceAware:(Z)V
         3: .line 92
            aload 3 /* factory */
            invokevirtual javax.xml.parsers.SAXParserFactory.newSAXParser:()Ljavax/xml/parsers/SAXParser;
            invokevirtual javax.xml.parsers.SAXParser.getXMLReader:()Lorg/xml/sax/XMLReader;
            astore 2 /* parser */
        end local 3 // javax.xml.parsers.SAXParserFactory factory
         4: .line 93
            goto 7
      StackMap locals: org.apache.fop.fonts.XMLFontMetricsReader org.xml.sax.InputSource org.xml.sax.XMLReader
      StackMap stack: java.lang.Exception
         5: astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 94
            new org.apache.fop.apps.FOPException
            dup
            aload 3 /* e */
            invokespecial org.apache.fop.apps.FOPException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.Exception e
         7: .line 96
      StackMap locals:
      StackMap stack:
            aload 2 /* parser */
            ifnonnull 9
         8: .line 97
            new org.apache.fop.apps.FOPException
            dup
            ldc "Unable to create SAX parser"
            invokespecial org.apache.fop.apps.FOPException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 101
      StackMap locals:
      StackMap stack:
            aload 2 /* parser */
            ldc "http://xml.org/sax/features/namespace-prefixes"
            iconst_0
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        10: .line 102
            goto 13
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
        11: astore 3 /* e */
        start local 3 // org.xml.sax.SAXException e
        12: .line 103
            new org.apache.fop.apps.FOPException
            dup
            ldc "You need a SAX parser which supports SAX version 2"
            aload 3 /* e */
            invokespecial org.apache.fop.apps.FOPException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // org.xml.sax.SAXException e
        13: .line 106
      StackMap locals:
      StackMap stack:
            aload 2 /* parser */
            aload 0 /* this */
            invokeinterface org.xml.sax.XMLReader.setContentHandler:(Lorg/xml/sax/ContentHandler;)V
        14: .line 109
            aload 2 /* parser */
            aload 1 /* source */
            invokeinterface org.xml.sax.XMLReader.parse:(Lorg/xml/sax/InputSource;)V
        15: .line 110
            goto 20
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
        16: astore 3 /* e */
        start local 3 // org.xml.sax.SAXException e
        17: .line 111
            new org.apache.fop.apps.FOPException
            dup
            aload 3 /* e */
            invokespecial org.apache.fop.apps.FOPException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // org.xml.sax.SAXException e
        18: .line 112
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        19: .line 113
            new org.apache.fop.apps.FOPException
            dup
            aload 3 /* e */
            invokespecial org.apache.fop.apps.FOPException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.io.IOException e
        20: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.xml.sax.XMLReader parser
        end local 1 // org.xml.sax.InputSource source
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0   21     1   source  Lorg/xml/sax/InputSource;
            1   21     2   parser  Lorg/xml/sax/XMLReader;
            2    4     3  factory  Ljavax/xml/parsers/SAXParserFactory;
            6    7     3        e  Ljava/lang/Exception;
           12   13     3        e  Lorg/xml/sax/SAXException;
           17   18     3        e  Lorg/xml/sax/SAXException;
           19   20     3        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception
           9    10      11  Class org.xml.sax.SAXException
          14    15      16  Class org.xml.sax.SAXException
          14    15      18  Class java.io.IOException
    Exceptions:
      throws org.apache.fop.apps.FOPException
    MethodParameters:
        Name  Flags
      source  

  public void setFontEmbedURI(java.net.URI);
    descriptor: (Ljava/net/URI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // java.net.URI path
         0: .line 123
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 1 /* path */
            invokevirtual org.apache.fop.fonts.CustomFont.setEmbedURI:(Ljava/net/URI;)V
         1: .line 124
            return
        end local 1 // java.net.URI path
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0    2     1  path  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      path  

  public void setKerningEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // boolean enabled
         0: .line 131
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            iload 1 /* enabled */
            invokevirtual org.apache.fop.fonts.CustomFont.setKerningEnabled:(Z)V
         1: .line 132
            return
        end local 1 // boolean enabled
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0    2     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public void setAdvancedEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // boolean enabled
         0: .line 139
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            iload 1 /* enabled */
            invokevirtual org.apache.fop.fonts.CustomFont.setAdvancedEnabled:(Z)V
         1: .line 140
            return
        end local 1 // boolean enabled
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0    2     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public org.apache.fop.fonts.Typeface getFont();
    descriptor: ()Lorg/apache/fop/fonts/Typeface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
         0: .line 147
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            areturn
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/fonts/XMLFontMetricsReader;

  public void startDocument();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
         0: .line 155
            return
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/fonts/XMLFontMetricsReader;

  public void startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String localName
        start local 3 // java.lang.String qName
        start local 4 // org.xml.sax.Attributes attributes
         0: .line 162
            aload 2 /* localName */
            ldc "font-metrics"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
         1: .line 163
            ldc "TYPE0"
            aload 4 /* attributes */
            ldc "type"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 164
            aload 0 /* this */
            new org.apache.fop.fonts.MultiByteFont
            dup
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.resourceResolver:Lorg/apache/fop/apps/io/InternalResourceResolver;
            getstatic org.apache.fop.fonts.EmbeddingMode.AUTO:Lorg/apache/fop/fonts/EmbeddingMode;
            invokespecial org.apache.fop.fonts.MultiByteFont.<init>:(Lorg/apache/fop/apps/io/InternalResourceResolver;Lorg/apache/fop/fonts/EmbeddingMode;)V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
         3: .line 165
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
            putfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
         4: .line 166
            aload 0 /* this */
            iconst_1
            putfield org.apache.fop.fonts.XMLFontMetricsReader.isCID:Z
         5: .line 167
            aload 4 /* attributes */
            invokestatic org.apache.fop.fonts.apps.TTFReader.checkMetricsVersion:(Lorg/xml/sax/Attributes;)V
         6: .line 168
            goto 59
      StackMap locals:
      StackMap stack:
         7: ldc "TRUETYPE"
            aload 4 /* attributes */
            ldc "type"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
         8: .line 169
            aload 0 /* this */
            new org.apache.fop.fonts.SingleByteFont
            dup
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.resourceResolver:Lorg/apache/fop/apps/io/InternalResourceResolver;
            getstatic org.apache.fop.fonts.EmbeddingMode.AUTO:Lorg/apache/fop/fonts/EmbeddingMode;
            invokespecial org.apache.fop.fonts.SingleByteFont.<init>:(Lorg/apache/fop/apps/io/InternalResourceResolver;Lorg/apache/fop/fonts/EmbeddingMode;)V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
         9: .line 170
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            getstatic org.apache.fop.fonts.FontType.TRUETYPE:Lorg/apache/fop/fonts/FontType;
            invokevirtual org.apache.fop.fonts.SingleByteFont.setFontType:(Lorg/apache/fop/fonts/FontType;)V
        10: .line 171
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            putfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
        11: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.apache.fop.fonts.XMLFontMetricsReader.isCID:Z
        12: .line 173
            aload 4 /* attributes */
            invokestatic org.apache.fop.fonts.apps.TTFReader.checkMetricsVersion:(Lorg/xml/sax/Attributes;)V
        13: .line 174
            goto 59
        14: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.fop.fonts.SingleByteFont
            dup
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.resourceResolver:Lorg/apache/fop/apps/io/InternalResourceResolver;
            getstatic org.apache.fop.fonts.EmbeddingMode.AUTO:Lorg/apache/fop/fonts/EmbeddingMode;
            invokespecial org.apache.fop.fonts.SingleByteFont.<init>:(Lorg/apache/fop/apps/io/InternalResourceResolver;Lorg/apache/fop/fonts/EmbeddingMode;)V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
        15: .line 176
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            getstatic org.apache.fop.fonts.FontType.TYPE1:Lorg/apache/fop/fonts/FontType;
            invokevirtual org.apache.fop.fonts.SingleByteFont.setFontType:(Lorg/apache/fop/fonts/FontType;)V
        16: .line 177
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            putfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
        17: .line 178
            aload 0 /* this */
            iconst_0
            putfield org.apache.fop.fonts.XMLFontMetricsReader.isCID:Z
        18: .line 180
            goto 59
      StackMap locals:
      StackMap stack:
        19: ldc "embed"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        20: .line 182
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 4 /* attributes */
            ldc "file"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.apache.fop.apps.io.InternalResourceResolver.cleanURI:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual org.apache.fop.fonts.CustomFont.setEmbedURI:(Ljava/net/URI;)V
        21: .line 183
            goto 24
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
        22: astore 5 /* e */
        start local 5 // java.net.URISyntaxException e
        23: .line 184
            new org.xml.sax.SAXException
            dup
            new java.lang.StringBuilder
            dup
            ldc "URI syntax error in metrics file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.net.URISyntaxException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial org.xml.sax.SAXException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 5 // java.net.URISyntaxException e
        24: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 4 /* attributes */
            ldc "class"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.CustomFont.setEmbedResourceName:(Ljava/lang/String;)V
        25: .line 187
            goto 59
      StackMap locals:
      StackMap stack:
        26: ldc "cid-widths"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 190
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.cidWidths:Ljava/util/List;
        28: .line 191
            goto 59
      StackMap locals:
      StackMap stack:
        29: ldc "kerning"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        30: .line 192
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.currentKerning:Ljava/util/Map;
        31: .line 193
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "kpx1"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        32: .line 194
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.currentKerning:Ljava/util/Map;
        33: .line 193
            invokevirtual org.apache.fop.fonts.CustomFont.putKerningEntry:(Ljava/lang/Integer;Ljava/util/Map;)V
        34: .line 195
            goto 59
      StackMap locals:
      StackMap stack:
        35: ldc "bfranges"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 196
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.fop.fonts.XMLFontMetricsReader.bfranges:Ljava/util/List;
        37: .line 197
            goto 59
      StackMap locals:
      StackMap stack:
        38: ldc "bf"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        39: .line 198
            new org.apache.fop.fonts.CMapSegment
            dup
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "us"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
        40: .line 199
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "ue"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
        41: .line 200
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "gi"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
        42: .line 198
            invokespecial org.apache.fop.fonts.CMapSegment.<init>:(III)V
            astore 5 /* entry */
        start local 5 // org.apache.fop.fonts.CMapSegment entry
        43: .line 201
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.bfranges:Ljava/util/List;
            aload 5 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.apache.fop.fonts.CMapSegment entry
        44: .line 202
            goto 59
      StackMap locals:
      StackMap stack:
        45: ldc "wx"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 48
        46: .line 203
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.cidWidths:Ljava/util/List;
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "w"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        47: .line 206
            goto 59
      StackMap locals:
      StackMap stack:
        48: ldc "char"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        49: .line 208
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "idx"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
        50: .line 209
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "wdt"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
        51: .line 208
            invokevirtual org.apache.fop.fonts.SingleByteFont.setWidth:(II)V
        52: .line 210
            goto 59
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        53: astore 5 /* ne */
        start local 5 // java.lang.NumberFormatException ne
        54: .line 211
            new org.xml.sax.SAXException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Malformed width in metric file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* ne */
            invokevirtual java.lang.NumberFormatException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* ne */
            invokespecial org.xml.sax.SAXException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.NumberFormatException ne
        55: .line 213
      StackMap locals:
      StackMap stack:
            ldc "pair"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 59
        56: .line 214
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.currentKerning:Ljava/util/Map;
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "kpx2"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        57: .line 215
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "kern"
            invokeinterface org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        58: .line 214
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        59: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.xml.sax.Attributes attributes
        end local 3 // java.lang.String qName
        end local 2 // java.lang.String localName
        end local 1 // java.lang.String uri
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   60     0        this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0   60     1         uri  Ljava/lang/String;
            0   60     2   localName  Ljava/lang/String;
            0   60     3       qName  Ljava/lang/String;
            0   60     4  attributes  Lorg/xml/sax/Attributes;
           23   24     5           e  Ljava/net/URISyntaxException;
           43   44     5       entry  Lorg/apache/fop/fonts/CMapSegment;
           54   55     5          ne  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
          20    21      22  Class java.net.URISyntaxException
          49    52      53  Class java.lang.NumberFormatException
    Exceptions:
      throws org.xml.sax.SAXException
    MethodParameters:
            Name  Flags
      uri         
      localName   
      qName       
      attributes  

  private int getInt(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // java.lang.String str
         0: .line 221
            iconst_0
            istore 2 /* ret */
        start local 2 // int ret
         1: .line 223
            aload 1 /* str */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* ret */
         2: .line 224
            goto 5
      StackMap locals: org.apache.fop.fonts.XMLFontMetricsReader java.lang.String int
      StackMap stack: java.lang.Exception
         3: astore 3 /* e */
        start local 3 // java.lang.Exception e
         4: .line 225
            new org.xml.sax.SAXException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error while parsing integer value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial org.xml.sax.SAXException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.Exception e
         5: .line 227
      StackMap locals:
      StackMap stack:
            iload 2 /* ret */
            ireturn
        end local 2 // int ret
        end local 1 // java.lang.String str
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0    6     1   str  Ljava/lang/String;
            1    6     2   ret  I
            4    5     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws org.xml.sax.SAXException
    MethodParameters:
      Name  Flags
      str   

  public void endElement(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String localName
        start local 3 // java.lang.String qName
         0: .line 235
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.text:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* content */
        start local 4 // java.lang.String content
         1: .line 236
            ldc "font-name"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 237
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.CustomFont.setFontName:(Ljava/lang/String;)V
         3: .line 238
            goto 86
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc "full-name"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 239
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.CustomFont.setFullName:(Ljava/lang/String;)V
         6: .line 240
            goto 86
      StackMap locals:
      StackMap stack:
         7: ldc "family-name"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 241
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* s */
        start local 5 // java.util.Set s
         9: .line 242
            aload 5 /* s */
            aload 4 /* content */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 243
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 5 /* s */
            invokevirtual org.apache.fop.fonts.CustomFont.setFamilyNames:(Ljava/util/Set;)V
        end local 5 // java.util.Set s
        11: .line 244
            goto 86
      StackMap locals:
      StackMap stack:
        12: ldc "ttc-name"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.isCID:Z
            ifeq 15
        13: .line 245
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.MultiByteFont.setTTCName:(Ljava/lang/String;)V
        14: .line 246
            goto 86
      StackMap locals:
      StackMap stack:
        15: ldc "encoding"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 247
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            ifnull 86
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            invokevirtual org.apache.fop.fonts.SingleByteFont.getFontType:()Lorg/apache/fop/fonts/FontType;
            getstatic org.apache.fop.fonts.FontType.TYPE1:Lorg/apache/fop/fonts/FontType;
            if_acmpne 86
        17: .line 248
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.singleFont:Lorg/apache/fop/fonts/SingleByteFont;
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.SingleByteFont.setEncoding:(Ljava/lang/String;)V
        18: .line 250
            goto 86
      StackMap locals:
      StackMap stack:
        19: ldc "cap-height"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 251
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setCapHeight:(I)V
        21: .line 252
            goto 86
      StackMap locals:
      StackMap stack:
        22: ldc "x-height"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 253
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setXHeight:(I)V
        24: .line 254
            goto 86
      StackMap locals:
      StackMap stack:
        25: ldc "ascender"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 255
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setAscender:(I)V
        27: .line 256
            goto 86
      StackMap locals:
      StackMap stack:
        28: ldc "descender"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 257
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setDescender:(I)V
        30: .line 258
            goto 86
      StackMap locals:
      StackMap stack:
        31: ldc "left"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        32: .line 259
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            invokevirtual org.apache.fop.fonts.CustomFont.getFontBBox:()[I
            astore 5 /* bbox */
        start local 5 // int[] bbox
        33: .line 260
            aload 5 /* bbox */
            iconst_0
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            iastore
        34: .line 261
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 5 /* bbox */
            invokevirtual org.apache.fop.fonts.CustomFont.setFontBBox:([I)V
        end local 5 // int[] bbox
        35: .line 262
            goto 86
      StackMap locals:
      StackMap stack:
        36: ldc "bottom"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        37: .line 263
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            invokevirtual org.apache.fop.fonts.CustomFont.getFontBBox:()[I
            astore 5 /* bbox */
        start local 5 // int[] bbox
        38: .line 264
            aload 5 /* bbox */
            iconst_1
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            iastore
        39: .line 265
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 5 /* bbox */
            invokevirtual org.apache.fop.fonts.CustomFont.setFontBBox:([I)V
        end local 5 // int[] bbox
        40: .line 266
            goto 86
      StackMap locals:
      StackMap stack:
        41: ldc "right"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 46
        42: .line 267
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            invokevirtual org.apache.fop.fonts.CustomFont.getFontBBox:()[I
            astore 5 /* bbox */
        start local 5 // int[] bbox
        43: .line 268
            aload 5 /* bbox */
            iconst_2
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            iastore
        44: .line 269
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 5 /* bbox */
            invokevirtual org.apache.fop.fonts.CustomFont.setFontBBox:([I)V
        end local 5 // int[] bbox
        45: .line 270
            goto 86
      StackMap locals:
      StackMap stack:
        46: ldc "top"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 51
        47: .line 271
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            invokevirtual org.apache.fop.fonts.CustomFont.getFontBBox:()[I
            astore 5 /* bbox */
        start local 5 // int[] bbox
        48: .line 272
            aload 5 /* bbox */
            iconst_3
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            iastore
        49: .line 273
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 5 /* bbox */
            invokevirtual org.apache.fop.fonts.CustomFont.setFontBBox:([I)V
        end local 5 // int[] bbox
        50: .line 274
            goto 86
      StackMap locals:
      StackMap stack:
        51: ldc "first-char"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        52: .line 275
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setFirstChar:(I)V
        53: .line 276
            goto 86
      StackMap locals:
      StackMap stack:
        54: ldc "last-char"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 57
        55: .line 277
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setLastChar:(I)V
        56: .line 278
            goto 86
      StackMap locals:
      StackMap stack:
        57: ldc "flags"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 60
        58: .line 279
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setFlags:(I)V
        59: .line 280
            goto 86
      StackMap locals:
      StackMap stack:
        60: ldc "stemv"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        61: .line 281
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setStemV:(I)V
        62: .line 282
            goto 86
      StackMap locals:
      StackMap stack:
        63: ldc "italic-angle"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 66
        64: .line 283
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setItalicAngle:(I)V
        65: .line 284
            goto 86
      StackMap locals:
      StackMap stack:
        66: ldc "missing-width"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        67: .line 285
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.returnFont:Lorg/apache/fop/fonts/CustomFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.CustomFont.setMissingWidth:(I)V
        68: .line 286
            goto 86
      StackMap locals:
      StackMap stack:
        69: ldc "cid-type"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 72
        70: .line 287
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
            aload 4 /* content */
            invokestatic org.apache.fop.fonts.CIDFontType.byName:(Ljava/lang/String;)Lorg/apache/fop/fonts/CIDFontType;
            invokevirtual org.apache.fop.fonts.MultiByteFont.setCIDType:(Lorg/apache/fop/fonts/CIDFontType;)V
        71: .line 288
            goto 86
      StackMap locals:
      StackMap stack:
        72: ldc "default-width"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 75
        73: .line 289
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
            aload 0 /* this */
            aload 4 /* content */
            invokevirtual org.apache.fop.fonts.XMLFontMetricsReader.getInt:(Ljava/lang/String;)I
            invokevirtual org.apache.fop.fonts.MultiByteFont.setDefaultWidth:(I)V
        74: .line 290
            goto 86
      StackMap locals:
      StackMap stack:
        75: ldc "cid-widths"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 84
        76: .line 291
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.cidWidths:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            newarray 10
            astore 5 /* wds */
        start local 5 // int[] wds
        77: .line 292
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        78: .line 293
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.cidWidths:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 81
      StackMap locals: org.apache.fop.fonts.XMLFontMetricsReader java.lang.String java.lang.String java.lang.String java.lang.String int[] int top java.util.Iterator
      StackMap stack:
        79: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 7 /* cidWidth */
        start local 7 // java.lang.Integer cidWidth
        80: .line 294
            aload 5 /* wds */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 7 /* cidWidth */
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        end local 7 // java.lang.Integer cidWidth
        81: .line 293
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 79
        82: .line 298
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
            aload 5 /* wds */
            invokevirtual org.apache.fop.fonts.MultiByteFont.setWidthArray:([I)V
        end local 6 // int j
        end local 5 // int[] wds
        83: .line 300
            goto 86
      StackMap locals: org.apache.fop.fonts.XMLFontMetricsReader java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
        84: ldc "bfranges"
            aload 2 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 86
        85: .line 301
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.multiFont:Lorg/apache/fop/fonts/MultiByteFont;
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.bfranges:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.bfranges:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray org.apache.fop.fonts.CMapSegment
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.fop.fonts.CMapSegment[]
            invokevirtual org.apache.fop.fonts.MultiByteFont.setCMap:([Lorg/apache/fop/fonts/CMapSegment;)V
        86: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.text:Ljava/lang/StringBuffer;
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        87: .line 304
            return
        end local 4 // java.lang.String content
        end local 3 // java.lang.String qName
        end local 2 // java.lang.String localName
        end local 1 // java.lang.String uri
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   88     0       this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0   88     1        uri  Ljava/lang/String;
            0   88     2  localName  Ljava/lang/String;
            0   88     3      qName  Ljava/lang/String;
            1   88     4    content  Ljava/lang/String;
            9   11     5          s  Ljava/util/Set<Ljava/lang/String;>;
           33   35     5       bbox  [I
           38   40     5       bbox  [I
           43   45     5       bbox  [I
           48   50     5       bbox  [I
           77   83     5        wds  [I
           78   83     6          j  I
           80   81     7   cidWidth  Ljava/lang/Integer;
    Exceptions:
      throws org.xml.sax.SAXException
    MethodParameters:
           Name  Flags
      uri        
      localName  
      qName      

  public void characters(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
        start local 1 // char[] ch
        start local 2 // int start
        start local 3 // int length
         0: .line 311
            aload 0 /* this */
            getfield org.apache.fop.fonts.XMLFontMetricsReader.text:Ljava/lang/StringBuffer;
            aload 1 /* ch */
            iload 2 /* start */
            iload 3 /* length */
            invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
            pop
         1: .line 312
            return
        end local 3 // int length
        end local 2 // int start
        end local 1 // char[] ch
        end local 0 // org.apache.fop.fonts.XMLFontMetricsReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/fop/fonts/XMLFontMetricsReader;
            0    2     1      ch  [C
            0    2     2   start  I
            0    2     3  length  I
    MethodParameters:
        Name  Flags
      ch      
      start   
      length  
}
SourceFile: "XMLFontMetricsReader.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()