public final class org.apache.batik.bridge.SVGGVTFont implements org.apache.batik.gvt.font.GVTFont, org.apache.batik.util.SVGConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.batik.bridge.SVGGVTFont
  super_class: java.lang.Object
{
  public static final java.text.AttributedCharacterIterator$Attribute PAINT_INFO;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private float fontSize;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.font.GVTFontFace fontFace;
    descriptor: Lorg/apache/batik/gvt/font/GVTFontFace;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] glyphUnicodes;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] glyphNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] glyphLangs;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] glyphOrientations;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] glyphForms;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element[] glyphElements;
    descriptor: [Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element[] hkernElements;
    descriptor: [Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element[] vkernElements;
    descriptor: [Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.bridge.BridgeContext ctx;
    descriptor: Lorg/apache/batik/bridge/BridgeContext;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element textElement;
    descriptor: Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element missingGlyphElement;
    descriptor: Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.font.KerningTable hKerningTable;
    descriptor: Lorg/apache/batik/gvt/font/KerningTable;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.font.KerningTable vKerningTable;
    descriptor: Lorg/apache/batik/gvt/font/KerningTable;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String language;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String orientation;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private float scale;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.font.GVTLineMetrics lineMetrics;
    descriptor: Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.PAINT_INFO:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         1: .line 55
            putstatic org.apache.batik.bridge.SVGGVTFont.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
         2: .line 56
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(float, org.apache.batik.gvt.font.GVTFontFace, java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[], org.apache.batik.bridge.BridgeContext, org.w3c.dom.Element[], org.w3c.dom.Element, org.w3c.dom.Element[], org.w3c.dom.Element[], org.w3c.dom.Element);
    descriptor: (FLorg/apache/batik/gvt/font/GVTFontFace;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/batik/bridge/BridgeContext;[Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;[Lorg/w3c/dom/Element;[Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=15, args_size=14
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // float fontSize
        start local 2 // org.apache.batik.gvt.font.GVTFontFace fontFace
        start local 3 // java.lang.String[] glyphUnicodes
        start local 4 // java.lang.String[] glyphNames
        start local 5 // java.lang.String[] glyphLangs
        start local 6 // java.lang.String[] glyphOrientations
        start local 7 // java.lang.String[] glyphForms
        start local 8 // org.apache.batik.bridge.BridgeContext ctx
        start local 9 // org.w3c.dom.Element[] glyphElements
        start local 10 // org.w3c.dom.Element missingGlyphElement
        start local 11 // org.w3c.dom.Element[] hkernElements
        start local 12 // org.w3c.dom.Element[] vkernElements
        start local 13 // org.w3c.dom.Element textElement
         0: .line 99
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.SVGGVTFont.lineMetrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
         2: .line 112
            aload 0 /* this */
            aload 2 /* fontFace */
            putfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
         3: .line 113
            aload 0 /* this */
            fload 1 /* fontSize */
            putfield org.apache.batik.bridge.SVGGVTFont.fontSize:F
         4: .line 114
            aload 0 /* this */
            aload 3 /* glyphUnicodes */
            putfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
         5: .line 115
            aload 0 /* this */
            aload 4 /* glyphNames */
            putfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
         6: .line 116
            aload 0 /* this */
            aload 5 /* glyphLangs */
            putfield org.apache.batik.bridge.SVGGVTFont.glyphLangs:[Ljava/lang/String;
         7: .line 117
            aload 0 /* this */
            aload 6 /* glyphOrientations */
            putfield org.apache.batik.bridge.SVGGVTFont.glyphOrientations:[Ljava/lang/String;
         8: .line 118
            aload 0 /* this */
            aload 7 /* glyphForms */
            putfield org.apache.batik.bridge.SVGGVTFont.glyphForms:[Ljava/lang/String;
         9: .line 119
            aload 0 /* this */
            aload 8 /* ctx */
            putfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
        10: .line 120
            aload 0 /* this */
            aload 9 /* glyphElements */
            putfield org.apache.batik.bridge.SVGGVTFont.glyphElements:[Lorg/w3c/dom/Element;
        11: .line 121
            aload 0 /* this */
            aload 10 /* missingGlyphElement */
            putfield org.apache.batik.bridge.SVGGVTFont.missingGlyphElement:Lorg/w3c/dom/Element;
        12: .line 122
            aload 0 /* this */
            aload 11 /* hkernElements */
            putfield org.apache.batik.bridge.SVGGVTFont.hkernElements:[Lorg/w3c/dom/Element;
        13: .line 123
            aload 0 /* this */
            aload 12 /* vkernElements */
            putfield org.apache.batik.bridge.SVGGVTFont.vkernElements:[Lorg/w3c/dom/Element;
        14: .line 124
            aload 0 /* this */
            fload 1 /* fontSize */
            aload 2 /* fontFace */
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getUnitsPerEm:()F
            fdiv
            putfield org.apache.batik.bridge.SVGGVTFont.scale:F
        15: .line 125
            aload 0 /* this */
            aload 13 /* textElement */
            putfield org.apache.batik.bridge.SVGGVTFont.textElement:Lorg/w3c/dom/Element;
        16: .line 127
            aload 0 /* this */
            aload 13 /* textElement */
            invokestatic org.apache.batik.dom.util.XMLSupport.getXMLLang:(Lorg/w3c/dom/Element;)Ljava/lang/String;
            putfield org.apache.batik.bridge.SVGGVTFont.language:Ljava/lang/String;
        17: .line 130
            aload 13 /* textElement */
            bipush 59
        18: .line 129
            invokestatic org.apache.batik.bridge.CSSUtilities.getComputedStyle:(Lorg/w3c/dom/Element;I)Lorg/apache/batik/css/engine/value/Value;
            astore 14 /* v */
        start local 14 // org.apache.batik.css.engine.value.Value v
        19: .line 131
            aload 14 /* v */
            invokeinterface org.apache.batik.css.engine.value.Value.getStringValue:()Ljava/lang/String;
            ldc "tb"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        20: .line 133
            aload 0 /* this */
            ldc "v"
            putfield org.apache.batik.bridge.SVGGVTFont.orientation:Ljava/lang/String;
        21: .line 134
            goto 23
        22: .line 135
      StackMap locals: org.apache.batik.bridge.SVGGVTFont float org.apache.batik.gvt.font.GVTFontFace java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.apache.batik.bridge.BridgeContext org.w3c.dom.Element[] org.w3c.dom.Element org.w3c.dom.Element[] org.w3c.dom.Element[] org.w3c.dom.Element org.apache.batik.css.engine.value.Value
      StackMap stack:
            aload 0 /* this */
            ldc "h"
            putfield org.apache.batik.bridge.SVGGVTFont.orientation:Ljava/lang/String;
        23: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.createKerningTables:()V
        24: .line 139
            return
        end local 14 // org.apache.batik.css.engine.value.Value v
        end local 13 // org.w3c.dom.Element textElement
        end local 12 // org.w3c.dom.Element[] vkernElements
        end local 11 // org.w3c.dom.Element[] hkernElements
        end local 10 // org.w3c.dom.Element missingGlyphElement
        end local 9 // org.w3c.dom.Element[] glyphElements
        end local 8 // org.apache.batik.bridge.BridgeContext ctx
        end local 7 // java.lang.String[] glyphForms
        end local 6 // java.lang.String[] glyphOrientations
        end local 5 // java.lang.String[] glyphLangs
        end local 4 // java.lang.String[] glyphNames
        end local 3 // java.lang.String[] glyphUnicodes
        end local 2 // org.apache.batik.gvt.font.GVTFontFace fontFace
        end local 1 // float fontSize
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   25     1             fontSize  F
            0   25     2             fontFace  Lorg/apache/batik/gvt/font/GVTFontFace;
            0   25     3        glyphUnicodes  [Ljava/lang/String;
            0   25     4           glyphNames  [Ljava/lang/String;
            0   25     5           glyphLangs  [Ljava/lang/String;
            0   25     6    glyphOrientations  [Ljava/lang/String;
            0   25     7           glyphForms  [Ljava/lang/String;
            0   25     8                  ctx  Lorg/apache/batik/bridge/BridgeContext;
            0   25     9        glyphElements  [Lorg/w3c/dom/Element;
            0   25    10  missingGlyphElement  Lorg/w3c/dom/Element;
            0   25    11        hkernElements  [Lorg/w3c/dom/Element;
            0   25    12        vkernElements  [Lorg/w3c/dom/Element;
            0   25    13          textElement  Lorg/w3c/dom/Element;
           19   25    14                    v  Lorg/apache/batik/css/engine/value/Value;
    MethodParameters:
                     Name  Flags
      fontSize             
      fontFace             
      glyphUnicodes        
      glyphNames           
      glyphLangs           
      glyphOrientations    
      glyphForms           
      ctx                  
      glyphElements        
      missingGlyphElement  
      hkernElements        
      vkernElements        
      textElement          

  private void createKerningTables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
         0: .line 149
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.hkernElements:[Lorg/w3c/dom/Element;
            arraylength
            anewarray org.apache.batik.gvt.font.Kern
            astore 1 /* hEntries */
        start local 1 // org.apache.batik.gvt.font.Kern[] hEntries
         1: .line 150
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 9
         3: .line 151
      StackMap locals: org.apache.batik.gvt.font.Kern[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.hkernElements:[Lorg/w3c/dom/Element;
            iload 2 /* i */
            aaload
            astore 3 /* hkernElement */
        start local 3 // org.w3c.dom.Element hkernElement
         4: .line 153
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 3 /* hkernElement */
            invokevirtual org.apache.batik.bridge.BridgeContext.getBridge:(Lorg/w3c/dom/Element;)Lorg/apache/batik/bridge/Bridge;
            checkcast org.apache.batik.bridge.SVGHKernElementBridge
         5: .line 152
            astore 4 /* hkernBridge */
        start local 4 // org.apache.batik.bridge.SVGHKernElementBridge hkernBridge
         6: .line 154
            aload 4 /* hkernBridge */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 3 /* hkernElement */
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.SVGHKernElementBridge.createKern:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/SVGGVTFont;)Lorg/apache/batik/gvt/font/Kern;
            astore 5 /* hkern */
        start local 5 // org.apache.batik.gvt.font.Kern hkern
         7: .line 155
            aload 1 /* hEntries */
            iload 2 /* i */
            aload 5 /* hkern */
            aastore
        end local 5 // org.apache.batik.gvt.font.Kern hkern
        end local 4 // org.apache.batik.bridge.SVGHKernElementBridge hkernBridge
        end local 3 // org.w3c.dom.Element hkernElement
         8: .line 150
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.hkernElements:[Lorg/w3c/dom/Element;
            arraylength
            if_icmplt 3
        end local 2 // int i
        10: .line 157
            aload 0 /* this */
            new org.apache.batik.gvt.font.KerningTable
            dup
            aload 1 /* hEntries */
            invokespecial org.apache.batik.gvt.font.KerningTable.<init>:([Lorg/apache/batik/gvt/font/Kern;)V
            putfield org.apache.batik.bridge.SVGGVTFont.hKerningTable:Lorg/apache/batik/gvt/font/KerningTable;
        11: .line 159
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.vkernElements:[Lorg/w3c/dom/Element;
            arraylength
            anewarray org.apache.batik.gvt.font.Kern
            astore 2 /* vEntries */
        start local 2 // org.apache.batik.gvt.font.Kern[] vEntries
        12: .line 160
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        13: goto 20
        14: .line 161
      StackMap locals: org.apache.batik.bridge.SVGGVTFont org.apache.batik.gvt.font.Kern[] org.apache.batik.gvt.font.Kern[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.vkernElements:[Lorg/w3c/dom/Element;
            iload 3 /* i */
            aaload
            astore 4 /* vkernElement */
        start local 4 // org.w3c.dom.Element vkernElement
        15: .line 163
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 4 /* vkernElement */
            invokevirtual org.apache.batik.bridge.BridgeContext.getBridge:(Lorg/w3c/dom/Element;)Lorg/apache/batik/bridge/Bridge;
            checkcast org.apache.batik.bridge.SVGVKernElementBridge
        16: .line 162
            astore 5 /* vkernBridge */
        start local 5 // org.apache.batik.bridge.SVGVKernElementBridge vkernBridge
        17: .line 164
            aload 5 /* vkernBridge */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 4 /* vkernElement */
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.SVGVKernElementBridge.createKern:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/SVGGVTFont;)Lorg/apache/batik/gvt/font/Kern;
            astore 6 /* vkern */
        start local 6 // org.apache.batik.gvt.font.Kern vkern
        18: .line 165
            aload 2 /* vEntries */
            iload 3 /* i */
            aload 6 /* vkern */
            aastore
        end local 6 // org.apache.batik.gvt.font.Kern vkern
        end local 5 // org.apache.batik.bridge.SVGVKernElementBridge vkernBridge
        end local 4 // org.w3c.dom.Element vkernElement
        19: .line 160
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.vkernElements:[Lorg/w3c/dom/Element;
            arraylength
            if_icmplt 14
        end local 3 // int i
        21: .line 167
            aload 0 /* this */
            new org.apache.batik.gvt.font.KerningTable
            dup
            aload 2 /* vEntries */
            invokespecial org.apache.batik.gvt.font.KerningTable.<init>:([Lorg/apache/batik/gvt/font/Kern;)V
            putfield org.apache.batik.bridge.SVGGVTFont.vKerningTable:Lorg/apache/batik/gvt/font/KerningTable;
        22: .line 169
            return
        end local 2 // org.apache.batik.gvt.font.Kern[] vEntries
        end local 1 // org.apache.batik.gvt.font.Kern[] hEntries
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/apache/batik/bridge/SVGGVTFont;
            1   23     1      hEntries  [Lorg/apache/batik/gvt/font/Kern;
            2   10     2             i  I
            4    8     3  hkernElement  Lorg/w3c/dom/Element;
            6    8     4   hkernBridge  Lorg/apache/batik/bridge/SVGHKernElementBridge;
            7    8     5         hkern  Lorg/apache/batik/gvt/font/Kern;
           12   23     2      vEntries  [Lorg/apache/batik/gvt/font/Kern;
           13   21     3             i  I
           15   19     4  vkernElement  Lorg/w3c/dom/Element;
           17   19     5   vkernBridge  Lorg/apache/batik/bridge/SVGVKernElementBridge;
           18   19     6         vkern  Lorg/apache/batik/gvt/font/Kern;

  public float getHKern(int, int);
    descriptor: (II)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // int glyphCode1
        start local 2 // int glyphCode2
         0: .line 182
            iload 1 /* glyphCode1 */
            iflt 2
            iload 1 /* glyphCode1 */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmpge 2
         1: .line 183
            iload 2 /* glyphCode2 */
            iflt 2
            iload 2 /* glyphCode2 */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmplt 3
         2: .line 184
      StackMap locals:
      StackMap stack:
            fconst_0
            freturn
         3: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.hKerningTable:Lorg/apache/batik/gvt/font/KerningTable;
            iload 1 /* glyphCode1 */
            iload 2 /* glyphCode2 */
         4: .line 188
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 1 /* glyphCode1 */
            aaload
         5: .line 189
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 2 /* glyphCode2 */
            aaload
         6: .line 187
            invokevirtual org.apache.batik.gvt.font.KerningTable.getKerningValue:(IILjava/lang/String;Ljava/lang/String;)F
            fstore 3 /* ret */
        start local 3 // float ret
         7: .line 190
            fload 3 /* ret */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.scale:F
            fmul
            freturn
        end local 3 // float ret
        end local 2 // int glyphCode2
        end local 1 // int glyphCode1
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    8     1  glyphCode1  I
            0    8     2  glyphCode2  I
            7    8     3         ret  F
    MethodParameters:
            Name  Flags
      glyphCode1  
      glyphCode2  

  public float getVKern(int, int);
    descriptor: (II)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // int glyphCode1
        start local 2 // int glyphCode2
         0: .line 204
            iload 1 /* glyphCode1 */
            iflt 2
            iload 1 /* glyphCode1 */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmpge 2
         1: .line 205
            iload 2 /* glyphCode2 */
            iflt 2
            iload 2 /* glyphCode2 */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmplt 3
         2: .line 206
      StackMap locals:
      StackMap stack:
            fconst_0
            freturn
         3: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.vKerningTable:Lorg/apache/batik/gvt/font/KerningTable;
            iload 1 /* glyphCode1 */
            iload 2 /* glyphCode2 */
         4: .line 210
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 1 /* glyphCode1 */
            aaload
         5: .line 211
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 2 /* glyphCode2 */
            aaload
         6: .line 209
            invokevirtual org.apache.batik.gvt.font.KerningTable.getKerningValue:(IILjava/lang/String;Ljava/lang/String;)F
            fstore 3 /* ret */
        start local 3 // float ret
         7: .line 212
            fload 3 /* ret */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.scale:F
            fmul
            freturn
        end local 3 // float ret
        end local 2 // int glyphCode2
        end local 1 // int glyphCode1
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    8     1  glyphCode1  I
            0    8     2  glyphCode2  I
            7    8     3         ret  F
    MethodParameters:
            Name  Flags
      glyphCode1  
      glyphCode2  

  public int[] getGlyphCodesForName(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String name
         0: .line 224
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* glyphCodes */
        start local 2 // java.util.List glyphCodes
         1: .line 225
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 226
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            ifnull 5
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 227
            aload 2 /* glyphCodes */
            iload 3 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 225
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 230
            aload 2 /* glyphCodes */
            invokeinterface java.util.List.size:()I
            newarray 10
            astore 3 /* glyphCodeArray */
        start local 3 // int[] glyphCodeArray
         8: .line 231
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 232
      StackMap locals: org.apache.batik.bridge.SVGGVTFont java.lang.String java.util.List int[] int
      StackMap stack:
            aload 3 /* glyphCodeArray */
            iload 4 /* i */
            aload 2 /* glyphCodes */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        11: .line 231
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 2 /* glyphCodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 4 // int i
        13: .line 234
            aload 3 /* glyphCodeArray */
            areturn
        end local 3 // int[] glyphCodeArray
        end local 2 // java.util.List glyphCodes
        end local 1 // java.lang.String name
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   14     1            name  Ljava/lang/String;
            1   14     2      glyphCodes  Ljava/util/List;
            2    7     3               i  I
            8   14     3  glyphCodeArray  [I
            9   13     4               i  I
    MethodParameters:
      Name  Flags
      name  

  public int[] getGlyphCodesForUnicode(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String unicode
         0: .line 246
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* glyphCodes */
        start local 2 // java.util.List glyphCodes
         1: .line 247
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 248
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            ifnull 5
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 1 /* unicode */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 249
            aload 2 /* glyphCodes */
            iload 3 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 247
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 252
            aload 2 /* glyphCodes */
            invokeinterface java.util.List.size:()I
            newarray 10
            astore 3 /* glyphCodeArray */
        start local 3 // int[] glyphCodeArray
         8: .line 253
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 254
      StackMap locals: org.apache.batik.bridge.SVGGVTFont java.lang.String java.util.List int[] int
      StackMap stack:
            aload 3 /* glyphCodeArray */
            iload 4 /* i */
            aload 2 /* glyphCodes */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        11: .line 253
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 2 /* glyphCodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 4 // int i
        13: .line 256
            aload 3 /* glyphCodeArray */
            areturn
        end local 3 // int[] glyphCodeArray
        end local 2 // java.util.List glyphCodes
        end local 1 // java.lang.String unicode
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   14     1         unicode  Ljava/lang/String;
            1   14     2      glyphCodes  Ljava/util/List;
            2    7     3               i  I
            8   14     3  glyphCodeArray  [I
            9   13     4               i  I
    MethodParameters:
         Name  Flags
      unicode  

  private boolean languageMatches(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String glyphLang
         0: .line 273
            aload 1 /* glyphLang */
            ifnull 1
            aload 1 /* glyphLang */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 274
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 276
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* glyphLang */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         3: .line 277
            goto 9
         4: .line 278
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         5: .line 279
            aload 3 /* s */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.language:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 280
            aload 3 /* s */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.language:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
            aload 3 /* s */
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.language:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmple 9
         7: .line 281
            aload 3 /* s */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.language:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 9
         8: .line 282
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.lang.String s
         9: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        10: .line 285
            iconst_0
            ireturn
        end local 2 // java.util.StringTokenizer st
        end local 1 // java.lang.String glyphLang
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   11     1  glyphLang  Ljava/lang/String;
            3   11     2         st  Ljava/util/StringTokenizer;
            5    9     3          s  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      glyphLang  

  private boolean orientationMatches(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String glyphOrientation
         0: .line 299
            aload 1 /* glyphOrientation */
            ifnull 1
            aload 1 /* glyphOrientation */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 300
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* glyphOrientation */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.orientation:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String glyphOrientation
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    3     1  glyphOrientation  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      glyphOrientation  

  private boolean formMatches(java.lang.String, java.lang.String, java.text.AttributedCharacterIterator, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/text/AttributedCharacterIterator;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String glyphUnicode
        start local 2 // java.lang.String glyphForm
        start local 3 // java.text.AttributedCharacterIterator aci
        start local 4 // int currentIndex
         0: .line 319
            aload 3 /* aci */
            ifnull 1
            aload 2 /* glyphForm */
            ifnull 1
            aload 2 /* glyphForm */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 322
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 3 /* aci */
            iload 4 /* currentIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 5 /* c */
        start local 5 // char c
         3: .line 326
            aload 3 /* aci */
         4: .line 327
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_FORM:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         5: .line 326
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 6 /* form */
        start local 6 // java.lang.Integer form
         6: .line 329
            aload 6 /* form */
            ifnull 10
            aload 6 /* form */
         7: .line 330
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_NONE:Ljava/lang/Integer;
         8: .line 329
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
         9: .line 330
            ifeq 11
        10: .line 333
      StackMap locals: int java.lang.Integer
      StackMap stack:
            iconst_0
            ireturn
        11: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* glyphUnicode */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 56
        12: .line 339
            iconst_1
            istore 7 /* matched */
        start local 7 // boolean matched
        13: .line 340
            iconst_1
            istore 8 /* j */
        start local 8 // int j
        14: goto 20
        15: .line 341
      StackMap locals: int int
      StackMap stack:
            aload 3 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 5 /* c */
        16: .line 342
            aload 1 /* glyphUnicode */
            iload 8 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* c */
            if_icmpeq 19
        17: .line 343
            iconst_0
            istore 7 /* matched */
        18: .line 344
            goto 21
        19: .line 340
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* j */
            aload 1 /* glyphUnicode */
            invokevirtual java.lang.String.length:()I
            if_icmplt 15
        end local 8 // int j
        21: .line 349
      StackMap locals:
      StackMap stack:
            aload 3 /* aci */
            iload 4 /* currentIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        22: .line 351
            iload 7 /* matched */
            ifeq 56
        23: .line 354
            aload 3 /* aci */
            iload 4 /* currentIndex */
            aload 1 /* glyphUnicode */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_1
            isub
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        24: .line 355
            aload 3 /* aci */
        25: .line 356
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_FORM:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        26: .line 355
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 8 /* lastForm */
        start local 8 // java.lang.Integer lastForm
        27: .line 359
            aload 3 /* aci */
            iload 4 /* currentIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        28: .line 361
            aload 6 /* form */
            ifnull 56
            aload 8 /* lastForm */
            ifnull 56
        29: .line 362
            aload 6 /* form */
        30: .line 363
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_TERMINAL:Ljava/lang/Integer;
        31: .line 362
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        32: .line 363
            ifeq 40
        33: .line 364
            aload 8 /* lastForm */
        34: .line 365
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_INITIAL:Ljava/lang/Integer;
        35: .line 364
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        36: .line 365
            ifeq 40
        37: .line 367
            aload 2 /* glyphForm */
        38: .line 368
            ldc "isolated"
        39: .line 367
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        40: .line 370
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 6 /* form */
        41: .line 371
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_TERMINAL:Ljava/lang/Integer;
        42: .line 370
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        43: .line 371
            ifeq 47
        44: .line 373
            aload 2 /* glyphForm */
        45: .line 374
            ldc "terminal"
        46: .line 373
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        47: .line 376
      StackMap locals:
      StackMap stack:
            aload 6 /* form */
        48: .line 377
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_MEDIAL:Ljava/lang/Integer;
        49: .line 376
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        50: .line 377
            ifeq 56
        51: .line 378
            aload 8 /* lastForm */
        52: .line 379
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_MEDIAL:Ljava/lang/Integer;
        53: .line 378
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        54: .line 379
            ifeq 56
        55: .line 381
            aload 2 /* glyphForm */
            ldc "medial"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 8 // java.lang.Integer lastForm
        end local 7 // boolean matched
        56: .line 388
      StackMap locals:
      StackMap stack:
            aload 6 /* form */
        57: .line 389
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_ISOLATED:Ljava/lang/Integer;
        58: .line 388
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        59: .line 389
            ifeq 61
        60: .line 390
            aload 2 /* glyphForm */
            ldc "isolated"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        61: .line 392
      StackMap locals:
      StackMap stack:
            aload 6 /* form */
        62: .line 393
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_TERMINAL:Ljava/lang/Integer;
        63: .line 392
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        64: .line 393
            ifeq 66
        65: .line 394
            aload 2 /* glyphForm */
            ldc "terminal"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        66: .line 396
      StackMap locals:
      StackMap stack:
            aload 6 /* form */
        67: .line 397
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_INITIAL:Ljava/lang/Integer;
        68: .line 396
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        69: .line 397
            ifeq 71
        70: .line 398
            aload 2 /* glyphForm */
            ldc "initial"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        71: .line 400
      StackMap locals:
      StackMap stack:
            aload 6 /* form */
        72: .line 401
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_MEDIAL:Ljava/lang/Integer;
        73: .line 400
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
        74: .line 401
            ifeq 76
        75: .line 402
            aload 2 /* glyphForm */
            ldc "medial"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        76: .line 404
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.lang.Integer form
        end local 5 // char c
        end local 4 // int currentIndex
        end local 3 // java.text.AttributedCharacterIterator aci
        end local 2 // java.lang.String glyphForm
        end local 1 // java.lang.String glyphUnicode
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   77     0          this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   77     1  glyphUnicode  Ljava/lang/String;
            0   77     2     glyphForm  Ljava/lang/String;
            0   77     3           aci  Ljava/text/AttributedCharacterIterator;
            0   77     4  currentIndex  I
            3   77     5             c  C
            6   77     6          form  Ljava/lang/Integer;
           13   56     7       matched  Z
           14   21     8             j  I
           27   56     8      lastForm  Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      glyphUnicode  
      glyphForm     
      aci           
      currentIndex  

  public boolean canDisplayGivenName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String name
         0: .line 416
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 417
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            ifnull 6
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 418
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphLangs:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.languageMatches:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 419
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphOrientations:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.orientationMatches:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 420
            iconst_1
            ireturn
         6: .line 416
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
         8: .line 423
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    9     1  name  Ljava/lang/String;
            1    8     2     i  I
    MethodParameters:
      Name  Flags
      name  

  public boolean canDisplay(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // char c
         0: .line 436
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 437
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            iload 1 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 6
         3: .line 438
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphLangs:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.languageMatches:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 439
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphOrientations:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.orientationMatches:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 440
            iconst_1
            ireturn
         6: .line 436
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
         8: .line 443
            iconst_0
            ireturn
        end local 1 // char c
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    9     1     c  C
            1    8     2     i  I
    MethodParameters:
      Name  Flags
      c     

  public int canDisplayUpTo(char[], int, int);
    descriptor: ([CII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // char[] text
        start local 2 // int start
        start local 3 // int limit
         0: .line 459
            new java.text.StringCharacterIterator
            dup
            new java.lang.String
            dup
            aload 1 /* text */
            invokespecial java.lang.String.<init>:([C)V
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
         1: .line 458
            astore 4 /* sci */
        start local 4 // java.text.StringCharacterIterator sci
         2: .line 460
            aload 0 /* this */
            aload 4 /* sci */
            iload 2 /* start */
            iload 3 /* limit */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.canDisplayUpTo:(Ljava/text/CharacterIterator;II)I
            ireturn
        end local 4 // java.text.StringCharacterIterator sci
        end local 3 // int limit
        end local 2 // int start
        end local 1 // char[] text
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    3     1   text  [C
            0    3     2  start  I
            0    3     3  limit  I
            2    3     4    sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
       Name  Flags
      text   
      start  
      limit  

  public int canDisplayUpTo(java.text.CharacterIterator, int, int);
    descriptor: (Ljava/text/CharacterIterator;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.text.CharacterIterator iter
        start local 2 // int start
        start local 3 // int limit
         0: .line 476
            aconst_null
            astore 4 /* aci */
        start local 4 // java.text.AttributedCharacterIterator aci
         1: .line 477
            aload 1 /* iter */
            instanceof java.text.AttributedCharacterIterator
            ifeq 3
         2: .line 478
            aload 1 /* iter */
            checkcast java.text.AttributedCharacterIterator
            astore 4 /* aci */
         3: .line 481
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aload 1 /* iter */
            iload 2 /* start */
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            istore 5 /* c */
        start local 5 // char c
         4: .line 482
            iload 2 /* start */
            istore 6 /* currentIndex */
        start local 6 // int currentIndex
         5: .line 484
            goto 38
         6: .line 486
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 7 /* foundMatchingGlyph */
        start local 7 // boolean foundMatchingGlyph
         7: .line 488
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 33
         9: .line 489
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            iload 5 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            ifne 32
        10: .line 490
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphLangs:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.languageMatches:(Ljava/lang/String;)Z
            ifeq 32
        11: .line 491
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphOrientations:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.orientationMatches:(Ljava/lang/String;)Z
            ifeq 32
        12: .line 492
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphForms:[Ljava/lang/String;
            iload 8 /* i */
            aaload
        13: .line 493
            aload 4 /* aci */
            iload 6 /* currentIndex */
        14: .line 492
            invokevirtual org.apache.batik.bridge.SVGGVTFont.formMatches:(Ljava/lang/String;Ljava/lang/String;Ljava/text/AttributedCharacterIterator;I)Z
        15: .line 493
            ifeq 32
        16: .line 496
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 19
        17: .line 497
            iconst_1
            istore 7 /* foundMatchingGlyph */
        18: .line 498
            goto 34
        19: .line 503
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* matched */
        start local 9 // boolean matched
        20: .line 504
            iconst_1
            istore 10 /* j */
        start local 10 // int j
        21: goto 27
        22: .line 505
      StackMap locals: int int
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.text.CharacterIterator.next:()C
            istore 5 /* c */
        23: .line 506
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            iload 10 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* c */
            if_icmpeq 26
        24: .line 507
            iconst_0
            istore 9 /* matched */
        25: .line 508
            goto 28
        26: .line 504
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 10 /* j */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            if_icmplt 22
        end local 10 // int j
        28: .line 511
      StackMap locals:
      StackMap stack:
            iload 9 /* matched */
            ifeq 31
        29: .line 512
            iconst_1
            istore 7 /* foundMatchingGlyph */
        30: .line 513
            goto 34
        31: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            iload 6 /* currentIndex */
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            istore 5 /* c */
        end local 9 // boolean matched
        32: .line 488
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 8 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmplt 9
        end local 8 // int i
        34: .line 523
      StackMap locals:
      StackMap stack:
            iload 7 /* foundMatchingGlyph */
            ifne 36
        35: .line 524
            iload 6 /* currentIndex */
            ireturn
        36: .line 526
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.text.CharacterIterator.next:()C
            istore 5 /* c */
        37: .line 527
            aload 1 /* iter */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            istore 6 /* currentIndex */
        end local 7 // boolean foundMatchingGlyph
        38: .line 484
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ldc 65535
            if_icmpeq 39
            iload 6 /* currentIndex */
            iload 3 /* limit */
            if_icmplt 6
        39: .line 529
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 6 // int currentIndex
        end local 5 // char c
        end local 4 // java.text.AttributedCharacterIterator aci
        end local 3 // int limit
        end local 2 // int start
        end local 1 // java.text.CharacterIterator iter
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   40     0                this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   40     1                iter  Ljava/text/CharacterIterator;
            0   40     2               start  I
            0   40     3               limit  I
            1   40     4                 aci  Ljava/text/AttributedCharacterIterator;
            4   40     5                   c  C
            5   40     6        currentIndex  I
            7   38     7  foundMatchingGlyph  Z
            8   34     8                   i  I
           20   32     9             matched  Z
           21   28    10                   j  I
    MethodParameters:
       Name  Flags
      iter   
      start  
      limit  

  public int canDisplayUpTo(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String str
         0: .line 542
            new java.text.StringCharacterIterator
            dup
            aload 1 /* str */
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 2 /* sci */
        start local 2 // java.text.StringCharacterIterator sci
         1: .line 543
            aload 0 /* this */
            aload 2 /* sci */
            iconst_0
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            invokevirtual org.apache.batik.bridge.SVGGVTFont.canDisplayUpTo:(Ljava/text/CharacterIterator;II)I
            ireturn
        end local 2 // java.text.StringCharacterIterator sci
        end local 1 // java.lang.String str
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    2     1   str  Ljava/lang/String;
            1    2     2   sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
      Name  Flags
      str   

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, char[]);
    descriptor: (Ljava/awt/font/FontRenderContext;[C)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // char[] chars
         0: .line 558
            new java.text.StringCharacterIterator
            dup
            new java.lang.String
            dup
            aload 2 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
         1: .line 557
            astore 3 /* sci */
        start local 3 // java.text.StringCharacterIterator sci
         2: .line 559
            aload 0 /* this */
            aload 1 /* frc */
            aload 3 /* sci */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
            areturn
        end local 3 // java.text.StringCharacterIterator sci
        end local 2 // char[] chars
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    3     1    frc  Ljava/awt/font/FontRenderContext;
            0    3     2  chars  [C
            2    3     3    sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
       Name  Flags
      frc    
      chars  

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.text.CharacterIterator);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=14, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // java.text.CharacterIterator ci
         0: .line 574
            aconst_null
            astore 3 /* aci */
        start local 3 // java.text.AttributedCharacterIterator aci
         1: .line 575
            aload 2 /* ci */
            instanceof java.text.AttributedCharacterIterator
            ifeq 3
         2: .line 576
            aload 2 /* ci */
            checkcast java.text.AttributedCharacterIterator
            astore 3 /* aci */
         3: .line 579
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* glyphs */
        start local 4 // java.util.List glyphs
         4: .line 580
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.first:()C
            istore 5 /* c */
        start local 5 // char c
         5: .line 581
            goto 75
         6: .line 582
      StackMap locals: java.util.List int
      StackMap stack:
            iconst_0
            istore 6 /* foundMatchingGlyph */
        start local 6 // boolean foundMatchingGlyph
         7: .line 583
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 61
         9: .line 584
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            iload 5 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            ifne 60
        10: .line 585
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphLangs:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.languageMatches:(Ljava/lang/String;)Z
            ifeq 60
        11: .line 586
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphOrientations:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            invokevirtual org.apache.batik.bridge.SVGGVTFont.orientationMatches:(Ljava/lang/String;)Z
            ifeq 60
        12: .line 587
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphForms:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            aload 3 /* aci */
        13: .line 588
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.getIndex:()I
        14: .line 587
            invokevirtual org.apache.batik.bridge.SVGGVTFont.formMatches:(Ljava/lang/String;Ljava/lang/String;Ljava/text/AttributedCharacterIterator;I)Z
        15: .line 588
            ifeq 60
        16: .line 590
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 30
        17: .line 591
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphElements:[Lorg/w3c/dom/Element;
            iload 7 /* i */
            aaload
            astore 8 /* glyphElement */
        start local 8 // org.w3c.dom.Element glyphElement
        18: .line 593
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 8 /* glyphElement */
            invokevirtual org.apache.batik.bridge.BridgeContext.getBridge:(Lorg/w3c/dom/Element;)Lorg/apache/batik/bridge/Bridge;
            checkcast org.apache.batik.bridge.SVGGlyphElementBridge
        19: .line 592
            astore 9 /* glyphBridge */
        start local 9 // org.apache.batik.bridge.SVGGlyphElementBridge glyphBridge
        20: .line 594
            aconst_null
            astore 10 /* tpi */
        start local 10 // org.apache.batik.gvt.text.TextPaintInfo tpi
        21: .line 595
            aload 3 /* aci */
            ifnull 23
        22: .line 596
            aload 3 /* aci */
            getstatic org.apache.batik.bridge.SVGGVTFont.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 10 /* tpi */
        23: .line 598
      StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.SVGGlyphElementBridge org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            aload 9 /* glyphBridge */
        24: .line 599
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 8 /* glyphElement */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.textElement:Lorg/w3c/dom/Element;
            iload 7 /* i */
        25: .line 600
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontSize:F
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            aload 10 /* tpi */
        26: .line 598
            invokevirtual org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;IFLorg/apache/batik/gvt/font/GVTFontFace;Lorg/apache/batik/gvt/text/TextPaintInfo;)Lorg/apache/batik/gvt/font/Glyph;
            astore 11 /* glyph */
        start local 11 // org.apache.batik.gvt.font.Glyph glyph
        27: .line 601
            aload 4 /* glyphs */
            aload 11 /* glyph */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 602
            iconst_1
            istore 6 /* foundMatchingGlyph */
        29: .line 603
            goto 62
        end local 11 // org.apache.batik.gvt.font.Glyph glyph
        end local 10 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 9 // org.apache.batik.bridge.SVGGlyphElementBridge glyphBridge
        end local 8 // org.w3c.dom.Element glyphElement
        30: .line 607
      StackMap locals:
      StackMap stack:
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            istore 8 /* current */
        start local 8 // int current
        31: .line 608
            iconst_1
            istore 9 /* matched */
        start local 9 // boolean matched
        32: .line 609
            iconst_1
            istore 10 /* j */
        start local 10 // int j
        33: goto 39
        34: .line 610
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.next:()C
            istore 5 /* c */
        35: .line 611
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            iload 10 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            iload 5 /* c */
            if_icmpeq 38
        36: .line 612
            iconst_0
            istore 9 /* matched */
        37: .line 613
            goto 40
        38: .line 609
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        39: iload 10 /* j */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            if_icmplt 34
        end local 10 // int j
        40: .line 616
      StackMap locals:
      StackMap stack:
            iload 9 /* matched */
            ifeq 59
        41: .line 618
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphElements:[Lorg/w3c/dom/Element;
            iload 7 /* i */
            aaload
            astore 10 /* glyphElement */
        start local 10 // org.w3c.dom.Element glyphElement
        42: .line 620
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
        43: .line 621
            aload 10 /* glyphElement */
        44: .line 620
            invokevirtual org.apache.batik.bridge.BridgeContext.getBridge:(Lorg/w3c/dom/Element;)Lorg/apache/batik/bridge/Bridge;
            checkcast org.apache.batik.bridge.SVGGlyphElementBridge
        45: .line 619
            astore 11 /* glyphBridge */
        start local 11 // org.apache.batik.bridge.SVGGlyphElementBridge glyphBridge
        46: .line 622
            aconst_null
            astore 12 /* tpi */
        start local 12 // org.apache.batik.gvt.text.TextPaintInfo tpi
        47: .line 623
            aload 3 /* aci */
            ifnull 52
        48: .line 624
            aload 3 /* aci */
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        49: .line 625
            aload 3 /* aci */
        50: .line 626
            getstatic org.apache.batik.bridge.SVGGVTFont.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
        51: .line 625
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 12 /* tpi */
        52: .line 628
      StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.SVGGlyphElementBridge org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            aload 11 /* glyphBridge */
        53: .line 629
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 10 /* glyphElement */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.textElement:Lorg/w3c/dom/Element;
            iload 7 /* i */
        54: .line 630
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontSize:F
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            aload 12 /* tpi */
        55: .line 628
            invokevirtual org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;IFLorg/apache/batik/gvt/font/GVTFontFace;Lorg/apache/batik/gvt/text/TextPaintInfo;)Lorg/apache/batik/gvt/font/Glyph;
            astore 13 /* glyph */
        start local 13 // org.apache.batik.gvt.font.Glyph glyph
        56: .line 631
            aload 4 /* glyphs */
            aload 13 /* glyph */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        57: .line 632
            iconst_1
            istore 6 /* foundMatchingGlyph */
        58: .line 633
            goto 62
        end local 13 // org.apache.batik.gvt.font.Glyph glyph
        end local 12 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 11 // org.apache.batik.bridge.SVGGlyphElementBridge glyphBridge
        end local 10 // org.w3c.dom.Element glyphElement
        59: .line 638
      StackMap locals:
      StackMap stack:
            aload 2 /* ci */
            iload 8 /* current */
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            istore 5 /* c */
        end local 9 // boolean matched
        end local 8 // int current
        60: .line 583
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 7 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            arraylength
            if_icmplt 9
        end local 7 // int i
        62: .line 643
      StackMap locals:
      StackMap stack:
            iload 6 /* foundMatchingGlyph */
            ifne 74
        63: .line 646
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.missingGlyphElement:Lorg/w3c/dom/Element;
            invokevirtual org.apache.batik.bridge.BridgeContext.getBridge:(Lorg/w3c/dom/Element;)Lorg/apache/batik/bridge/Bridge;
            checkcast org.apache.batik.bridge.SVGGlyphElementBridge
        64: .line 645
            astore 7 /* glyphBridge */
        start local 7 // org.apache.batik.bridge.SVGGlyphElementBridge glyphBridge
        65: .line 647
            aconst_null
            astore 8 /* tpi */
        start local 8 // org.apache.batik.gvt.text.TextPaintInfo tpi
        66: .line 648
            aload 3 /* aci */
            ifnull 69
        67: .line 649
            aload 3 /* aci */
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        68: .line 650
            aload 3 /* aci */
            getstatic org.apache.batik.bridge.SVGGVTFont.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPaintInfo
            astore 8 /* tpi */
        69: .line 652
      StackMap locals: org.apache.batik.bridge.SVGGlyphElementBridge org.apache.batik.gvt.text.TextPaintInfo
      StackMap stack:
            aload 7 /* glyphBridge */
        70: .line 653
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.missingGlyphElement:Lorg/w3c/dom/Element;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.textElement:Lorg/w3c/dom/Element;
            iconst_m1
        71: .line 654
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontSize:F
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            aload 8 /* tpi */
        72: .line 652
            invokevirtual org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;IFLorg/apache/batik/gvt/font/GVTFontFace;Lorg/apache/batik/gvt/text/TextPaintInfo;)Lorg/apache/batik/gvt/font/Glyph;
            astore 9 /* glyph */
        start local 9 // org.apache.batik.gvt.font.Glyph glyph
        73: .line 655
            aload 4 /* glyphs */
            aload 9 /* glyph */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.apache.batik.gvt.font.Glyph glyph
        end local 8 // org.apache.batik.gvt.text.TextPaintInfo tpi
        end local 7 // org.apache.batik.bridge.SVGGlyphElementBridge glyphBridge
        74: .line 657
      StackMap locals:
      StackMap stack:
            aload 2 /* ci */
            invokeinterface java.text.CharacterIterator.next:()C
            istore 5 /* c */
        end local 6 // boolean foundMatchingGlyph
        75: .line 581
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ldc 65535
            if_icmpne 6
        76: .line 661
            aload 4 /* glyphs */
            invokeinterface java.util.List.size:()I
            istore 6 /* numGlyphs */
        start local 6 // int numGlyphs
        77: .line 663
            aload 4 /* glyphs */
            iload 6 /* numGlyphs */
            anewarray org.apache.batik.gvt.font.Glyph
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.Glyph[]
            astore 7 /* glyphArray */
        start local 7 // org.apache.batik.gvt.font.Glyph[] glyphArray
        78: .line 666
            new org.apache.batik.gvt.font.SVGGVTGlyphVector
            dup
            aload 0 /* this */
            aload 7 /* glyphArray */
            aload 1 /* frc */
            invokespecial org.apache.batik.gvt.font.SVGGVTGlyphVector.<init>:(Lorg/apache/batik/gvt/font/GVTFont;[Lorg/apache/batik/gvt/font/Glyph;Ljava/awt/font/FontRenderContext;)V
            areturn
        end local 7 // org.apache.batik.gvt.font.Glyph[] glyphArray
        end local 6 // int numGlyphs
        end local 5 // char c
        end local 4 // java.util.List glyphs
        end local 3 // java.text.AttributedCharacterIterator aci
        end local 2 // java.text.CharacterIterator ci
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   79     0                this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   79     1                 frc  Ljava/awt/font/FontRenderContext;
            0   79     2                  ci  Ljava/text/CharacterIterator;
            1   79     3                 aci  Ljava/text/AttributedCharacterIterator;
            4   79     4              glyphs  Ljava/util/List;
            5   79     5                   c  C
            7   75     6  foundMatchingGlyph  Z
            8   62     7                   i  I
           18   30     8        glyphElement  Lorg/w3c/dom/Element;
           20   30     9         glyphBridge  Lorg/apache/batik/bridge/SVGGlyphElementBridge;
           21   30    10                 tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
           27   30    11               glyph  Lorg/apache/batik/gvt/font/Glyph;
           31   60     8             current  I
           32   60     9             matched  Z
           33   40    10                   j  I
           42   59    10        glyphElement  Lorg/w3c/dom/Element;
           46   59    11         glyphBridge  Lorg/apache/batik/bridge/SVGGlyphElementBridge;
           47   59    12                 tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
           56   59    13               glyph  Lorg/apache/batik/gvt/font/Glyph;
           65   74     7         glyphBridge  Lorg/apache/batik/bridge/SVGGlyphElementBridge;
           66   74     8                 tpi  Lorg/apache/batik/gvt/text/TextPaintInfo;
           73   74     9               glyph  Lorg/apache/batik/gvt/font/Glyph;
           77   79     6           numGlyphs  I
           78   79     7          glyphArray  [Lorg/apache/batik/gvt/font/Glyph;
    MethodParameters:
      Name  Flags
      frc   
      ci    

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, int[], java.text.CharacterIterator);
    descriptor: (Ljava/awt/font/FontRenderContext;[ILjava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // int[] glyphCodes
        start local 3 // java.text.CharacterIterator ci
         0: .line 683
            aload 2 /* glyphCodes */
            arraylength
            istore 4 /* nGlyphs */
        start local 4 // int nGlyphs
         1: .line 684
            new java.lang.StringBuffer
            dup
            iload 4 /* nGlyphs */
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 5 /* workBuff */
        start local 5 // java.lang.StringBuffer workBuff
         2: .line 685
            aload 2 /* glyphCodes */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 6
      StackMap locals: org.apache.batik.bridge.SVGGVTFont java.awt.font.FontRenderContext int[] java.text.CharacterIterator int java.lang.StringBuffer top int int int[]
      StackMap stack:
         3: aload 9
            iload 7
            iaload
            istore 6 /* glyphCode */
        start local 6 // int glyphCode
         4: .line 686
            aload 5 /* workBuff */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            iload 6 /* glyphCode */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // int glyphCode
         5: .line 685
            iinc 7 1
      StackMap locals:
      StackMap stack:
         6: iload 7
            iload 8
            if_icmplt 3
         7: .line 688
            new java.text.StringCharacterIterator
            dup
            aload 5 /* workBuff */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 6 /* sci */
        start local 6 // java.text.StringCharacterIterator sci
         8: .line 689
            aload 0 /* this */
            aload 1 /* frc */
            aload 6 /* sci */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
            areturn
        end local 6 // java.text.StringCharacterIterator sci
        end local 5 // java.lang.StringBuffer workBuff
        end local 4 // int nGlyphs
        end local 3 // java.text.CharacterIterator ci
        end local 2 // int[] glyphCodes
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    9     1         frc  Ljava/awt/font/FontRenderContext;
            0    9     2  glyphCodes  [I
            0    9     3          ci  Ljava/text/CharacterIterator;
            1    9     4     nGlyphs  I
            2    9     5    workBuff  Ljava/lang/StringBuffer;
            4    5     6   glyphCode  I
            8    9     6         sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
            Name  Flags
      frc         
      glyphCodes  
      ci          

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.lang.String);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // java.lang.String str
         0: .line 702
            new java.text.StringCharacterIterator
            dup
            aload 2 /* str */
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 3 /* sci */
        start local 3 // java.text.StringCharacterIterator sci
         1: .line 703
            aload 0 /* this */
            aload 1 /* frc */
            aload 3 /* sci */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
            areturn
        end local 3 // java.text.StringCharacterIterator sci
        end local 2 // java.lang.String str
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    2     1   frc  Ljava/awt/font/FontRenderContext;
            0    2     2   str  Ljava/lang/String;
            1    2     3   sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
      Name  Flags
      frc   
      str   

  public org.apache.batik.gvt.font.GVTFont deriveFont(float);
    descriptor: (F)Lorg/apache/batik/gvt/font/GVTFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // float size
         0: .line 715
            new org.apache.batik.bridge.SVGGVTFont
            dup
            fload 1 /* size */
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphUnicodes:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphNames:[Ljava/lang/String;
         1: .line 716
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphLangs:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphOrientations:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphForms:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.ctx:Lorg/apache/batik/bridge/BridgeContext;
         2: .line 717
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.glyphElements:[Lorg/w3c/dom/Element;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.missingGlyphElement:Lorg/w3c/dom/Element;
         3: .line 718
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.hkernElements:[Lorg/w3c/dom/Element;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.vkernElements:[Lorg/w3c/dom/Element;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.textElement:Lorg/w3c/dom/Element;
         4: .line 715
            invokespecial org.apache.batik.bridge.SVGGVTFont.<init>:(FLorg/apache/batik/gvt/font/GVTFontFace;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/batik/bridge/BridgeContext;[Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;[Lorg/w3c/dom/Element;[Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V
            areturn
        end local 1 // float size
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    5     1  size  F
    MethodParameters:
      Name  Flags
      size  

  public java.lang.String getFamilyName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
         0: .line 722
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getFamilyName:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGGVTFont;

  protected org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(int, int);
    descriptor: (II)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=16, locals=14, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // int beginIndex
        start local 2 // int limit
         0: .line 726
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.lineMetrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            ifnull 2
         1: .line 727
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.lineMetrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
         2: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getUnitsPerEm:()F
            fstore 3 /* fontHeight */
        start local 3 // float fontHeight
         3: .line 730
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontSize:F
            fload 3 /* fontHeight */
            fdiv
            fstore 4 /* scale */
        start local 4 // float scale
         4: .line 732
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getAscent:()F
            fload 4 /* scale */
            fmul
            fstore 5 /* ascent */
        start local 5 // float ascent
         5: .line 733
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getDescent:()F
            fload 4 /* scale */
            fmul
            fstore 6 /* descent */
        start local 6 // float descent
         6: .line 735
            iconst_3
            newarray 6
            astore 7 /* baselineOffsets */
        start local 7 // float[] baselineOffsets
         7: .line 736
            aload 7 /* baselineOffsets */
            iconst_0
            fconst_0
            fastore
         8: .line 737
            aload 7 /* baselineOffsets */
            iconst_1
            fload 5 /* ascent */
            fload 6 /* descent */
            fadd
            fconst_2
            fdiv
            fload 5 /* ascent */
            fsub
            fastore
         9: .line 738
            aload 7 /* baselineOffsets */
            iconst_2
            fload 5 /* ascent */
            fneg
            fastore
        10: .line 740
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getStrikethroughPosition:()F
            fload 4 /* scale */
            fneg
            fmul
            fstore 8 /* stOffset */
        start local 8 // float stOffset
        11: .line 741
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getStrikethroughThickness:()F
            fload 4 /* scale */
            fmul
            fstore 9 /* stThickness */
        start local 9 // float stThickness
        12: .line 742
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getUnderlinePosition:()F
            fload 4 /* scale */
            fmul
            fstore 10 /* ulOffset */
        start local 10 // float ulOffset
        13: .line 743
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getUnderlineThickness:()F
            fload 4 /* scale */
            fmul
            fstore 11 /* ulThickness */
        start local 11 // float ulThickness
        14: .line 744
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getOverlinePosition:()F
            fload 4 /* scale */
            fneg
            fmul
            fstore 12 /* olOffset */
        start local 12 // float olOffset
        15: .line 745
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getOverlineThickness:()F
            fload 4 /* scale */
            fmul
            fstore 13 /* olThickness */
        start local 13 // float olThickness
        16: .line 748
            aload 0 /* this */
            new org.apache.batik.gvt.font.GVTLineMetrics
            dup
        17: .line 749
            fload 5 /* ascent */
            iconst_0
            aload 7 /* baselineOffsets */
            fload 6 /* descent */
        18: .line 750
            fload 3 /* fontHeight */
            fload 3 /* fontHeight */
            iload 2 /* limit */
            iload 1 /* beginIndex */
            isub
        19: .line 751
            fload 8 /* stOffset */
            fload 9 /* stThickness */
        20: .line 752
            fload 10 /* ulOffset */
            fload 11 /* ulThickness */
        21: .line 753
            fload 12 /* olOffset */
            fload 13 /* olThickness */
            invokespecial org.apache.batik.gvt.font.GVTLineMetrics.<init>:(FI[FFFFIFFFFFF)V
        22: .line 748
            putfield org.apache.batik.bridge.SVGGVTFont.lineMetrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
        23: .line 754
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.lineMetrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
        end local 13 // float olThickness
        end local 12 // float olOffset
        end local 11 // float ulThickness
        end local 10 // float ulOffset
        end local 9 // float stThickness
        end local 8 // float stOffset
        end local 7 // float[] baselineOffsets
        end local 6 // float descent
        end local 5 // float ascent
        end local 4 // float scale
        end local 3 // float fontHeight
        end local 2 // int limit
        end local 1 // int beginIndex
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lorg/apache/batik/bridge/SVGGVTFont;
            0   24     1       beginIndex  I
            0   24     2            limit  I
            3   24     3       fontHeight  F
            4   24     4            scale  F
            5   24     5           ascent  F
            6   24     6          descent  F
            7   24     7  baselineOffsets  [F
           11   24     8         stOffset  F
           12   24     9      stThickness  F
           13   24    10         ulOffset  F
           14   24    11      ulThickness  F
           15   24    12         olOffset  F
           16   24    13      olThickness  F
    MethodParameters:
            Name  Flags
      beginIndex  
      limit       

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(char[], int, int, java.awt.font.FontRenderContext);
    descriptor: ([CIILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // char[] chars
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 770
            aload 0 /* this */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.getLineMetrics:(II)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // char[] chars
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    1     1       chars  [C
            0    1     2  beginIndex  I
            0    1     3       limit  I
            0    1     4         frc  Ljava/awt/font/FontRenderContext;
    MethodParameters:
            Name  Flags
      chars       
      beginIndex  
      limit       
      frc         

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(java.text.CharacterIterator, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.text.CharacterIterator ci
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 785
            aload 0 /* this */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.getLineMetrics:(II)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.text.CharacterIterator ci
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    1     1          ci  Ljava/text/CharacterIterator;
            0    1     2  beginIndex  I
            0    1     3       limit  I
            0    1     4         frc  Ljava/awt/font/FontRenderContext;
    MethodParameters:
            Name  Flags
      ci          
      beginIndex  
      limit       
      frc         

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(java.lang.String, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String str
        start local 2 // java.awt.font.FontRenderContext frc
         0: .line 797
            new java.text.StringCharacterIterator
            dup
            aload 1 /* str */
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 3 /* sci */
        start local 3 // java.text.StringCharacterIterator sci
         1: .line 798
            aload 0 /* this */
            aload 3 /* sci */
            iconst_0
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            aload 2 /* frc */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
        end local 3 // java.text.StringCharacterIterator sci
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.lang.String str
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    2     1   str  Ljava/lang/String;
            0    2     2   frc  Ljava/awt/font/FontRenderContext;
            1    2     3   sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
      Name  Flags
      str   
      frc   

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(java.lang.String, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
        start local 1 // java.lang.String str
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 813
            new java.text.StringCharacterIterator
            dup
            aload 1 /* str */
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 5 /* sci */
        start local 5 // java.text.StringCharacterIterator sci
         1: .line 814
            aload 0 /* this */
            aload 5 /* sci */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            aload 4 /* frc */
            invokevirtual org.apache.batik.bridge.SVGGVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
        end local 5 // java.text.StringCharacterIterator sci
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.lang.String str
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/batik/bridge/SVGGVTFont;
            0    2     1         str  Ljava/lang/String;
            0    2     2  beginIndex  I
            0    2     3       limit  I
            0    2     4         frc  Ljava/awt/font/FontRenderContext;
            1    2     5         sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
            Name  Flags
      str         
      beginIndex  
      limit       
      frc         

  public float getSize();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
         0: .line 823
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontSize:F
            freturn
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGGVTFont;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGGVTFont this
         0: .line 833
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getFamilyName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getFontWeight:()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;
         1: .line 834
            aload 0 /* this */
            getfield org.apache.batik.bridge.SVGGVTFont.fontFace:Lorg/apache/batik/gvt/font/GVTFontFace;
            invokevirtual org.apache.batik.gvt.font.GVTFontFace.getFontStyle:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 833
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.bridge.SVGGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/bridge/SVGGVTFont;
}
SourceFile: "SVGGVTFont.java"
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator