public class org.apache.batik.bridge.GlyphLayout implements org.apache.batik.bridge.TextSpanLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.GlyphLayout
  super_class: java.lang.Object
{
  protected org.apache.batik.gvt.font.GVTGlyphVector gv;
    descriptor: Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0004) ACC_PROTECTED

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

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

  private java.text.AttributedCharacterIterator aci;
    descriptor: Ljava/text/AttributedCharacterIterator;
    flags: (0x0002) ACC_PRIVATE

  protected java.awt.geom.Point2D advance;
    descriptor: Ljava/awt/geom/Point2D;
    flags: (0x0004) ACC_PROTECTED

  private java.awt.geom.Point2D offset;
    descriptor: Ljava/awt/geom/Point2D;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.apache.batik.gvt.text.TextPath textPath;
    descriptor: Lorg/apache/batik/gvt/text/TextPath;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.geom.Point2D textPathAdvance;
    descriptor: Ljava/awt/geom/Point2D;
    flags: (0x0002) ACC_PRIVATE

  private int[] charMap;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private boolean vertical;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean adjSpacing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private float[] glyphAdvances;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private boolean isAltGlyph;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected boolean layoutApplied;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private boolean spacingApplied;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean pathApplied;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_LINE_BREAK;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_PARAGRAPH;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_EMPTY_PARAGRAPH;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute LINE_HEIGHT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute VERTICAL_ORIENTATION;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute VERTICAL_ORIENTATION_ANGLE;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute HORIZONTAL_ORIENTATION_ANGLE;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute X;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute Y;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute DX;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute DY;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute ROTATION;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute BASELINE_SHIFT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.AttributedCharacterIterator$Attribute WRITING_MODE;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer WRITING_MODE_TTB;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer ORIENTATION_AUTO;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute GVT_FONT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected static java.util.Set runAtts;
    descriptor: Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  protected static java.util.Set szAtts;
    descriptor: Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  public static final double eps;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-5

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 93
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_LINE_BREAK:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         1: .line 92
            putstatic org.apache.batik.bridge.GlyphLayout.FLOW_LINE_BREAK:Ljava/text/AttributedCharacterIterator$Attribute;
         2: .line 96
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_PARAGRAPH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         3: .line 95
            putstatic org.apache.batik.bridge.GlyphLayout.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
         4: .line 100
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_EMPTY_PARAGRAPH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         5: .line 99
            putstatic org.apache.batik.bridge.GlyphLayout.FLOW_EMPTY_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
         6: .line 103
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.LINE_HEIGHT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         7: .line 102
            putstatic org.apache.batik.bridge.GlyphLayout.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
         8: .line 107
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.VERTICAL_ORIENTATION:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         9: .line 106
            putstatic org.apache.batik.bridge.GlyphLayout.VERTICAL_ORIENTATION:Ljava/text/AttributedCharacterIterator$Attribute;
        10: .line 111
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.VERTICAL_ORIENTATION_ANGLE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        11: .line 110
            putstatic org.apache.batik.bridge.GlyphLayout.VERTICAL_ORIENTATION_ANGLE:Ljava/text/AttributedCharacterIterator$Attribute;
        12: .line 115
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.HORIZONTAL_ORIENTATION_ANGLE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        13: .line 114
            putstatic org.apache.batik.bridge.GlyphLayout.HORIZONTAL_ORIENTATION_ANGLE:Ljava/text/AttributedCharacterIterator$Attribute;
        14: .line 118
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        15: .line 117
            putstatic org.apache.batik.bridge.GlyphLayout.X:Ljava/text/AttributedCharacterIterator$Attribute;
        16: .line 121
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        17: .line 120
            putstatic org.apache.batik.bridge.GlyphLayout.Y:Ljava/text/AttributedCharacterIterator$Attribute;
        18: .line 124
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.DX:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        19: .line 123
            putstatic org.apache.batik.bridge.GlyphLayout.DX:Ljava/text/AttributedCharacterIterator$Attribute;
        20: .line 127
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.DY:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        21: .line 126
            putstatic org.apache.batik.bridge.GlyphLayout.DY:Ljava/text/AttributedCharacterIterator$Attribute;
        22: .line 130
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ROTATION:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        23: .line 129
            putstatic org.apache.batik.bridge.GlyphLayout.ROTATION:Ljava/text/AttributedCharacterIterator$Attribute;
        24: .line 133
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.BASELINE_SHIFT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        25: .line 132
            putstatic org.apache.batik.bridge.GlyphLayout.BASELINE_SHIFT:Ljava/text/AttributedCharacterIterator$Attribute;
        26: .line 136
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        27: .line 135
            putstatic org.apache.batik.bridge.GlyphLayout.WRITING_MODE:Ljava/text/AttributedCharacterIterator$Attribute;
        28: .line 139
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE_TTB:Ljava/lang/Integer;
        29: .line 138
            putstatic org.apache.batik.bridge.GlyphLayout.WRITING_MODE_TTB:Ljava/lang/Integer;
        30: .line 142
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ORIENTATION_AUTO:Ljava/lang/Integer;
        31: .line 141
            putstatic org.apache.batik.bridge.GlyphLayout.ORIENTATION_AUTO:Ljava/lang/Integer;
        32: .line 145
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        33: .line 144
            putstatic org.apache.batik.bridge.GlyphLayout.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
        34: .line 147
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
        35: .line 150
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.X:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        36: .line 151
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.Y:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        37: .line 152
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.DX:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 153
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.DY:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        39: .line 154
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.ROTATION:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        40: .line 155
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.BASELINE_SHIFT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        41: .line 158
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.apache.batik.bridge.GlyphLayout.szAtts:Ljava/util/Set;
        42: .line 161
            getstatic org.apache.batik.bridge.GlyphLayout.szAtts:Ljava/util/Set;
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        43: .line 162
            getstatic org.apache.batik.bridge.GlyphLayout.szAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        44: .line 163
            getstatic org.apache.batik.bridge.GlyphLayout.szAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.GlyphLayout.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        45: .line 656
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.text.AttributedCharacterIterator, int[], java.awt.geom.Point2D, java.awt.font.FontRenderContext);
    descriptor: (Ljava/text/AttributedCharacterIterator;[ILjava/awt/geom/Point2D;Ljava/awt/font/FontRenderContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // java.text.AttributedCharacterIterator aci
        start local 2 // int[] charMap
        start local 3 // java.awt.geom.Point2D offset
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 178
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            fconst_1
            putfield org.apache.batik.bridge.GlyphLayout.xScale:F
         2: .line 65
            aload 0 /* this */
            fconst_1
            putfield org.apache.batik.bridge.GlyphLayout.yScale:F
         3: .line 69
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.adjSpacing:Z
         4: .line 76
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
         5: .line 83
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
         6: .line 89
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
         7: .line 183
            aload 0 /* this */
            aload 1 /* aci */
            putfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
         8: .line 184
            aload 0 /* this */
            aload 3 /* offset */
            putfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
         9: .line 185
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getFont:()Lorg/apache/batik/gvt/font/GVTFont;
            putfield org.apache.batik.bridge.GlyphLayout.font:Lorg/apache/batik/gvt/font/GVTFont;
        10: .line 186
            aload 0 /* this */
            aload 2 /* charMap */
            putfield org.apache.batik.bridge.GlyphLayout.charMap:[I
        11: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.font:Lorg/apache/batik/gvt/font/GVTFont;
        12: .line 189
            aload 1 /* aci */
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            aload 4 /* frc */
        13: .line 188
            invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            putfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
        14: .line 192
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
        15: .line 193
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        16: .line 194
            aload 0 /* this */
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.GlyphLayout.WRITING_MODE:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            getstatic org.apache.batik.bridge.GlyphLayout.WRITING_MODE_TTB:Ljava/lang/Integer;
            if_acmpne 17
            iconst_1
            goto 18
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.text.AttributedCharacterIterator int[] java.awt.geom.Point2D java.awt.font.FontRenderContext
      StackMap stack: org.apache.batik.bridge.GlyphLayout
        17: iconst_0
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.text.AttributedCharacterIterator int[] java.awt.geom.Point2D java.awt.font.FontRenderContext
      StackMap stack: org.apache.batik.bridge.GlyphLayout int
        18: putfield org.apache.batik.bridge.GlyphLayout.vertical:Z
        19: .line 195
            aload 0 /* this */
            aload 1 /* aci */
        20: .line 196
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.TEXTPATH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        21: .line 195
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.text.TextPath
            putfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
        22: .line 199
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
        23: .line 200
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        24: .line 199
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.AltGlyphHandler
        25: .line 198
            astore 5 /* altGlyphHandler */
        start local 5 // org.apache.batik.gvt.font.AltGlyphHandler altGlyphHandler
        26: .line 201
            aload 5 /* altGlyphHandler */
            ifnull 32
        27: .line 204
            aload 0 /* this */
            aload 5 /* altGlyphHandler */
        28: .line 205
            aload 4 /* frc */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.font:Lorg/apache/batik/gvt/font/GVTFont;
            invokeinterface org.apache.batik.gvt.font.GVTFont.getSize:()F
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
        29: .line 204
            invokeinterface org.apache.batik.gvt.font.AltGlyphHandler.createGlyphVector:(Ljava/awt/font/FontRenderContext;FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
            putfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
        30: .line 206
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            ifnull 32
        31: .line 207
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.isAltGlyph:Z
        32: .line 210
      StackMap locals: org.apache.batik.gvt.font.AltGlyphHandler
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            ifnonnull 34
        33: .line 213
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.font:Lorg/apache/batik/gvt/font/GVTFont;
            aload 4 /* frc */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface org.apache.batik.gvt.font.GVTFont.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
            putfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
        34: .line 215
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.batik.gvt.font.AltGlyphHandler altGlyphHandler
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // java.awt.geom.Point2D offset
        end local 2 // int[] charMap
        end local 1 // java.text.AttributedCharacterIterator aci
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lorg/apache/batik/bridge/GlyphLayout;
            0   35     1              aci  Ljava/text/AttributedCharacterIterator;
            0   35     2          charMap  [I
            0   35     3           offset  Ljava/awt/geom/Point2D;
            0   35     4              frc  Ljava/awt/font/FontRenderContext;
           26   35     5  altGlyphHandler  Lorg/apache/batik/gvt/font/AltGlyphHandler;
    MethodParameters:
         Name  Flags
      aci      
      charMap  
      offset   
      frc      

  public org.apache.batik.gvt.font.GVTGlyphVector getGlyphVector();
    descriptor: ()Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 219
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public java.awt.geom.Point2D getOffset();
    descriptor: ()Ljava/awt/geom/Point2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 229
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public void setScale(float, float, boolean);
    descriptor: (FFZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // float xScale
        start local 2 // float yScale
        start local 3 // boolean adjSpacing
         0: .line 245
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 1
            fconst_1
            fstore 1 /* xScale */
            goto 2
         1: .line 246
      StackMap locals:
      StackMap stack:
            fconst_1
            fstore 2 /* yScale */
         2: .line 248
      StackMap locals:
      StackMap stack:
            fload 1 /* xScale */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.xScale:F
            fcmpl
            ifne 5
         3: .line 249
            fload 2 /* yScale */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.yScale:F
            fcmpl
            ifne 5
         4: .line 250
            iload 3 /* adjSpacing */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.adjSpacing:Z
            if_icmpeq 11
         5: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* xScale */
            putfield org.apache.batik.bridge.GlyphLayout.xScale:F
         6: .line 252
            aload 0 /* this */
            fload 2 /* yScale */
            putfield org.apache.batik.bridge.GlyphLayout.yScale:F
         7: .line 253
            aload 0 /* this */
            iload 3 /* adjSpacing */
            putfield org.apache.batik.bridge.GlyphLayout.adjSpacing:Z
         8: .line 258
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
         9: .line 259
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
        10: .line 260
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
        11: .line 262
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean adjSpacing
        end local 2 // float yScale
        end local 1 // float xScale
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/apache/batik/bridge/GlyphLayout;
            0   12     1      xScale  F
            0   12     2      yScale  F
            0   12     3  adjSpacing  Z
    MethodParameters:
            Name  Flags
      xScale      
      yScale      
      adjSpacing  

  public void setOffset(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // java.awt.geom.Point2D offset
         0: .line 271
            aload 1 /* offset */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            dcmpl
            ifne 2
         1: .line 272
            aload 1 /* offset */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dcmpl
            ifeq 17
         2: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
            ifne 3
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
            ifeq 15
         3: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* offset */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            d2f
            fstore 2 /* dx */
        start local 2 // float dx
         4: .line 277
            aload 1 /* offset */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            d2f
            fstore 3 /* dy */
        start local 3 // float dy
         5: .line 278
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 4 /* numGlyphs */
        start local 4 // int numGlyphs
         6: .line 280
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            iload 4 /* numGlyphs */
            iconst_1
            iadd
            aconst_null
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPositions:(II[F)[F
            astore 5 /* gp */
        start local 5 // float[] gp
         7: .line 281
            new java.awt.geom.Point2D$Float
            dup
            invokespecial java.awt.geom.Point2D$Float.<init>:()V
            astore 6 /* pos */
        start local 6 // java.awt.geom.Point2D$Float pos
         8: .line 282
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 14
        10: .line 283
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.awt.geom.Point2D float float int float[] java.awt.geom.Point2D$Float int
      StackMap stack:
            aload 6 /* pos */
            aload 5 /* gp */
            iconst_2
            iload 7 /* i */
            imul
            faload
            fload 2 /* dx */
            fadd
            putfield java.awt.geom.Point2D$Float.x:F
        11: .line 284
            aload 6 /* pos */
            aload 5 /* gp */
            iconst_2
            iload 7 /* i */
            imul
            iconst_1
            iadd
            faload
            fload 3 /* dy */
            fadd
            putfield java.awt.geom.Point2D$Float.y:F
        12: .line 285
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 7 /* i */
            aload 6 /* pos */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
        13: .line 282
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iload 4 /* numGlyphs */
            if_icmple 10
        end local 7 // int i
        end local 6 // java.awt.geom.Point2D$Float pos
        end local 5 // float[] gp
        end local 4 // int numGlyphs
        end local 3 // float dy
        end local 2 // float dx
        15: .line 292
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.awt.geom.Point2D
      StackMap stack:
            aload 0 /* this */
            aload 1 /* offset */
            putfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
        16: .line 298
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
        17: .line 300
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.geom.Point2D offset
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/apache/batik/bridge/GlyphLayout;
            0   18     1     offset  Ljava/awt/geom/Point2D;
            4   15     2         dx  F
            5   15     3         dy  F
            6   15     4  numGlyphs  I
            7   15     5         gp  [F
            8   15     6        pos  Ljava/awt/geom/Point2D$Float;
            9   15     7          i  I
    MethodParameters:
        Name  Flags
      offset  

  public org.apache.batik.gvt.font.GVTGlyphMetrics getGlyphMetrics(int);
    descriptor: (I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int glyphIndex
         0: .line 303
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 1 /* glyphIndex */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
            areturn
        end local 1 // int glyphIndex
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/batik/bridge/GlyphLayout;
            0    1     1  glyphIndex  I
    MethodParameters:
            Name  Flags
      glyphIndex  

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics();
    descriptor: ()Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 307
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public boolean isVertical();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 314
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ireturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public boolean isOnATextPath();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 321
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public int getGlyphCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 329
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            ireturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public int getCharacterCount(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int startGlyphIndex
        start local 2 // int endGlyphIndex
         0: .line 343
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 1 /* startGlyphIndex */
            iload 2 /* endGlyphIndex */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
            ireturn
        end local 2 // int endGlyphIndex
        end local 1 // int startGlyphIndex
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/apache/batik/bridge/GlyphLayout;
            0    1     1  startGlyphIndex  I
            0    1     2    endGlyphIndex  I
    MethodParameters:
                 Name  Flags
      startGlyphIndex  
      endGlyphIndex    

  public boolean isLeftToRight();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 350
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         1: .line 352
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
         2: .line 353
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.BIDI_LEVEL:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         3: .line 352
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 351
            istore 1 /* bidiLevel */
        start local 1 // int bidiLevel
         5: .line 357
            iload 1 /* bidiLevel */
            iconst_1
            iand
            ifne 6
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // int bidiLevel
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/batik/bridge/GlyphLayout;
            5    7     1  bidiLevel  I

  private final void syncLayout();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 366
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
            ifne 2
         1: .line 367
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.doPathLayout:()V
         2: .line 369
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public void draw(java.awt.Graphics2D);
    descriptor: (Ljava/awt/Graphics2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // java.awt.Graphics2D g2d
         0: .line 377
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 378
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            aload 1 /* g2d */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.draw:(Ljava/awt/Graphics2D;Ljava/text/AttributedCharacterIterator;)V
         2: .line 379
            return
        end local 1 // java.awt.Graphics2D g2d
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/bridge/GlyphLayout;
            0    3     1   g2d  Ljava/awt/Graphics2D;
    MethodParameters:
      Name  Flags
      g2d   

  public java.awt.geom.Point2D getAdvance2D();
    descriptor: ()Ljava/awt/geom/Point2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 386
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.adjustTextSpacing:()V
         1: .line 387
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public java.awt.Shape getOutline();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 395
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 397
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getOutline:()Ljava/awt/Shape;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public float[] getGlyphAdvances();
    descriptor: ()[F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 401
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
            ifnull 2
         1: .line 402
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
            areturn
         2: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
            ifne 4
         3: .line 406
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.adjustTextSpacing:()V
         4: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 1 /* numGlyphs */
        start local 1 // int numGlyphs
         5: .line 409
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            iload 1 /* numGlyphs */
            iconst_1
            iadd
            aconst_null
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPositions:(II[F)[F
            astore 2 /* glyphPos */
        start local 2 // float[] glyphPos
         6: .line 410
            aload 0 /* this */
            iload 1 /* numGlyphs */
            iconst_1
            iadd
            newarray 6
            putfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
         7: .line 411
            iconst_0
            istore 3 /* off */
        start local 3 // int off
         8: .line 412
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isVertical:()Z
            ifeq 10
         9: .line 413
            iconst_1
            istore 3 /* off */
        10: .line 415
      StackMap locals: int float[] int
      StackMap stack:
            aload 2 /* glyphPos */
            iload 3 /* off */
            faload
            fstore 4 /* start */
        start local 4 // float start
        11: .line 416
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 15
        13: .line 417
      StackMap locals: float int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
            iload 5 /* i */
            aload 2 /* glyphPos */
            iconst_2
            iload 5 /* i */
            imul
            iload 3 /* off */
            iadd
            faload
            fload 4 /* start */
            fsub
            fastore
        14: .line 416
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 1 /* numGlyphs */
            iconst_1
            iadd
            if_icmplt 13
        end local 5 // int i
        16: .line 419
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
            areturn
        end local 4 // float start
        end local 3 // int off
        end local 2 // float[] glyphPos
        end local 1 // int numGlyphs
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/apache/batik/bridge/GlyphLayout;
            5   17     1  numGlyphs  I
            6   17     2   glyphPos  [F
            8   17     3        off  I
           11   17     4      start  F
           12   16     5          i  I

  public java.awt.Shape getDecorationOutline(int);
    descriptor: (I)Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int decorationType
         0: .line 430
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 432
            new java.awt.geom.GeneralPath
            dup
            invokespecial java.awt.geom.GeneralPath.<init>:()V
            astore 2 /* g */
        start local 2 // java.awt.Shape g
         2: .line 433
            iload 1 /* decorationType */
            iconst_1
            iand
            ifeq 4
         3: .line 434
            aload 2 /* g */
            checkcast java.awt.geom.GeneralPath
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getUnderlineShape:()Ljava/awt/Shape;
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
         4: .line 436
      StackMap locals: java.awt.Shape
      StackMap stack:
            iload 1 /* decorationType */
            iconst_2
            iand
            ifeq 6
         5: .line 437
            aload 2 /* g */
            checkcast java.awt.geom.GeneralPath
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getStrikethroughShape:()Ljava/awt/Shape;
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
         6: .line 439
      StackMap locals:
      StackMap stack:
            iload 1 /* decorationType */
            iconst_4
            iand
            ifeq 8
         7: .line 440
            aload 2 /* g */
            checkcast java.awt.geom.GeneralPath
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getOverlineShape:()Ljava/awt/Shape;
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
         8: .line 442
      StackMap locals:
      StackMap stack:
            aload 2 /* g */
            areturn
        end local 2 // java.awt.Shape g
        end local 1 // int decorationType
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/apache/batik/bridge/GlyphLayout;
            0    9     1  decorationType  I
            2    9     2               g  Ljava/awt/Shape;
    MethodParameters:
                Name  Flags
      decorationType  

  public java.awt.geom.Rectangle2D getBounds2D();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 449
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 450
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getBounds2D:(Ljava/text/AttributedCharacterIterator;)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public java.awt.geom.Rectangle2D getGeometricBounds();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 458
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 460
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGeometricBounds:()Ljava/awt/geom/Rectangle2D;
            astore 1 /* gvB */
        start local 1 // java.awt.geom.Rectangle2D gvB
         2: .line 461
            aload 0 /* this */
            bipush 7
            invokevirtual org.apache.batik.bridge.GlyphLayout.getDecorationOutline:(I)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 2 /* decB */
        start local 2 // java.awt.geom.Rectangle2D decB
         3: .line 462
            aload 1 /* gvB */
            aload 2 /* decB */
            invokevirtual java.awt.geom.Rectangle2D.createUnion:(Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/Rectangle2D;
            areturn
        end local 2 // java.awt.geom.Rectangle2D decB
        end local 1 // java.awt.geom.Rectangle2D gvB
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/GlyphLayout;
            2    4     1   gvB  Ljava/awt/geom/Rectangle2D;
            3    4     2  decB  Ljava/awt/geom/Rectangle2D;

  public java.awt.geom.Point2D getTextPathAdvance();
    descriptor: ()Ljava/awt/geom/Point2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 470
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 471
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            ifnull 3
         2: .line 472
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPathAdvance:Ljava/awt/geom/Point2D;
            areturn
         3: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
            areturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public int getGlyphIndex(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int charIndex
         0: .line 488
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphCount:()I
            istore 2 /* numGlyphs */
        start local 2 // int numGlyphs
         1: .line 489
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         2: .line 490
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 15
         4: .line 491
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            iload 4 /* i */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getCharacterCount:(II)I
            istore 5 /* count */
        start local 5 // int count
         5: .line 492
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         6: goto 13
         7: .line 493
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            iload 3 /* j */
            iinc 3 /* j */ 1
            iaload
            istore 7 /* glyphCharIndex */
        start local 7 // int glyphCharIndex
         8: .line 494
            iload 1 /* charIndex */
            iload 7 /* glyphCharIndex */
            if_icmpne 10
         9: .line 495
            iload 4 /* i */
            ireturn
        10: .line 496
      StackMap locals: int
      StackMap stack:
            iload 3 /* j */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            if_icmplt 12
        11: .line 497
            iconst_m1
            ireturn
        end local 7 // int glyphCharIndex
        12: .line 492
      StackMap locals:
      StackMap stack:
            iinc 6 /* n */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* n */
            iload 5 /* count */
            if_icmplt 7
        end local 6 // int n
        end local 5 // int count
        14: .line 490
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 2 /* numGlyphs */
            if_icmplt 4
        end local 4 // int i
        16: .line 500
            iconst_m1
            ireturn
        end local 3 // int j
        end local 2 // int numGlyphs
        end local 1 // int charIndex
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/apache/batik/bridge/GlyphLayout;
            0   17     1       charIndex  I
            1   17     2       numGlyphs  I
            2   17     3               j  I
            3   16     4               i  I
            5   14     5           count  I
            6   14     6               n  I
            8   12     7  glyphCharIndex  I
    MethodParameters:
           Name  Flags
      charIndex  

  public int getLastGlyphIndex(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int charIndex
         0: .line 512
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphCount:()I
            istore 2 /* numGlyphs */
        start local 2 // int numGlyphs
         1: .line 513
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            iconst_1
            isub
            istore 3 /* j */
        start local 3 // int j
         2: .line 514
            iload 2 /* numGlyphs */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         3: goto 13
         4: .line 515
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            iload 4 /* i */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getCharacterCount:(II)I
            istore 5 /* count */
        start local 5 // int count
         5: .line 516
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         6: goto 11
         7: .line 517
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            iload 3 /* j */
            iinc 3 /* j */ -1
            iaload
            istore 7 /* glyphCharIndex */
        start local 7 // int glyphCharIndex
         8: .line 518
            iload 1 /* charIndex */
            iload 7 /* glyphCharIndex */
            if_icmpne 9
            iload 4 /* i */
            ireturn
         9: .line 519
      StackMap locals: int
      StackMap stack:
            iload 3 /* j */
            ifge 10
            iconst_m1
            ireturn
        end local 7 // int glyphCharIndex
        10: .line 516
      StackMap locals:
      StackMap stack:
            iinc 6 /* n */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* n */
            iload 5 /* count */
            if_icmplt 7
        end local 6 // int n
        end local 5 // int count
        12: .line 514
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            ifge 4
        end local 4 // int i
        14: .line 522
            iconst_m1
            ireturn
        end local 3 // int j
        end local 2 // int numGlyphs
        end local 1 // int charIndex
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/apache/batik/bridge/GlyphLayout;
            0   15     1       charIndex  I
            1   15     2       numGlyphs  I
            2   15     3               j  I
            3   14     4               i  I
            5   12     5           count  I
            6   12     6               n  I
            8   10     7  glyphCharIndex  I
    MethodParameters:
           Name  Flags
      charIndex  

  public double getComputedOrientationAngle(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int index
         0: .line 532
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isGlyphOrientationAuto:()Z
            ifeq 7
         1: .line 533
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isVertical:()Z
            ifeq 6
         2: .line 534
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            iload 1 /* index */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         3: .line 535
            aload 0 /* this */
            iload 2 /* ch */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isLatinChar:(C)Z
            ifeq 5
         4: .line 536
            ldc 90.0
            dreturn
         5: .line 538
      StackMap locals: int
      StackMap stack:
            dconst_0
            dreturn
        end local 2 // char ch
         6: .line 540
      StackMap locals:
      StackMap stack:
            dconst_0
            dreturn
         7: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphOrientationAngle:()I
            i2d
            dreturn
        end local 1 // int index
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/batik/bridge/GlyphLayout;
            0    8     1  index  I
            3    6     2     ch  C
    MethodParameters:
       Name  Flags
      index  

  public java.awt.Shape getHighlightShape(int, int);
    descriptor: (II)Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=18, args_size=3
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int beginCharIndex
        start local 2 // int endCharIndex
         0: .line 558
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 560
            iload 1 /* beginCharIndex */
            iload 2 /* endCharIndex */
            if_icmple 5
         2: .line 561
            iload 1 /* beginCharIndex */
            istore 3 /* temp */
        start local 3 // int temp
         3: .line 562
            iload 2 /* endCharIndex */
            istore 1 /* beginCharIndex */
         4: .line 563
            iload 3 /* temp */
            istore 2 /* endCharIndex */
        end local 3 // int temp
         5: .line 565
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* shape */
        start local 3 // java.awt.geom.GeneralPath shape
         6: .line 566
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphCount:()I
            istore 4 /* numGlyphs */
        start local 4 // int numGlyphs
         7: .line 568
            iconst_2
            iload 4 /* numGlyphs */
            imul
            anewarray java.awt.geom.Point2D$Float
            astore 5 /* topPts */
        start local 5 // java.awt.geom.Point2D$Float[] topPts
         8: .line 569
            iconst_2
            iload 4 /* numGlyphs */
            imul
            anewarray java.awt.geom.Point2D$Float
            astore 6 /* botPts */
        start local 6 // java.awt.geom.Point2D$Float[] botPts
         9: .line 571
            iconst_0
            istore 7 /* ptIdx */
        start local 7 // int ptIdx
        10: .line 573
            iconst_0
            istore 8 /* currentChar */
        start local 8 // int currentChar
        11: .line 574
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 62
        13: .line 575
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int java.awt.geom.GeneralPath int java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            iload 8 /* currentChar */
            iaload
            istore 10 /* glyphCharIndex */
        start local 10 // int glyphCharIndex
        14: .line 576
            iload 10 /* glyphCharIndex */
            iload 1 /* beginCharIndex */
            if_icmplt 58
        15: .line 577
            iload 10 /* glyphCharIndex */
            iload 2 /* endCharIndex */
            if_icmpgt 58
        16: .line 578
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.isGlyphVisible:(I)Z
            ifeq 58
        17: .line 580
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphLogicalBounds:(I)Ljava/awt/Shape;
            astore 11 /* gbounds */
        start local 11 // java.awt.Shape gbounds
        18: .line 581
            aload 11 /* gbounds */
            ifnull 58
        19: .line 583
            aload 3 /* shape */
            ifnonnull 21
        20: .line 584
            new java.awt.geom.GeneralPath
            dup
            invokespecial java.awt.geom.GeneralPath.<init>:()V
            astore 3 /* shape */
        21: .line 589
      StackMap locals: int java.awt.Shape
      StackMap stack:
            bipush 6
            newarray 6
            astore 12 /* pts */
        start local 12 // float[] pts
        22: .line 590
            iconst_0
            istore 13 /* count */
        start local 13 // int count
        23: .line 591
            iconst_m1
            istore 14 /* type */
        start local 14 // int type
        24: .line 593
            aload 11 /* gbounds */
            aconst_null
            invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
            astore 15 /* pi */
        start local 15 // java.awt.geom.PathIterator pi
        25: .line 594
            aconst_null
            astore 16 /* firstPt */
        start local 16 // java.awt.geom.Point2D$Float firstPt
        26: .line 596
            goto 48
        27: .line 597
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int java.awt.geom.GeneralPath int java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int int int java.awt.Shape float[] int int java.awt.geom.PathIterator java.awt.geom.Point2D$Float
      StackMap stack:
            aload 15 /* pi */
            aload 12 /* pts */
            invokeinterface java.awt.geom.PathIterator.currentSegment:([F)I
            istore 14 /* type */
        28: .line 598
            iload 14 /* type */
            ifeq 30
        29: .line 599
            iload 14 /* type */
            iconst_1
            if_icmpne 44
        30: .line 601
      StackMap locals:
      StackMap stack:
            iload 13 /* count */
            iconst_4
            if_icmple 31
            goto 49
        31: .line 602
      StackMap locals:
      StackMap stack:
            iload 13 /* count */
            iconst_4
            if_icmpne 36
        32: .line 604
            aload 16 /* firstPt */
            ifnull 49
        33: .line 605
            aload 16 /* firstPt */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 12 /* pts */
            iconst_0
            faload
            fcmpl
            ifne 49
        34: .line 606
            aload 16 /* firstPt */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 12 /* pts */
            iconst_1
            faload
            fcmpl
            ifeq 46
        35: .line 607
            goto 49
        36: .line 610
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Float
            dup
            aload 12 /* pts */
            iconst_0
            faload
            aload 12 /* pts */
            iconst_1
            faload
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 17 /* pt */
        start local 17 // java.awt.geom.Point2D$Float pt
        37: .line 611
            iload 13 /* count */
            ifne 38
            aload 17 /* pt */
            astore 16 /* firstPt */
        38: .line 613
      StackMap locals: java.awt.geom.Point2D$Float
      StackMap stack:
            iload 13 /* count */
            tableswitch { // 0 - 3
                    0: 39
                    1: 40
                    2: 41
                    3: 42
              default: 43
          }
        39: .line 614
      StackMap locals:
      StackMap stack:
            aload 6 /* botPts */
            iload 7 /* ptIdx */
            aload 17 /* pt */
            aastore
            goto 46
        40: .line 615
      StackMap locals:
      StackMap stack:
            aload 5 /* topPts */
            iload 7 /* ptIdx */
            aload 17 /* pt */
            aastore
            goto 46
        41: .line 616
      StackMap locals:
      StackMap stack:
            aload 5 /* topPts */
            iload 7 /* ptIdx */
            iconst_1
            iadd
            aload 17 /* pt */
            aastore
            goto 46
        42: .line 617
      StackMap locals:
      StackMap stack:
            aload 6 /* botPts */
            iload 7 /* ptIdx */
            iconst_1
            iadd
            aload 17 /* pt */
            aastore
        end local 17 // java.awt.geom.Point2D$Float pt
        43: .line 620
      StackMap locals:
      StackMap stack:
            goto 46
      StackMap locals:
      StackMap stack:
        44: iload 14 /* type */
            iconst_4
            if_icmpne 49
        45: .line 622
            iload 13 /* count */
            iconst_4
            if_icmplt 49
            iload 13 /* count */
            iconst_5
            if_icmple 46
            goto 49
        46: .line 628
      StackMap locals:
      StackMap stack:
            iinc 13 /* count */ 1
        47: .line 629
            aload 15 /* pi */
            invokeinterface java.awt.geom.PathIterator.next:()V
        48: .line 596
      StackMap locals:
      StackMap stack:
            aload 15 /* pi */
            invokeinterface java.awt.geom.PathIterator.isDone:()Z
            ifeq 27
        49: .line 631
      StackMap locals:
      StackMap stack:
            aload 15 /* pi */
            invokeinterface java.awt.geom.PathIterator.isDone:()Z
            ifeq 55
        50: .line 633
            aload 6 /* botPts */
            iload 7 /* ptIdx */
            aaload
            ifnull 58
        51: .line 634
            aload 5 /* topPts */
            iload 7 /* ptIdx */
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 5 /* topPts */
            iload 7 /* ptIdx */
            iconst_1
            iadd
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fcmpl
            ifne 53
        52: .line 635
            aload 5 /* topPts */
            iload 7 /* ptIdx */
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            aload 5 /* topPts */
            iload 7 /* ptIdx */
            iconst_1
            iadd
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fcmpl
            ifeq 58
        53: .line 637
      StackMap locals:
      StackMap stack:
            iinc 7 /* ptIdx */ 2
        54: .line 638
            goto 58
        55: .line 641
      StackMap locals:
      StackMap stack:
            aload 3 /* shape */
            aload 5 /* topPts */
            aload 6 /* botPts */
            iload 7 /* ptIdx */
            invokestatic org.apache.batik.bridge.GlyphLayout.addPtsToPath:(Ljava/awt/geom/GeneralPath;[Ljava/awt/geom/Point2D$Float;[Ljava/awt/geom/Point2D$Float;I)V
        56: .line 642
            iconst_0
            istore 7 /* ptIdx */
        57: .line 643
            aload 3 /* shape */
            aload 11 /* gbounds */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        end local 16 // java.awt.geom.Point2D$Float firstPt
        end local 15 // java.awt.geom.PathIterator pi
        end local 14 // int type
        end local 13 // int count
        end local 12 // float[] pts
        end local 11 // java.awt.Shape gbounds
        58: .line 647
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int java.awt.geom.GeneralPath int java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int int int
      StackMap stack:
            iload 8 /* currentChar */
            aload 0 /* this */
            iload 9 /* i */
            iload 9 /* i */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getCharacterCount:(II)I
            iadd
            istore 8 /* currentChar */
        59: .line 648
            iload 8 /* currentChar */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            if_icmplt 61
        60: .line 649
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            iconst_1
            isub
            istore 8 /* currentChar */
        end local 10 // int glyphCharIndex
        61: .line 574
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        62: iload 9 /* i */
            iload 4 /* numGlyphs */
            if_icmplt 13
        end local 9 // int i
        63: .line 651
            aload 3 /* shape */
            aload 5 /* topPts */
            aload 6 /* botPts */
            iload 7 /* ptIdx */
            invokestatic org.apache.batik.bridge.GlyphLayout.addPtsToPath:(Ljava/awt/geom/GeneralPath;[Ljava/awt/geom/Point2D$Float;[Ljava/awt/geom/Point2D$Float;I)V
        64: .line 653
            aload 3 /* shape */
            areturn
        end local 8 // int currentChar
        end local 7 // int ptIdx
        end local 6 // java.awt.geom.Point2D$Float[] botPts
        end local 5 // java.awt.geom.Point2D$Float[] topPts
        end local 4 // int numGlyphs
        end local 3 // java.awt.geom.GeneralPath shape
        end local 2 // int endCharIndex
        end local 1 // int beginCharIndex
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   65     0            this  Lorg/apache/batik/bridge/GlyphLayout;
            0   65     1  beginCharIndex  I
            0   65     2    endCharIndex  I
            3    5     3            temp  I
            6   65     3           shape  Ljava/awt/geom/GeneralPath;
            7   65     4       numGlyphs  I
            8   65     5          topPts  [Ljava/awt/geom/Point2D$Float;
            9   65     6          botPts  [Ljava/awt/geom/Point2D$Float;
           10   65     7           ptIdx  I
           11   65     8     currentChar  I
           12   63     9               i  I
           14   61    10  glyphCharIndex  I
           18   58    11         gbounds  Ljava/awt/Shape;
           22   58    12             pts  [F
           23   58    13           count  I
           24   58    14            type  I
           25   58    15              pi  Ljava/awt/geom/PathIterator;
           26   58    16         firstPt  Ljava/awt/geom/Point2D$Float;
           37   43    17              pt  Ljava/awt/geom/Point2D$Float;
    MethodParameters:
                Name  Flags
      beginCharIndex  
      endCharIndex    

  public static boolean epsEQ(double, double);
    descriptor: (DD)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 659
            dload 0 /* a */
            ldc 1.0E-5
            dadd
            dload 2 /* b */
            dcmpl
            ifle 1
            dload 0 /* a */
            ldc 1.0E-5
            dsub
            dload 2 /* b */
            dcmpg
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  D
            0    2     2     b  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public static int makeConvexHull(java.awt.geom.Point2D$Float[], int);
    descriptor: ([Ljava/awt/geom/Point2D$Float;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=17, args_size=2
        start local 0 // java.awt.geom.Point2D$Float[] pts
        start local 1 // int numPts
         0: .line 665
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         1: goto 9
         2: .line 668
      StackMap locals: java.awt.geom.Point2D$Float[] int top int
      StackMap stack:
            aload 0 /* pts */
            iload 3 /* i */
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 0 /* pts */
            iload 3 /* i */
            iconst_1
            isub
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fcmpg
            iflt 4
         3: .line 669
            aload 0 /* pts */
            iload 3 /* i */
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 0 /* pts */
            iload 3 /* i */
            iconst_1
            isub
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fcmpl
            ifne 8
            aload 0 /* pts */
            iload 3 /* i */
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            aload 0 /* pts */
            iload 3 /* i */
            iconst_1
            isub
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fcmpg
            ifge 8
         4: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* pts */
            iload 3 /* i */
            aaload
            astore 2 /* tmp */
        start local 2 // java.awt.geom.Point2D$Float tmp
         5: .line 671
            aload 0 /* pts */
            iload 3 /* i */
            aload 0 /* pts */
            iload 3 /* i */
            iconst_1
            isub
            aaload
            aastore
         6: .line 672
            aload 0 /* pts */
            iload 3 /* i */
            iconst_1
            isub
            aload 2 /* tmp */
            aastore
         7: .line 673
            iconst_0
            istore 3 /* i */
        end local 2 // java.awt.geom.Point2D$Float tmp
         8: .line 665
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 1 /* numPts */
            if_icmplt 2
        end local 3 // int i
        10: .line 678
            aload 0 /* pts */
            iconst_0
            aaload
            astore 3 /* pt0 */
        start local 3 // java.awt.geom.Point2D$Float pt0
        11: .line 679
            aload 0 /* pts */
            iload 1 /* numPts */
            iconst_1
            isub
            aaload
            astore 4 /* pt1 */
        start local 4 // java.awt.geom.Point2D$Float pt1
        12: .line 680
            new java.awt.geom.Point2D$Float
            dup
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 5 /* dxdy */
        start local 5 // java.awt.geom.Point2D$Float dxdy
        13: .line 681
            aload 5 /* dxdy */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            aload 5 /* dxdy */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fsub
            fstore 7 /* c */
        start local 7 // float c
        14: .line 683
            iload 1 /* numPts */
            anewarray java.awt.geom.Point2D$Float
            astore 8 /* topList */
        start local 8 // java.awt.geom.Point2D$Float[] topList
        15: .line 684
            iload 1 /* numPts */
            anewarray java.awt.geom.Point2D$Float
            astore 9 /* botList */
        start local 9 // java.awt.geom.Point2D$Float[] botList
        16: .line 685
            aload 9 /* botList */
            iconst_0
            aload 8 /* topList */
            iconst_0
            aload 0 /* pts */
            iconst_0
            aaload
            dup_x2
            aastore
            aastore
        17: .line 686
            iconst_1
            istore 10 /* nTopPts */
        start local 10 // int nTopPts
        18: .line 687
            iconst_1
            istore 11 /* nBotPts */
        start local 11 // int nBotPts
        19: .line 688
            iconst_1
            istore 12 /* i */
        start local 12 // int i
        20: goto 57
        21: .line 689
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float top float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int int
      StackMap stack:
            aload 0 /* pts */
            iload 12 /* i */
            aaload
            astore 13 /* pt */
        start local 13 // java.awt.geom.Point2D$Float pt
        22: .line 690
            aload 5 /* dxdy */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            aload 5 /* dxdy */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fsub
            fload 7 /* c */
            fadd
            fstore 6 /* soln */
        start local 6 // float soln
        23: .line 691
            fload 6 /* soln */
            fconst_0
            fcmpg
            ifge 54
        24: .line 693
            goto 38
        25: .line 694
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int int java.awt.geom.Point2D$Float
      StackMap stack:
            aload 9 /* botList */
            iload 11 /* nBotPts */
            iconst_2
            isub
            aaload
            astore 3 /* pt0 */
        26: .line 695
            aload 9 /* botList */
            iload 11 /* nBotPts */
            iconst_1
            isub
            aaload
            astore 4 /* pt1 */
        27: .line 696
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            fstore 14 /* dx */
        start local 14 // float dx
        28: .line 697
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            fstore 15 /* dy */
        start local 15 // float dy
        29: .line 698
            fload 15 /* dy */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fload 14 /* dx */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fsub
            fstore 16 /* c0 */
        start local 16 // float c0
        30: .line 699
            fload 14 /* dx */
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fload 15 /* dy */
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fsub
            fload 16 /* c0 */
            fadd
            fstore 6 /* soln */
        31: .line 700
            fload 6 /* soln */
            f2d
            ldc 1.0E-5
            dcmpl
            ifle 33
        32: .line 701
            goto 39
        33: .line 702
      StackMap locals: float float float
      StackMap stack:
            fload 6 /* soln */
            f2d
            ldc -1.0E-5
            dcmpl
            ifle 37
        34: .line 704
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fcmpg
            ifge 35
            aload 4 /* pt1 */
            astore 13 /* pt */
        35: .line 705
      StackMap locals:
      StackMap stack:
            iinc 11 /* nBotPts */ -1
        36: .line 706
            goto 39
        37: .line 709
      StackMap locals:
      StackMap stack:
            iinc 11 /* nBotPts */ -1
        end local 16 // float c0
        end local 15 // float dy
        end local 14 // float dx
        38: .line 693
      StackMap locals:
      StackMap stack:
            iload 11 /* nBotPts */
            iconst_2
            if_icmpge 25
        39: .line 711
      StackMap locals:
      StackMap stack:
            aload 9 /* botList */
            iload 11 /* nBotPts */
            iinc 11 /* nBotPts */ 1
            aload 13 /* pt */
            aastore
        40: .line 712
            goto 56
        41: .line 715
      StackMap locals:
      StackMap stack:
            aload 8 /* topList */
            iload 10 /* nTopPts */
            iconst_2
            isub
            aaload
            astore 3 /* pt0 */
        42: .line 716
            aload 8 /* topList */
            iload 10 /* nTopPts */
            iconst_1
            isub
            aaload
            astore 4 /* pt1 */
        43: .line 717
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            fstore 14 /* dx */
        start local 14 // float dx
        44: .line 718
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            fstore 15 /* dy */
        start local 15 // float dy
        45: .line 719
            fload 15 /* dy */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fload 14 /* dx */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fsub
            fstore 16 /* c0 */
        start local 16 // float c0
        46: .line 720
            fload 14 /* dx */
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fload 15 /* dy */
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fsub
            fload 16 /* c0 */
            fadd
            fstore 6 /* soln */
        47: .line 721
            fload 6 /* soln */
            f2d
            ldc -1.0E-5
            dcmpg
            ifge 49
        48: .line 722
            goto 55
        49: .line 723
      StackMap locals: float float float
      StackMap stack:
            fload 6 /* soln */
            f2d
            ldc 1.0E-5
            dcmpg
            ifge 53
        50: .line 725
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fcmpl
            ifle 51
            aload 4 /* pt1 */
            astore 13 /* pt */
        51: .line 726
      StackMap locals:
      StackMap stack:
            iinc 10 /* nTopPts */ -1
        52: .line 727
            goto 55
        53: .line 730
      StackMap locals:
      StackMap stack:
            iinc 10 /* nTopPts */ -1
        end local 16 // float c0
        end local 15 // float dy
        end local 14 // float dx
        54: .line 714
      StackMap locals:
      StackMap stack:
            iload 10 /* nTopPts */
            iconst_2
            if_icmpge 41
        55: .line 732
      StackMap locals:
      StackMap stack:
            aload 8 /* topList */
            iload 10 /* nTopPts */
            iinc 10 /* nTopPts */ 1
            aload 13 /* pt */
            aastore
        end local 13 // java.awt.geom.Point2D$Float pt
        56: .line 688
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
        end local 6 // float soln
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float top float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int int
      StackMap stack:
        57: iload 12 /* i */
            iload 1 /* numPts */
            iconst_1
            isub
            if_icmplt 21
        end local 12 // int i
        58: .line 737
            aload 0 /* pts */
            iload 1 /* numPts */
            iconst_1
            isub
            aaload
            astore 12 /* pt */
        start local 12 // java.awt.geom.Point2D$Float pt
        59: .line 738
            goto 72
        60: .line 739
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float top float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int java.awt.geom.Point2D$Float
      StackMap stack:
            aload 9 /* botList */
            iload 11 /* nBotPts */
            iconst_2
            isub
            aaload
            astore 3 /* pt0 */
        61: .line 740
            aload 9 /* botList */
            iload 11 /* nBotPts */
            iconst_1
            isub
            aaload
            astore 4 /* pt1 */
        62: .line 741
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            fstore 13 /* dx */
        start local 13 // float dx
        63: .line 742
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            fstore 14 /* dy */
        start local 14 // float dy
        64: .line 743
            fload 14 /* dy */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fload 13 /* dx */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fsub
            fstore 15 /* c0 */
        start local 15 // float c0
        65: .line 744
            fload 13 /* dx */
            aload 12 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fload 14 /* dy */
            aload 12 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fsub
            fload 15 /* c0 */
            fadd
            fstore 6 /* soln */
        start local 6 // float soln
        66: .line 745
            fload 6 /* soln */
            f2d
            ldc 1.0E-5
            dcmpl
            ifle 68
        67: .line 747
            goto 86
        68: .line 748
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int java.awt.geom.Point2D$Float float float float
      StackMap stack:
            fload 6 /* soln */
            f2d
            ldc -1.0E-5
            dcmpl
            ifle 71
        69: .line 750
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 12 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fcmpl
            iflt 86
            iinc 11 /* nBotPts */ -1
        70: .line 751
            goto 86
        71: .line 754
      StackMap locals:
      StackMap stack:
            iinc 11 /* nBotPts */ -1
        end local 15 // float c0
        end local 14 // float dy
        end local 13 // float dx
        end local 6 // float soln
        72: .line 738
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float top float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int java.awt.geom.Point2D$Float
      StackMap stack:
            iload 11 /* nBotPts */
            iconst_2
            if_icmpge 60
        73: .line 757
            goto 86
        74: .line 758
      StackMap locals:
      StackMap stack:
            aload 8 /* topList */
            iload 10 /* nTopPts */
            iconst_2
            isub
            aaload
            astore 3 /* pt0 */
        75: .line 759
            aload 8 /* topList */
            iload 10 /* nTopPts */
            iconst_1
            isub
            aaload
            astore 4 /* pt1 */
        76: .line 760
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            fstore 13 /* dx */
        start local 13 // float dx
        77: .line 761
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            fstore 14 /* dy */
        start local 14 // float dy
        78: .line 762
            fload 14 /* dy */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fload 13 /* dx */
            aload 3 /* pt0 */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fsub
            fstore 15 /* c0 */
        start local 15 // float c0
        79: .line 763
            fload 13 /* dx */
            aload 12 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fmul
            fload 14 /* dy */
            aload 12 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            fmul
            fsub
            fload 15 /* c0 */
            fadd
            fstore 6 /* soln */
        start local 6 // float soln
        80: .line 764
            fload 6 /* soln */
            f2d
            ldc -1.0E-5
            dcmpg
            ifge 82
        81: .line 766
            goto 87
        82: .line 767
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int java.awt.geom.Point2D$Float float float float
      StackMap stack:
            fload 6 /* soln */
            f2d
            ldc 1.0E-5
            dcmpg
            ifge 85
        83: .line 769
            aload 4 /* pt1 */
            getfield java.awt.geom.Point2D$Float.y:F
            aload 12 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            fcmpg
            ifgt 87
            iinc 10 /* nTopPts */ -1
        84: .line 770
            goto 87
        85: .line 773
      StackMap locals:
      StackMap stack:
            iinc 10 /* nTopPts */ -1
        end local 15 // float c0
        end local 14 // float dy
        end local 13 // float dx
        end local 6 // float soln
        86: .line 757
      StackMap locals: java.awt.geom.Point2D$Float[] int top java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float top float java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int int java.awt.geom.Point2D$Float
      StackMap stack:
            iload 10 /* nTopPts */
            iconst_2
            if_icmpge 74
        87: .line 776
      StackMap locals:
      StackMap stack:
            aload 8 /* topList */
            iconst_0
            aload 0 /* pts */
            iconst_0
            iload 10 /* nTopPts */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        88: .line 777
            iload 10 /* nTopPts */
            istore 13 /* i */
        start local 13 // int i
        89: .line 780
            aload 0 /* pts */
            iload 13 /* i */
            iinc 13 /* i */ 1
            aload 0 /* pts */
            iload 1 /* numPts */
            iconst_1
            isub
            aaload
            aastore
        90: .line 783
            iload 11 /* nBotPts */
            iconst_1
            isub
            istore 14 /* n */
        start local 14 // int n
        91: goto 94
        92: .line 784
      StackMap locals: int int
      StackMap stack:
            aload 0 /* pts */
            iload 13 /* i */
            aload 9 /* botList */
            iload 14 /* n */
            aaload
            aastore
        93: .line 783
            iinc 14 /* n */ -1
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 14 /* n */
            ifgt 92
        end local 14 // int n
        95: .line 786
            iload 13 /* i */
            ireturn
        end local 13 // int i
        end local 12 // java.awt.geom.Point2D$Float pt
        end local 11 // int nBotPts
        end local 10 // int nTopPts
        end local 9 // java.awt.geom.Point2D$Float[] botList
        end local 8 // java.awt.geom.Point2D$Float[] topList
        end local 7 // float c
        end local 5 // java.awt.geom.Point2D$Float dxdy
        end local 4 // java.awt.geom.Point2D$Float pt1
        end local 3 // java.awt.geom.Point2D$Float pt0
        end local 1 // int numPts
        end local 0 // java.awt.geom.Point2D$Float[] pts
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   96     0      pts  [Ljava/awt/geom/Point2D$Float;
            0   96     1   numPts  I
            5    8     2      tmp  Ljava/awt/geom/Point2D$Float;
            1   10     3        i  I
           11   96     3      pt0  Ljava/awt/geom/Point2D$Float;
           12   96     4      pt1  Ljava/awt/geom/Point2D$Float;
           13   96     5     dxdy  Ljava/awt/geom/Point2D$Float;
           23   57     6     soln  F
           66   72     6     soln  F
           80   86     6     soln  F
           14   96     7        c  F
           15   96     8  topList  [Ljava/awt/geom/Point2D$Float;
           16   96     9  botList  [Ljava/awt/geom/Point2D$Float;
           18   96    10  nTopPts  I
           19   96    11  nBotPts  I
           20   58    12        i  I
           22   56    13       pt  Ljava/awt/geom/Point2D$Float;
           28   38    14       dx  F
           29   38    15       dy  F
           30   38    16       c0  F
           44   54    14       dx  F
           45   54    15       dy  F
           46   54    16       c0  F
           59   96    12       pt  Ljava/awt/geom/Point2D$Float;
           63   72    13       dx  F
           64   72    14       dy  F
           65   72    15       c0  F
           77   86    13       dx  F
           78   86    14       dy  F
           79   86    15       c0  F
           89   96    13        i  I
           91   95    14        n  I
    MethodParameters:
        Name  Flags
      pts     
      numPts  

  public static void addPtsToPath(java.awt.geom.GeneralPath, java.awt.geom.Point2D$Float[], java.awt.geom.Point2D$Float[], int);
    descriptor: (Ljava/awt/geom/GeneralPath;[Ljava/awt/geom/Point2D$Float;[Ljava/awt/geom/Point2D$Float;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // java.awt.geom.GeneralPath shape
        start local 1 // java.awt.geom.Point2D$Float[] topPts
        start local 2 // java.awt.geom.Point2D$Float[] botPts
        start local 3 // int numPts
         0: .line 793
            iload 3 /* numPts */
            iconst_2
            if_icmpge 1
            return
         1: .line 794
      StackMap locals:
      StackMap stack:
            iload 3 /* numPts */
            iconst_2
            if_icmpne 8
         2: .line 795
            aload 0 /* shape */
            aload 1 /* topPts */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 1 /* topPts */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.moveTo:(FF)V
         3: .line 796
            aload 0 /* shape */
            aload 1 /* topPts */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 1 /* topPts */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
         4: .line 797
            aload 0 /* shape */
            aload 2 /* botPts */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 2 /* botPts */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
         5: .line 798
            aload 0 /* shape */
            aload 2 /* botPts */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 2 /* botPts */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
         6: .line 799
            aload 0 /* shape */
            aload 1 /* topPts */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 1 /* topPts */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
         7: .line 800
            return
         8: .line 811
      StackMap locals:
      StackMap stack:
            bipush 8
            anewarray java.awt.geom.Point2D$Float
            astore 4 /* boxes */
        start local 4 // java.awt.geom.Point2D$Float[] boxes
         9: .line 812
            bipush 8
            anewarray java.awt.geom.Point2D$Float
            astore 5 /* chull */
        start local 5 // java.awt.geom.Point2D$Float[] chull
        10: .line 813
            aload 4 /* boxes */
            iconst_4
            aload 1 /* topPts */
            iconst_0
            aaload
            aastore
        11: .line 814
            aload 4 /* boxes */
            iconst_5
            aload 1 /* topPts */
            iconst_1
            aaload
            aastore
        12: .line 815
            aload 4 /* boxes */
            bipush 6
            aload 2 /* botPts */
            iconst_1
            aaload
            aastore
        13: .line 816
            aload 4 /* boxes */
            bipush 7
            aload 2 /* botPts */
            iconst_0
            aaload
            aastore
        14: .line 817
            iload 3 /* numPts */
            iconst_2
            idiv
            anewarray java.awt.geom.Area
            astore 6 /* areas */
        start local 6 // java.awt.geom.Area[] areas
        15: .line 818
            iconst_0
            istore 7 /* nAreas */
        start local 7 // int nAreas
        16: .line 819
            iconst_2
            istore 8 /* i */
        start local 8 // int i
        17: goto 78
        18: .line 820
      StackMap locals: java.awt.geom.GeneralPath java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] java.awt.geom.Area[] int int
      StackMap stack:
            aload 4 /* boxes */
            iconst_0
            aload 4 /* boxes */
            iconst_4
            aaload
            aastore
        19: .line 821
            aload 4 /* boxes */
            iconst_1
            aload 4 /* boxes */
            iconst_5
            aaload
            aastore
        20: .line 822
            aload 4 /* boxes */
            iconst_2
            aload 4 /* boxes */
            bipush 6
            aaload
            aastore
        21: .line 823
            aload 4 /* boxes */
            iconst_3
            aload 4 /* boxes */
            bipush 7
            aaload
            aastore
        22: .line 824
            aload 4 /* boxes */
            iconst_4
            aload 1 /* topPts */
            iload 8 /* i */
            aaload
            aastore
        23: .line 825
            aload 4 /* boxes */
            iconst_5
            aload 1 /* topPts */
            iload 8 /* i */
            iconst_1
            iadd
            aaload
            aastore
        24: .line 826
            aload 4 /* boxes */
            bipush 6
            aload 2 /* botPts */
            iload 8 /* i */
            iconst_1
            iadd
            aaload
            aastore
        25: .line 827
            aload 4 /* boxes */
            bipush 7
            aload 2 /* botPts */
            iload 8 /* i */
            aaload
            aastore
        26: .line 830
            aload 4 /* boxes */
            iconst_2
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            fstore 9 /* delta */
        start local 9 // float delta
        27: .line 831
            fload 9 /* delta */
            fload 9 /* delta */
            fmul
            fstore 11 /* dist */
        start local 11 // float dist
        28: .line 832
            aload 4 /* boxes */
            iconst_2
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            aload 4 /* boxes */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            fstore 9 /* delta */
        29: .line 833
            fload 11 /* dist */
            fload 9 /* delta */
            fload 9 /* delta */
            fmul
            fadd
            fstore 11 /* dist */
        30: .line 834
            fload 11 /* dist */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 10 /* sz */
        start local 10 // float sz
        31: .line 836
            aload 4 /* boxes */
            bipush 6
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_4
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fsub
            fstore 9 /* delta */
        32: .line 837
            fload 9 /* delta */
            fload 9 /* delta */
            fmul
            fstore 11 /* dist */
        33: .line 838
            aload 4 /* boxes */
            bipush 6
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            aload 4 /* boxes */
            iconst_4
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fsub
            fstore 9 /* delta */
        34: .line 839
            fload 11 /* dist */
            fload 9 /* delta */
            fload 9 /* delta */
            fmul
            fadd
            fstore 11 /* dist */
        35: .line 840
            fload 10 /* sz */
            fload 11 /* dist */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fadd
            fstore 10 /* sz */
        36: .line 842
            aload 4 /* boxes */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fadd
            aload 4 /* boxes */
            iconst_2
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fadd
            aload 4 /* boxes */
            iconst_3
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fadd
        37: .line 843
            aload 4 /* boxes */
            iconst_4
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_5
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fadd
            aload 4 /* boxes */
            bipush 6
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fadd
            aload 4 /* boxes */
            bipush 7
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            fadd
        38: .line 842
            fsub
        39: .line 843
            ldc 4.0
        40: .line 842
            fdiv
            fstore 9 /* delta */
        41: .line 844
            fload 9 /* delta */
            fload 9 /* delta */
            fmul
            fstore 11 /* dist */
        42: .line 845
            aload 4 /* boxes */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            aload 4 /* boxes */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fadd
            aload 4 /* boxes */
            iconst_2
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fadd
            aload 4 /* boxes */
            iconst_3
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fadd
        43: .line 846
            aload 4 /* boxes */
            iconst_4
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            aload 4 /* boxes */
            iconst_5
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fadd
            aload 4 /* boxes */
            bipush 6
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fadd
            aload 4 /* boxes */
            bipush 7
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            fadd
        44: .line 845
            fsub
        45: .line 846
            ldc 4.0
        46: .line 845
            fdiv
            fstore 9 /* delta */
        47: .line 847
            fload 11 /* dist */
            fload 9 /* delta */
            fload 9 /* delta */
            fmul
            fadd
            fstore 11 /* dist */
        48: .line 848
            fload 11 /* dist */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 11 /* dist */
        49: .line 859
            new java.awt.geom.GeneralPath
            dup
            invokespecial java.awt.geom.GeneralPath.<init>:()V
            astore 12 /* gp */
        start local 12 // java.awt.geom.GeneralPath gp
        50: .line 860
            fload 11 /* dist */
            fload 10 /* sz */
            fcmpg
            ifge 61
        51: .line 862
            aload 4 /* boxes */
            iconst_0
            aload 5 /* chull */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        52: .line 863
            aload 5 /* chull */
            bipush 8
            invokestatic org.apache.batik.bridge.GlyphLayout.makeConvexHull:([Ljava/awt/geom/Point2D$Float;I)I
            istore 13 /* npts */
        start local 13 // int npts
        53: .line 864
            aload 12 /* gp */
            aload 5 /* chull */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 5 /* chull */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.moveTo:(FF)V
        54: .line 865
            iconst_1
            istore 14 /* n */
        start local 14 // int n
        55: goto 58
        56: .line 866
      StackMap locals: java.awt.geom.GeneralPath java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] java.awt.geom.Area[] int int float float float java.awt.geom.GeneralPath int int
      StackMap stack:
            aload 12 /* gp */
            aload 5 /* chull */
            iload 14 /* n */
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 5 /* chull */
            iload 14 /* n */
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        57: .line 865
            iinc 14 /* n */ 1
      StackMap locals:
      StackMap stack:
        58: iload 14 /* n */
            iload 13 /* npts */
            if_icmplt 56
        end local 14 // int n
        59: .line 867
            aload 12 /* gp */
            invokevirtual java.awt.geom.GeneralPath.closePath:()V
        end local 13 // int npts
        60: .line 868
            goto 76
        61: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* shape */
            aload 6 /* areas */
            iload 7 /* nAreas */
            invokestatic org.apache.batik.bridge.GlyphLayout.mergeAreas:(Ljava/awt/geom/GeneralPath;[Ljava/awt/geom/Area;I)V
        62: .line 871
            iconst_0
            istore 7 /* nAreas */
        63: .line 874
            iload 8 /* i */
            iconst_2
            if_icmpne 71
        64: .line 875
            aload 12 /* gp */
            aload 4 /* boxes */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_0
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.moveTo:(FF)V
        65: .line 876
            aload 12 /* gp */
            aload 4 /* boxes */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_1
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        66: .line 877
            aload 12 /* gp */
            aload 4 /* boxes */
            iconst_2
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_2
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        67: .line 878
            aload 12 /* gp */
            aload 4 /* boxes */
            iconst_3
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_3
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        68: .line 879
            aload 12 /* gp */
            invokevirtual java.awt.geom.GeneralPath.closePath:()V
        69: .line 880
            aload 0 /* shape */
            aload 12 /* gp */
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        70: .line 881
            aload 12 /* gp */
            invokevirtual java.awt.geom.GeneralPath.reset:()V
        71: .line 883
      StackMap locals:
      StackMap stack:
            aload 12 /* gp */
            aload 4 /* boxes */
            iconst_4
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_4
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.moveTo:(FF)V
        72: .line 884
            aload 12 /* gp */
            aload 4 /* boxes */
            iconst_5
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            iconst_5
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        73: .line 885
            aload 12 /* gp */
            aload 4 /* boxes */
            bipush 6
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            bipush 6
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        74: .line 886
            aload 12 /* gp */
            aload 4 /* boxes */
            bipush 7
            aaload
            getfield java.awt.geom.Point2D$Float.x:F
            aload 4 /* boxes */
            bipush 7
            aaload
            getfield java.awt.geom.Point2D$Float.y:F
            invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
        75: .line 887
            aload 12 /* gp */
            invokevirtual java.awt.geom.GeneralPath.closePath:()V
        76: .line 889
      StackMap locals:
      StackMap stack:
            aload 6 /* areas */
            iload 7 /* nAreas */
            iinc 7 /* nAreas */ 1
            new java.awt.geom.Area
            dup
            aload 12 /* gp */
            invokespecial java.awt.geom.Area.<init>:(Ljava/awt/Shape;)V
            aastore
        end local 12 // java.awt.geom.GeneralPath gp
        end local 11 // float dist
        end local 10 // float sz
        end local 9 // float delta
        77: .line 819
            iinc 8 /* i */ 2
      StackMap locals: java.awt.geom.GeneralPath java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] int java.awt.geom.Point2D$Float[] java.awt.geom.Point2D$Float[] java.awt.geom.Area[] int int
      StackMap stack:
        78: iload 8 /* i */
            iload 3 /* numPts */
            if_icmplt 18
        end local 8 // int i
        79: .line 892
            aload 0 /* shape */
            aload 6 /* areas */
            iload 7 /* nAreas */
            invokestatic org.apache.batik.bridge.GlyphLayout.mergeAreas:(Ljava/awt/geom/GeneralPath;[Ljava/awt/geom/Area;I)V
        80: .line 893
            return
        end local 7 // int nAreas
        end local 6 // java.awt.geom.Area[] areas
        end local 5 // java.awt.geom.Point2D$Float[] chull
        end local 4 // java.awt.geom.Point2D$Float[] boxes
        end local 3 // int numPts
        end local 2 // java.awt.geom.Point2D$Float[] botPts
        end local 1 // java.awt.geom.Point2D$Float[] topPts
        end local 0 // java.awt.geom.GeneralPath shape
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   81     0   shape  Ljava/awt/geom/GeneralPath;
            0   81     1  topPts  [Ljava/awt/geom/Point2D$Float;
            0   81     2  botPts  [Ljava/awt/geom/Point2D$Float;
            0   81     3  numPts  I
            9   81     4   boxes  [Ljava/awt/geom/Point2D$Float;
           10   81     5   chull  [Ljava/awt/geom/Point2D$Float;
           15   81     6   areas  [Ljava/awt/geom/Area;
           16   81     7  nAreas  I
           17   79     8       i  I
           27   77     9   delta  F
           31   77    10      sz  F
           28   77    11    dist  F
           50   77    12      gp  Ljava/awt/geom/GeneralPath;
           53   60    13    npts  I
           55   59    14       n  I
    MethodParameters:
        Name  Flags
      shape   
      topPts  
      botPts  
      numPts  

  public static void mergeAreas(java.awt.geom.GeneralPath, java.awt.geom.Area[], int);
    descriptor: (Ljava/awt/geom/GeneralPath;[Ljava/awt/geom/Area;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.awt.geom.GeneralPath shape
        start local 1 // java.awt.geom.Area[] shapes
        start local 2 // int nShapes
         0: .line 901
            goto 12
         1: .line 902
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* n */
        start local 3 // int n
         2: .line 903
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 904
      StackMap locals: int int
      StackMap stack:
            aload 1 /* shapes */
            iload 4 /* i */
            iconst_1
            isub
            aaload
            aload 1 /* shapes */
            iload 4 /* i */
            aaload
            invokevirtual java.awt.geom.Area.add:(Ljava/awt/geom/Area;)V
         5: .line 905
            aload 1 /* shapes */
            iload 3 /* n */
            iinc 3 /* n */ 1
            aload 1 /* shapes */
            iload 4 /* i */
            iconst_1
            isub
            aaload
            aastore
         6: .line 906
            aload 1 /* shapes */
            iload 4 /* i */
            aconst_null
            aastore
         7: .line 903
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* nShapes */
            if_icmplt 4
        end local 4 // int i
         9: .line 910
            iload 2 /* nShapes */
            iconst_1
            iand
            iconst_1
            if_icmpne 11
        10: .line 911
            aload 1 /* shapes */
            iload 3 /* n */
            iconst_1
            isub
            aaload
            aload 1 /* shapes */
            iload 2 /* nShapes */
            iconst_1
            isub
            aaload
            invokevirtual java.awt.geom.Area.add:(Ljava/awt/geom/Area;)V
        11: .line 912
      StackMap locals:
      StackMap stack:
            iload 2 /* nShapes */
            iconst_2
            idiv
            istore 2 /* nShapes */
        end local 3 // int n
        12: .line 901
      StackMap locals:
      StackMap stack:
            iload 2 /* nShapes */
            iconst_1
            if_icmpgt 1
        13: .line 914
            iload 2 /* nShapes */
            iconst_1
            if_icmpne 15
        14: .line 915
            aload 0 /* shape */
            aload 1 /* shapes */
            iconst_0
            aaload
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        15: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int nShapes
        end local 1 // java.awt.geom.Area[] shapes
        end local 0 // java.awt.geom.GeneralPath shape
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0    shape  Ljava/awt/geom/GeneralPath;
            0   16     1   shapes  [Ljava/awt/geom/Area;
            0   16     2  nShapes  I
            2   12     3        n  I
            3    9     4        i  I
    MethodParameters:
         Name  Flags
      shape    
      shapes   
      nShapes  

  public org.apache.batik.bridge.TextHit hitTestChar(float, float);
    descriptor: (FF)Lorg/apache/batik/bridge/TextHit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=3
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // float x
        start local 2 // float y
         0: .line 929
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.syncLayout:()V
         1: .line 931
            aconst_null
            astore 3 /* textHit */
        start local 3 // org.apache.batik.bridge.TextHit textHit
         2: .line 933
            iconst_0
            istore 4 /* currentChar */
        start local 4 // int currentChar
         3: .line 934
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 22
         5: .line 935
      StackMap locals: org.apache.batik.bridge.TextHit int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 5 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphLogicalBounds:(I)Ljava/awt/Shape;
            astore 6 /* gbounds */
        start local 6 // java.awt.Shape gbounds
         6: .line 936
            aload 6 /* gbounds */
            ifnull 18
         7: .line 937
            aload 6 /* gbounds */
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 7 /* gbounds2d */
        start local 7 // java.awt.geom.Rectangle2D gbounds2d
         8: .line 938
            aload 6 /* gbounds */
            fload 1 /* x */
            f2d
            fload 2 /* y */
            f2d
            invokeinterface java.awt.Shape.contains:(DD)Z
            ifeq 18
         9: .line 940
            fload 1 /* x */
            f2d
            aload 7 /* gbounds2d */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            aload 7 /* gbounds2d */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            ldc 2.0
            ddiv
            dadd
            dcmpl
            ifle 10
            iconst_1
            goto 11
      StackMap locals: java.awt.Shape java.awt.geom.Rectangle2D
      StackMap stack:
        10: iconst_0
        11: .line 939
      StackMap locals:
      StackMap stack: int
            istore 8 /* isRightHalf */
        start local 8 // boolean isRightHalf
        12: .line 941
            iload 8 /* isRightHalf */
            ifeq 13
            iconst_0
            goto 14
      StackMap locals: int
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: istore 9 /* isLeadingEdge */
        start local 9 // boolean isLeadingEdge
        15: .line 942
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            iload 4 /* currentChar */
            iaload
            istore 10 /* charIndex */
        start local 10 // int charIndex
        16: .line 943
            new org.apache.batik.bridge.TextHit
            dup
            iload 10 /* charIndex */
            iload 9 /* isLeadingEdge */
            invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
            astore 3 /* textHit */
        17: .line 944
            aload 3 /* textHit */
            areturn
        end local 10 // int charIndex
        end local 9 // boolean isLeadingEdge
        end local 8 // boolean isRightHalf
        end local 7 // java.awt.geom.Rectangle2D gbounds2d
        18: .line 947
      StackMap locals:
      StackMap stack:
            iload 4 /* currentChar */
            aload 0 /* this */
            iload 5 /* i */
            iload 5 /* i */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getCharacterCount:(II)I
            iadd
            istore 4 /* currentChar */
        19: .line 948
            iload 4 /* currentChar */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            if_icmplt 21
        20: .line 949
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            iconst_1
            isub
            istore 4 /* currentChar */
        end local 6 // java.awt.Shape gbounds
        21: .line 934
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 5 /* i */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            if_icmplt 5
        end local 5 // int i
        23: .line 951
            aload 3 /* textHit */
            areturn
        end local 4 // int currentChar
        end local 3 // org.apache.batik.bridge.TextHit textHit
        end local 2 // float y
        end local 1 // float x
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lorg/apache/batik/bridge/GlyphLayout;
            0   24     1              x  F
            0   24     2              y  F
            2   24     3        textHit  Lorg/apache/batik/bridge/TextHit;
            3   24     4    currentChar  I
            4   23     5              i  I
            6   21     6        gbounds  Ljava/awt/Shape;
            8   18     7      gbounds2d  Ljava/awt/geom/Rectangle2D;
           12   18     8    isRightHalf  Z
           15   18     9  isLeadingEdge  Z
           16   18    10      charIndex  I
    MethodParameters:
      Name  Flags
      x     
      y     

  protected org.apache.batik.gvt.font.GVTFont getFont();
    descriptor: ()Lorg/apache/batik/gvt/font/GVTFont;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 964
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         1: .line 965
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.GVTFont
            astore 1 /* gvtFont */
        start local 1 // org.apache.batik.gvt.font.GVTFont gvtFont
         2: .line 967
            aload 1 /* gvtFont */
            ifnull 4
         3: .line 968
            aload 1 /* gvtFont */
            areturn
         4: .line 971
      StackMap locals: org.apache.batik.gvt.font.GVTFont
      StackMap stack:
            new org.apache.batik.gvt.font.AWTGVTFont
            dup
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.getAttributes:()Ljava/util/Map;
            invokespecial org.apache.batik.gvt.font.AWTGVTFont.<init>:(Ljava/util/Map;)V
            areturn
        end local 1 // org.apache.batik.gvt.font.GVTFont gvtFont
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/batik/bridge/GlyphLayout;
            2    5     1  gvtFont  Lorg/apache/batik/gvt/font/GVTFont;

  protected java.awt.Shape getOverlineShape();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=13, locals=7, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 978
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getOverlineOffset:()F
            f2d
            dstore 1 /* y */
        start local 1 // double y
         1: .line 979
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getOverlineThickness:()F
            fstore 3 /* overlineThickness */
        start local 3 // float overlineThickness
         2: .line 983
            dload 1 /* y */
            fload 3 /* overlineThickness */
            f2d
            dadd
            dstore 1 /* y */
         3: .line 986
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         4: .line 987
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.DY:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 4 /* dy */
        start local 4 // java.lang.Float dy
         5: .line 988
            aload 4 /* dy */
            ifnull 7
         6: .line 989
            dload 1 /* y */
            aload 4 /* dy */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            dadd
            dstore 1 /* y */
         7: .line 992
      StackMap locals: double float java.lang.Float
      StackMap stack:
            new java.awt.BasicStroke
            dup
            fload 3 /* overlineThickness */
            invokespecial java.awt.BasicStroke.<init>:(F)V
         8: .line 991
            astore 5 /* overlineStroke */
        start local 5 // java.awt.Stroke overlineStroke
         9: .line 993
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getLogicalBounds:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* logicalBounds */
        start local 6 // java.awt.geom.Rectangle2D logicalBounds
        10: .line 995
            aload 5 /* overlineStroke */
        11: .line 996
            new java.awt.geom.Line2D$Double
            dup
        12: .line 997
            aload 6 /* logicalBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
            fload 3 /* overlineThickness */
            f2d
            ldc 2.0
            ddiv
            dadd
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dload 1 /* y */
            dadd
        13: .line 998
            aload 6 /* logicalBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            fload 3 /* overlineThickness */
            f2d
            ldc 2.0
            ddiv
            dsub
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dload 1 /* y */
            dadd
        14: .line 996
            invokespecial java.awt.geom.Line2D$Double.<init>:(DDDD)V
        15: .line 995
            invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            areturn
        end local 6 // java.awt.geom.Rectangle2D logicalBounds
        end local 5 // java.awt.Stroke overlineStroke
        end local 4 // java.lang.Float dy
        end local 3 // float overlineThickness
        end local 1 // double y
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lorg/apache/batik/bridge/GlyphLayout;
            1   16     1                  y  D
            2   16     3  overlineThickness  F
            5   16     4                 dy  Ljava/lang/Float;
            9   16     5     overlineStroke  Ljava/awt/Stroke;
           10   16     6      logicalBounds  Ljava/awt/geom/Rectangle2D;

  protected java.awt.Shape getUnderlineShape();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=13, locals=7, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1006
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getUnderlineOffset:()F
            f2d
            dstore 1 /* y */
        start local 1 // double y
         1: .line 1007
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getUnderlineThickness:()F
            fstore 3 /* underlineThickness */
        start local 3 // float underlineThickness
         2: .line 1011
            dload 1 /* y */
            fload 3 /* underlineThickness */
            f2d
            ldc 1.5
            dmul
            dadd
            dstore 1 /* y */
         3: .line 1014
            new java.awt.BasicStroke
            dup
            fload 3 /* underlineThickness */
            invokespecial java.awt.BasicStroke.<init>:(F)V
         4: .line 1013
            astore 4 /* underlineStroke */
        start local 4 // java.awt.BasicStroke underlineStroke
         5: .line 1017
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         6: .line 1018
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.DY:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 5 /* dy */
        start local 5 // java.lang.Float dy
         7: .line 1019
            aload 5 /* dy */
            ifnull 9
         8: .line 1020
            dload 1 /* y */
            aload 5 /* dy */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            dadd
            dstore 1 /* y */
         9: .line 1022
      StackMap locals: org.apache.batik.bridge.GlyphLayout double float java.awt.BasicStroke java.lang.Float
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getLogicalBounds:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* logicalBounds */
        start local 6 // java.awt.geom.Rectangle2D logicalBounds
        10: .line 1024
            aload 4 /* underlineStroke */
        11: .line 1025
            new java.awt.geom.Line2D$Double
            dup
        12: .line 1026
            aload 6 /* logicalBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
            fload 3 /* underlineThickness */
            f2d
            ldc 2.0
            ddiv
            dadd
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dload 1 /* y */
            dadd
        13: .line 1027
            aload 6 /* logicalBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            fload 3 /* underlineThickness */
            f2d
            ldc 2.0
            ddiv
            dsub
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dload 1 /* y */
            dadd
        14: .line 1025
            invokespecial java.awt.geom.Line2D$Double.<init>:(DDDD)V
        15: .line 1024
            invokevirtual java.awt.BasicStroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            areturn
        end local 6 // java.awt.geom.Rectangle2D logicalBounds
        end local 5 // java.lang.Float dy
        end local 4 // java.awt.BasicStroke underlineStroke
        end local 3 // float underlineThickness
        end local 1 // double y
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/apache/batik/bridge/GlyphLayout;
            1   16     1                   y  D
            2   16     3  underlineThickness  F
            5   16     4     underlineStroke  Ljava/awt/BasicStroke;
            7   16     5                  dy  Ljava/lang/Float;
           10   16     6       logicalBounds  Ljava/awt/geom/Rectangle2D;

  protected java.awt.Shape getStrikethroughShape();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=13, locals=7, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1034
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getStrikethroughOffset:()F
            f2d
            dstore 1 /* y */
        start local 1 // double y
         1: .line 1035
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getStrikethroughThickness:()F
            fstore 3 /* strikethroughThickness */
        start local 3 // float strikethroughThickness
         2: .line 1038
            new java.awt.BasicStroke
            dup
            fload 3 /* strikethroughThickness */
            invokespecial java.awt.BasicStroke.<init>:(F)V
         3: .line 1037
            astore 4 /* strikethroughStroke */
        start local 4 // java.awt.Stroke strikethroughStroke
         4: .line 1041
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         5: .line 1042
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.DY:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 5 /* dy */
        start local 5 // java.lang.Float dy
         6: .line 1043
            aload 5 /* dy */
            ifnull 8
         7: .line 1044
            dload 1 /* y */
            aload 5 /* dy */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            dadd
            dstore 1 /* y */
         8: .line 1046
      StackMap locals: org.apache.batik.bridge.GlyphLayout double float java.awt.Stroke java.lang.Float
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getLogicalBounds:()Ljava/awt/geom/Rectangle2D;
            astore 6 /* logicalBounds */
        start local 6 // java.awt.geom.Rectangle2D logicalBounds
         9: .line 1047
            aload 4 /* strikethroughStroke */
        10: .line 1048
            new java.awt.geom.Line2D$Double
            dup
        11: .line 1049
            aload 6 /* logicalBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
            fload 3 /* strikethroughThickness */
            f2d
            ldc 2.0
            ddiv
            dadd
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dload 1 /* y */
            dadd
        12: .line 1050
            aload 6 /* logicalBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            fload 3 /* strikethroughThickness */
            f2d
            ldc 2.0
            ddiv
            dsub
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dload 1 /* y */
            dadd
        13: .line 1048
            invokespecial java.awt.geom.Line2D$Double.<init>:(DDDD)V
        14: .line 1047
            invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            areturn
        end local 6 // java.awt.geom.Rectangle2D logicalBounds
        end local 5 // java.lang.Float dy
        end local 4 // java.awt.Stroke strikethroughStroke
        end local 3 // float strikethroughThickness
        end local 1 // double y
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   15     0                    this  Lorg/apache/batik/bridge/GlyphLayout;
            1   15     1                       y  D
            2   15     3  strikethroughThickness  F
            4   15     4     strikethroughStroke  Ljava/awt/Stroke;
            6   15     5                      dy  Ljava/lang/Float;
            9   15     6           logicalBounds  Ljava/awt/geom/Rectangle2D;

  protected void doExplicitGlyphLayout();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=43, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1061
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.performDefaultLayout:()V
         1: .line 1064
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 3
         2: .line 1065
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getLogicalBounds:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            d2f
            goto 4
         3: .line 1066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getDescent:()F
            invokestatic java.lang.Math.abs:(F)F
            fadd
         4: .line 1063
      StackMap locals:
      StackMap stack: float
            fstore 1 /* baselineAscent */
        start local 1 // float baselineAscent
         5: .line 1068
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 2 /* numGlyphs */
        start local 2 // int numGlyphs
         6: .line 1070
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            iload 2 /* numGlyphs */
            iconst_1
            iadd
            aconst_null
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPositions:(II[F)[F
            astore 3 /* gp */
        start local 3 // float[] gp
         7: .line 1071
            fconst_0
            fstore 4 /* verticalFirstOffset */
        start local 4 // float verticalFirstOffset
         8: .line 1072
            fconst_0
            fstore 5 /* horizontalFirstOffset */
        start local 5 // float horizontalFirstOffset
         9: .line 1074
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isGlyphOrientationAuto:()Z
            istore 6 /* glyphOrientationAuto */
        start local 6 // boolean glyphOrientationAuto
        10: .line 1075
            iconst_0
            istore 7 /* glyphOrientationAngle */
        start local 7 // int glyphOrientationAngle
        11: .line 1076
            iload 6 /* glyphOrientationAuto */
            ifne 13
        12: .line 1077
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphOrientationAngle:()I
            istore 7 /* glyphOrientationAngle */
        13: .line 1079
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        14: .line 1080
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 9 /* aciStart */
        start local 9 // int aciStart
        15: .line 1081
            iconst_0
            istore 10 /* aciIndex */
        start local 10 // int aciIndex
        16: .line 1082
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 11 /* ch */
        start local 11 // char ch
        17: .line 1083
            iload 10 /* aciIndex */
            iload 9 /* aciStart */
            iadd
            istore 12 /* runLimit */
        start local 12 // int runLimit
        18: .line 1085
            aconst_null
            astore 13 /* x */
        start local 13 // java.lang.Float x
        19: aconst_null
            astore 14 /* y */
        start local 14 // java.lang.Float y
        20: aconst_null
            astore 15 /* dx */
        start local 15 // java.lang.Float dx
        21: aconst_null
            astore 16 /* dy */
        start local 16 // java.lang.Float dy
        22: aconst_null
            astore 17 /* rotation */
        start local 17 // java.lang.Float rotation
        23: .line 1086
            aconst_null
            astore 18 /* baseline */
        start local 18 // java.lang.Object baseline
        24: .line 1088
            fconst_0
            fstore 19 /* shift_x_pos */
        start local 19 // float shift_x_pos
        25: .line 1089
            fconst_0
            fstore 20 /* shift_y_pos */
        start local 20 // float shift_y_pos
        26: .line 1090
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 21 /* curr_x_pos */
        start local 21 // float curr_x_pos
        27: .line 1091
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 22 /* curr_y_pos */
        start local 22 // float curr_y_pos
        28: .line 1093
            new java.awt.geom.Point2D$Float
            dup
            invokespecial java.awt.geom.Point2D$Float.<init>:()V
            astore 23 /* pos */
        start local 23 // java.awt.geom.Point2D$Float pos
        29: .line 1094
            iconst_0
            istore 24 /* hasArabicTransparent */
        start local 24 // boolean hasArabicTransparent
        30: .line 1096
            goto 225
        31: .line 1097
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int
      StackMap stack:
            iload 10 /* aciIndex */
            iload 9 /* aciStart */
            iadd
            iload 12 /* runLimit */
            if_icmplt 39
        32: .line 1098
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.runAtts:Ljava/util/Set;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
            istore 12 /* runLimit */
        33: .line 1099
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.X:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 13 /* x */
        34: .line 1100
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.Y:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 14 /* y */
        35: .line 1101
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.DX:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 15 /* dx */
        36: .line 1102
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.DY:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 16 /* dy */
        37: .line 1103
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.ROTATION:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 17 /* rotation */
        38: .line 1104
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.BASELINE_SHIFT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            astore 18 /* baseline */
        39: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
            astore 25 /* gm */
        start local 25 // org.apache.batik.gvt.font.GVTGlyphMetrics gm
        40: .line 1109
            iload 8 /* i */
            ifne 65
        41: .line 1110
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isVertical:()Z
            ifeq 59
        42: .line 1111
            iload 6 /* glyphOrientationAuto */
            ifeq 51
        43: .line 1112
            aload 0 /* this */
            iload 11 /* ch */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isLatinChar:(C)Z
            ifeq 46
        44: .line 1114
            fconst_0
            fstore 4 /* verticalFirstOffset */
        45: .line 1115
            goto 71
        46: .line 1117
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphMetrics
      StackMap stack:
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            fstore 26 /* advY */
        start local 26 // float advY
        47: .line 1118
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
            fstore 27 /* asc */
        start local 27 // float asc
        48: .line 1119
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getDescent:()F
            fstore 28 /* dsc */
        start local 28 // float dsc
        49: .line 1120
            fload 27 /* asc */
            fload 26 /* advY */
            fload 27 /* asc */
            fload 28 /* dsc */
            fadd
            fsub
            fconst_2
            fdiv
            fadd
            fstore 4 /* verticalFirstOffset */
        end local 28 // float dsc
        end local 27 // float asc
        end local 26 // float advY
        50: .line 1122
            goto 71
        51: .line 1123
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            ifne 57
        52: .line 1124
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            fstore 26 /* advY */
        start local 26 // float advY
        53: .line 1125
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
            fstore 27 /* asc */
        start local 27 // float asc
        54: .line 1126
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getDescent:()F
            fstore 28 /* dsc */
        start local 28 // float dsc
        55: .line 1127
            fload 27 /* asc */
            fload 26 /* advY */
            fload 27 /* asc */
            fload 28 /* dsc */
            fadd
            fsub
            fconst_2
            fdiv
            fadd
            fstore 4 /* verticalFirstOffset */
        end local 28 // float dsc
        end local 27 // float asc
        end local 26 // float advY
        56: .line 1128
            goto 71
        57: .line 1130
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 4 /* verticalFirstOffset */
        58: .line 1133
            goto 71
        59: .line 1134
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            sipush 270
            if_icmpne 63
        60: .line 1136
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            d2f
        61: .line 1135
            fstore 5 /* horizontalFirstOffset */
        62: .line 1137
            goto 71
        63: .line 1139
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 5 /* horizontalFirstOffset */
        64: .line 1142
            goto 71
        65: .line 1143
      StackMap locals:
      StackMap stack:
            iload 6 /* glyphOrientationAuto */
            ifeq 71
        66: .line 1144
            fload 4 /* verticalFirstOffset */
            fconst_0
            fcmpl
            ifne 71
            aload 0 /* this */
            iload 11 /* ch */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isLatinChar:(C)Z
            ifne 71
        67: .line 1145
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            fstore 26 /* advY */
        start local 26 // float advY
        68: .line 1146
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
            fstore 27 /* asc */
        start local 27 // float asc
        69: .line 1147
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getDescent:()F
            fstore 28 /* dsc */
        start local 28 // float dsc
        70: .line 1148
            fload 27 /* asc */
            fload 26 /* advY */
            fload 27 /* asc */
            fload 28 /* dsc */
            fadd
            fsub
            fconst_2
            fdiv
            fadd
            fstore 4 /* verticalFirstOffset */
        end local 28 // float dsc
        end local 27 // float asc
        end local 26 // float advY
        71: .line 1154
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 26 /* ox */
        start local 26 // float ox
        72: .line 1155
            fconst_0
            fstore 27 /* oy */
        start local 27 // float oy
        73: .line 1156
            fconst_0
            fstore 28 /* glyphOrientationRotation */
        start local 28 // float glyphOrientationRotation
        74: .line 1157
            fconst_0
            fstore 29 /* glyphRotation */
        start local 29 // float glyphRotation
        75: .line 1159
            iload 11 /* ch */
            ldc 65535
            if_icmpeq 161
        76: .line 1160
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 87
        77: .line 1161
            iload 6 /* glyphOrientationAuto */
            ifeq 83
        78: .line 1162
            aload 0 /* this */
            iload 11 /* ch */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isLatinChar:(C)Z
            ifeq 81
        79: .line 1165
            ldc 1.5707964
            fstore 28 /* glyphOrientationRotation */
        80: .line 1166
            goto 84
        81: .line 1167
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int org.apache.batik.gvt.font.GVTGlyphMetrics float float float float
      StackMap stack:
            fconst_0
            fstore 28 /* glyphOrientationRotation */
        82: .line 1169
            goto 84
        83: .line 1170
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            i2d
            invokestatic java.lang.Math.toRadians:(D)D
            d2f
            fstore 28 /* glyphOrientationRotation */
        84: .line 1172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            ifnull 90
        85: .line 1174
            aconst_null
            astore 13 /* x */
        86: .line 1176
            goto 90
        87: .line 1177
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            i2d
            invokestatic java.lang.Math.toRadians:(D)D
            d2f
            fstore 28 /* glyphOrientationRotation */
        88: .line 1178
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            ifnull 90
        89: .line 1180
            aconst_null
            astore 14 /* y */
        90: .line 1185
      StackMap locals:
      StackMap stack:
            aload 17 /* rotation */
            ifnull 91
            aload 17 /* rotation */
            invokevirtual java.lang.Float.isNaN:()Z
            ifeq 93
        91: .line 1186
      StackMap locals:
      StackMap stack:
            fload 28 /* glyphOrientationRotation */
            fstore 29 /* glyphRotation */
        92: .line 1187
            goto 96
        93: .line 1188
      StackMap locals:
      StackMap stack:
            aload 17 /* rotation */
            invokevirtual java.lang.Float.floatValue:()F
        94: .line 1189
            fload 28 /* glyphOrientationRotation */
        95: .line 1188
            fadd
            fstore 29 /* glyphRotation */
        96: .line 1192
      StackMap locals:
      StackMap stack:
            aload 13 /* x */
            ifnull 100
            aload 13 /* x */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 100
        97: .line 1193
            iload 8 /* i */
            ifne 99
        98: .line 1194
            aload 13 /* x */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            d2f
            fstore 19 /* shift_x_pos */
        99: .line 1195
      StackMap locals:
      StackMap stack:
            aload 13 /* x */
            invokevirtual java.lang.Float.floatValue:()F
            fload 19 /* shift_x_pos */
            fsub
            fstore 21 /* curr_x_pos */
       100: .line 1197
      StackMap locals:
      StackMap stack:
            aload 15 /* dx */
            ifnull 102
            aload 15 /* dx */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 102
       101: .line 1198
            fload 21 /* curr_x_pos */
            aload 15 /* dx */
            invokevirtual java.lang.Float.floatValue:()F
            fadd
            fstore 21 /* curr_x_pos */
       102: .line 1201
      StackMap locals:
      StackMap stack:
            aload 14 /* y */
            ifnull 106
            aload 14 /* y */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 106
       103: .line 1202
            iload 8 /* i */
            ifne 105
       104: .line 1203
            aload 14 /* y */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            d2f
            fstore 20 /* shift_y_pos */
       105: .line 1204
      StackMap locals:
      StackMap stack:
            aload 14 /* y */
            invokevirtual java.lang.Float.floatValue:()F
            fload 20 /* shift_y_pos */
            fsub
            fstore 22 /* curr_y_pos */
       106: .line 1206
      StackMap locals:
      StackMap stack:
            aload 16 /* dy */
            ifnull 109
            aload 16 /* dy */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 109
       107: .line 1207
            fload 22 /* curr_y_pos */
            aload 16 /* dy */
            invokevirtual java.lang.Float.floatValue:()F
            fadd
            fstore 22 /* curr_y_pos */
       108: .line 1208
            goto 111
      StackMap locals:
      StackMap stack:
       109: iload 8 /* i */
            ifle 111
       110: .line 1209
            fload 22 /* curr_y_pos */
            aload 3 /* gp */
            iload 8 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            faload
            aload 3 /* gp */
            iload 8 /* i */
            iconst_2
            imul
            iconst_1
            isub
            faload
            fsub
            fadd
            fstore 22 /* curr_y_pos */
       111: .line 1212
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 30 /* baselineAdjust */
        start local 30 // float baselineAdjust
       112: .line 1213
            aload 18 /* baseline */
            ifnull 126
       113: .line 1214
            aload 18 /* baseline */
            instanceof java.lang.Integer
            ifeq 120
       114: .line 1215
            aload 18 /* baseline */
            getstatic java.awt.font.TextAttribute.SUPERSCRIPT_SUPER:Ljava/lang/Integer;
            if_acmpne 117
       115: .line 1216
            fload 1 /* baselineAscent */
            ldc 0.5
            fmul
            fstore 30 /* baselineAdjust */
       116: .line 1217
            goto 122
      StackMap locals: float
      StackMap stack:
       117: aload 18 /* baseline */
            getstatic java.awt.font.TextAttribute.SUPERSCRIPT_SUB:Ljava/lang/Integer;
            if_acmpne 122
       118: .line 1218
            fload 1 /* baselineAscent */
            fneg
            ldc 0.5
            fmul
            fstore 30 /* baselineAdjust */
       119: .line 1220
            goto 122
      StackMap locals:
      StackMap stack:
       120: aload 18 /* baseline */
            instanceof java.lang.Float
            ifeq 122
       121: .line 1221
            aload 18 /* baseline */
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            fstore 30 /* baselineAdjust */
       122: .line 1223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 125
       123: .line 1224
            fload 30 /* baselineAdjust */
            fstore 26 /* ox */
       124: .line 1225
            goto 126
       125: .line 1226
      StackMap locals:
      StackMap stack:
            fload 30 /* baselineAdjust */
            fneg
            fstore 27 /* oy */
       126: .line 1230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 155
       127: .line 1232
            fload 27 /* oy */
            fload 4 /* verticalFirstOffset */
            fadd
            fstore 27 /* oy */
       128: .line 1234
            iload 6 /* glyphOrientationAuto */
            ifeq 138
       129: .line 1235
            aload 0 /* this */
            iload 11 /* ch */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isLatinChar:(C)Z
            ifeq 132
       130: .line 1236
            fload 26 /* ox */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getStrikethroughOffset:()F
            fadd
            fstore 26 /* ox */
       131: .line 1237
            goto 161
       132: .line 1239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphVisualBounds:(I)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
       133: .line 1238
            astore 31 /* glyphBounds */
        start local 31 // java.awt.geom.Rectangle2D glyphBounds
       134: .line 1240
            fload 26 /* ox */
            aload 31 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            aload 3 /* gp */
            iconst_2
            iload 8 /* i */
            imul
            faload
            f2d
            dsub
       135: .line 1241
            aload 31 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            ldc 2.0
            ddiv
       136: .line 1240
            dsub
            d2f
            fsub
            fstore 26 /* ox */
        end local 31 // java.awt.geom.Rectangle2D glyphBounds
       137: .line 1243
            goto 161
       138: .line 1246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphVisualBounds:(I)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
       139: .line 1245
            astore 31 /* glyphBounds */
        start local 31 // java.awt.geom.Rectangle2D glyphBounds
       140: .line 1247
            iload 7 /* glyphOrientationAngle */
            ifne 145
       141: .line 1248
            fload 26 /* ox */
            aload 31 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            aload 3 /* gp */
            iconst_2
            iload 8 /* i */
            imul
            faload
            f2d
            dsub
       142: .line 1249
            aload 31 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            ldc 2.0
            ddiv
       143: .line 1248
            dsub
            d2f
            fsub
            fstore 26 /* ox */
       144: .line 1250
            goto 161
      StackMap locals: java.awt.geom.Rectangle2D
      StackMap stack:
       145: iload 7 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 150
       146: .line 1251
            fload 26 /* ox */
            aload 31 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            aload 3 /* gp */
            iconst_2
            iload 8 /* i */
            imul
            faload
            f2d
            dsub
       147: .line 1252
            aload 31 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            ldc 2.0
            ddiv
       148: .line 1251
            dsub
            d2f
            fadd
            fstore 26 /* ox */
       149: .line 1253
            goto 161
      StackMap locals:
      StackMap stack:
       150: iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 153
       151: .line 1254
            fload 26 /* ox */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getStrikethroughOffset:()F
            fadd
            fstore 26 /* ox */
       152: .line 1255
            goto 161
       153: .line 1256
      StackMap locals:
      StackMap stack:
            fload 26 /* ox */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getStrikethroughOffset:()F
            fsub
            fstore 26 /* ox */
        end local 31 // java.awt.geom.Rectangle2D glyphBounds
       154: .line 1259
            goto 161
       155: .line 1260
      StackMap locals:
      StackMap stack:
            fload 26 /* ox */
            fload 5 /* horizontalFirstOffset */
            fadd
            fstore 26 /* ox */
       156: .line 1261
            iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 159
       157: .line 1262
            fload 27 /* oy */
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fsub
            fstore 27 /* oy */
       158: .line 1263
            goto 161
      StackMap locals:
      StackMap stack:
       159: iload 7 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 161
       160: .line 1264
            fload 27 /* oy */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.metrics:Lorg/apache/batik/gvt/font/GVTLineMetrics;
            invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
            fsub
            fstore 27 /* oy */
        end local 30 // float baselineAdjust
       161: .line 1270
      StackMap locals:
      StackMap stack:
            aload 23 /* pos */
            fload 21 /* curr_x_pos */
            fload 26 /* ox */
            fadd
            putfield java.awt.geom.Point2D$Float.x:F
       162: .line 1271
            aload 23 /* pos */
            fload 22 /* curr_y_pos */
            fload 27 /* oy */
            fadd
            putfield java.awt.geom.Point2D$Float.y:F
       163: .line 1272
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 23 /* pos */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
       164: .line 1275
            iload 11 /* ch */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharTransparent:(C)Z
            ifeq 167
       165: .line 1276
            iconst_1
            istore 24 /* hasArabicTransparent */
       166: .line 1277
            goto 204
       167: .line 1279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 190
       168: .line 1280
            fconst_0
            fstore 30 /* advanceY */
        start local 30 // float advanceY
       169: .line 1281
            iload 6 /* glyphOrientationAuto */
            ifeq 175
       170: .line 1282
            aload 0 /* this */
            iload 11 /* ch */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isLatinChar:(C)Z
            ifeq 173
       171: .line 1283
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advanceY */
       172: .line 1284
            goto 188
       173: .line 1285
      StackMap locals: float
      StackMap stack:
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            fstore 30 /* advanceY */
       174: .line 1287
            goto 188
       175: .line 1288
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            ifeq 177
       176: .line 1289
            iload 7 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 179
       177: .line 1290
      StackMap locals:
      StackMap stack:
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            fstore 30 /* advanceY */
       178: .line 1291
            goto 188
      StackMap locals:
      StackMap stack:
       179: iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 182
       180: .line 1292
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advanceY */
       181: .line 1293
            goto 188
       182: .line 1294
      StackMap locals:
      StackMap stack:
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advanceY */
       183: .line 1297
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
       184: .line 1298
            iload 8 /* i */
       185: .line 1299
            dconst_0
            fload 30 /* advanceY */
            f2d
       186: .line 1298
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
       187: .line 1297
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
       188: .line 1302
      StackMap locals:
      StackMap stack:
            fload 22 /* curr_y_pos */
            fload 30 /* advanceY */
            fadd
            fstore 22 /* curr_y_pos */
        end local 30 // float advanceY
       189: .line 1303
            goto 204
       190: .line 1304
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 30 /* advanceX */
        start local 30 // float advanceX
       191: .line 1305
            iload 7 /* glyphOrientationAngle */
            ifne 194
       192: .line 1306
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advanceX */
       193: .line 1307
            goto 203
      StackMap locals: float
      StackMap stack:
       194: iload 7 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 202
       195: .line 1308
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advanceX */
       196: .line 1311
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
       197: .line 1312
            iload 8 /* i */
       198: .line 1313
            fload 30 /* advanceX */
            f2d
            dconst_0
       199: .line 1312
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
       200: .line 1311
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
       201: .line 1314
            goto 203
       202: .line 1316
      StackMap locals:
      StackMap stack:
            aload 25 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
            fstore 30 /* advanceX */
       203: .line 1318
      StackMap locals:
      StackMap stack:
            fload 21 /* curr_x_pos */
            fload 30 /* advanceX */
            fadd
            fstore 21 /* curr_x_pos */
        end local 30 // float advanceX
       204: .line 1323
      StackMap locals:
      StackMap stack:
            fload 29 /* glyphRotation */
            f2d
            dconst_0
            invokestatic org.apache.batik.bridge.GlyphLayout.epsEQ:(DD)Z
            ifne 220
       205: .line 1324
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphTransform:(I)Ljava/awt/geom/AffineTransform;
            astore 30 /* glyphTransform */
        start local 30 // java.awt.geom.AffineTransform glyphTransform
       206: .line 1325
            aload 30 /* glyphTransform */
            ifnonnull 208
       207: .line 1326
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            astore 30 /* glyphTransform */
       208: .line 1331
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            fload 29 /* glyphRotation */
            f2d
            ldc 1.5707963267948966
            invokestatic org.apache.batik.bridge.GlyphLayout.epsEQ:(DD)Z
            ifeq 211
       209: .line 1332
            new java.awt.geom.AffineTransform
            dup
            fconst_0
            fconst_1
            ldc -1.0
            fconst_0
            fconst_0
            fconst_0
            invokespecial java.awt.geom.AffineTransform.<init>:(FFFFFF)V
            astore 31 /* rotAt */
        start local 31 // java.awt.geom.AffineTransform rotAt
       210: .line 1333
            goto 218
        end local 31 // java.awt.geom.AffineTransform rotAt
      StackMap locals:
      StackMap stack:
       211: fload 29 /* glyphRotation */
            f2d
            ldc 3.141592653589793
            invokestatic org.apache.batik.bridge.GlyphLayout.epsEQ:(DD)Z
            ifeq 214
       212: .line 1334
            new java.awt.geom.AffineTransform
            dup
            ldc -1.0
            fconst_0
            fconst_0
            ldc -1.0
            fconst_0
            fconst_0
            invokespecial java.awt.geom.AffineTransform.<init>:(FFFFFF)V
            astore 31 /* rotAt */
        start local 31 // java.awt.geom.AffineTransform rotAt
       213: .line 1335
            goto 218
        end local 31 // java.awt.geom.AffineTransform rotAt
      StackMap locals:
      StackMap stack:
       214: fload 29 /* glyphRotation */
            f2d
            ldc 4.71238898038469
            invokestatic org.apache.batik.bridge.GlyphLayout.epsEQ:(DD)Z
            ifeq 217
       215: .line 1336
            new java.awt.geom.AffineTransform
            dup
            fconst_0
            ldc -1.0
            fconst_1
            fconst_0
            fconst_0
            fconst_0
            invokespecial java.awt.geom.AffineTransform.<init>:(FFFFFF)V
            astore 31 /* rotAt */
        start local 31 // java.awt.geom.AffineTransform rotAt
       216: .line 1337
            goto 218
        end local 31 // java.awt.geom.AffineTransform rotAt
       217: .line 1338
      StackMap locals:
      StackMap stack:
            fload 29 /* glyphRotation */
            f2d
            invokestatic java.awt.geom.AffineTransform.getRotateInstance:(D)Ljava/awt/geom/AffineTransform;
            astore 31 /* rotAt */
        start local 31 // java.awt.geom.AffineTransform rotAt
       218: .line 1340
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            aload 30 /* glyphTransform */
            aload 31 /* rotAt */
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
       219: .line 1341
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 30 /* glyphTransform */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
        end local 31 // java.awt.geom.AffineTransform rotAt
        end local 30 // java.awt.geom.AffineTransform glyphTransform
       220: .line 1344
      StackMap locals:
      StackMap stack:
            iload 10 /* aciIndex */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
            iadd
            istore 10 /* aciIndex */
       221: .line 1345
            iload 10 /* aciIndex */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            if_icmplt 223
       222: .line 1346
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            iconst_1
            isub
            istore 10 /* aciIndex */
       223: .line 1347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            iload 10 /* aciIndex */
            iload 9 /* aciStart */
            iadd
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 11 /* ch */
       224: .line 1348
            iinc 8 /* i */ 1
        end local 29 // float glyphRotation
        end local 28 // float glyphOrientationRotation
        end local 27 // float oy
        end local 26 // float ox
        end local 25 // org.apache.batik.gvt.font.GVTGlyphMetrics gm
       225: .line 1096
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int
      StackMap stack:
            iload 8 /* i */
            iload 2 /* numGlyphs */
            if_icmplt 31
       226: .line 1351
            aload 23 /* pos */
            fload 21 /* curr_x_pos */
            putfield java.awt.geom.Point2D$Float.x:F
       227: .line 1352
            aload 23 /* pos */
            fload 22 /* curr_y_pos */
            putfield java.awt.geom.Point2D$Float.y:F
       228: .line 1353
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 23 /* pos */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
       229: .line 1355
            aload 0 /* this */
            new java.awt.geom.Point2D$Float
            dup
            fload 21 /* curr_x_pos */
            f2d
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            d2f
       230: .line 1356
            fload 22 /* curr_y_pos */
            f2d
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.offset:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            d2f
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
       231: .line 1355
            putfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
       232: .line 1361
            iload 24 /* hasArabicTransparent */
            ifeq 309
       233: .line 1362
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 11 /* ch */
       234: .line 1363
            iconst_0
            istore 10 /* aciIndex */
       235: .line 1364
            iconst_0
            istore 8 /* i */
       236: .line 1365
            iconst_m1
            istore 25 /* transparentStart */
        start local 25 // int transparentStart
       237: .line 1366
            goto 308
       238: .line 1367
      StackMap locals: int
      StackMap stack:
            iload 11 /* ch */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharTransparent:(C)Z
            ifeq 241
       239: .line 1368
            iload 25 /* transparentStart */
            iconst_m1
            if_icmpne 303
            iload 8 /* i */
            istore 25 /* transparentStart */
       240: .line 1369
            goto 303
       241: .line 1370
      StackMap locals:
      StackMap stack:
            iload 25 /* transparentStart */
            iconst_m1
            if_icmpeq 303
       242: .line 1371
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 26 /* loc */
        start local 26 // java.awt.geom.Point2D loc
       243: .line 1372
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
            astore 27 /* gm */
        start local 27 // org.apache.batik.gvt.font.GVTGlyphMetrics gm
       244: .line 1373
            iconst_0
            istore 28 /* tyS */
        start local 28 // int tyS
       245: iconst_0
            istore 29 /* txS */
        start local 29 // int txS
       246: .line 1374
            fconst_0
            fstore 30 /* advX */
        start local 30 // float advX
       247: fconst_0
            fstore 31 /* advY */
        start local 31 // float advY
       248: .line 1375
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 258
       249: .line 1376
            iload 6 /* glyphOrientationAuto */
            ifne 251
       250: .line 1377
            iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 252
       251: .line 1378
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int int java.awt.geom.Point2D org.apache.batik.gvt.font.GVTGlyphMetrics int int float float
      StackMap stack:
            aload 27 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 31 /* advY */
            goto 265
       252: .line 1379
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            sipush 270
            if_icmpne 254
       253: .line 1380
            fconst_0
            fstore 31 /* advY */
            goto 265
       254: .line 1381
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            ifne 256
       255: .line 1382
            aload 27 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advX */
            goto 265
       256: .line 1384
      StackMap locals:
      StackMap stack:
            aload 27 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fneg
            fstore 30 /* advX */
       257: .line 1385
            goto 265
       258: .line 1386
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            ifne 260
       259: .line 1387
            aload 27 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 30 /* advX */
            goto 265
       260: .line 1388
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 262
       261: .line 1389
            aload 27 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 31 /* advY */
            goto 265
       262: .line 1390
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 264
       263: .line 1391
            fconst_0
            fstore 30 /* advX */
            goto 265
       264: .line 1393
      StackMap locals:
      StackMap stack:
            aload 27 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fneg
            fstore 31 /* advY */
       265: .line 1395
      StackMap locals:
      StackMap stack:
            aload 26 /* loc */
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 30 /* advX */
            f2d
            dadd
            d2f
            fstore 32 /* baseX */
        start local 32 // float baseX
       266: .line 1396
            aload 26 /* loc */
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 31 /* advY */
            f2d
            dadd
            d2f
            fstore 33 /* baseY */
        start local 33 // float baseY
       267: .line 1397
            iload 25 /* transparentStart */
            istore 34 /* j */
        start local 34 // int j
       268: goto 301
       269: .line 1398
      StackMap locals: float float int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 34 /* j */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 35 /* locT */
        start local 35 // java.awt.geom.Point2D locT
       270: .line 1399
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 34 /* j */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
            astore 36 /* gmT */
        start local 36 // org.apache.batik.gvt.font.GVTGlyphMetrics gmT
       271: .line 1400
            aload 35 /* locT */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 37 /* locX */
        start local 37 // float locX
       272: .line 1401
            aload 35 /* locT */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 38 /* locY */
        start local 38 // float locY
       273: .line 1402
            fconst_0
            fstore 39 /* tx */
        start local 39 // float tx
       274: fconst_0
            fstore 40 /* ty */
        start local 40 // float ty
       275: .line 1403
            aload 36 /* gmT */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
            fstore 41 /* advT */
        start local 41 // float advT
       276: .line 1404
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 286
       277: .line 1405
            iload 6 /* glyphOrientationAuto */
            ifne 279
       278: .line 1406
            iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 280
       279: .line 1407
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int int java.awt.geom.Point2D org.apache.batik.gvt.font.GVTGlyphMetrics int int float float float float int java.awt.geom.Point2D org.apache.batik.gvt.font.GVTGlyphMetrics float float float float float
      StackMap stack:
            fload 33 /* baseY */
            fload 41 /* advT */
            fsub
            fstore 38 /* locY */
            goto 293
       280: .line 1408
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            sipush 270
            if_icmpne 282
       281: .line 1409
            fload 33 /* baseY */
            fload 41 /* advT */
            fadd
            fstore 38 /* locY */
            goto 293
       282: .line 1410
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            ifne 284
       283: .line 1411
            fload 32 /* baseX */
            fload 41 /* advT */
            fsub
            fstore 37 /* locX */
            goto 293
       284: .line 1413
      StackMap locals:
      StackMap stack:
            fload 32 /* baseX */
            fload 41 /* advT */
            fadd
            fstore 37 /* locX */
       285: .line 1414
            goto 293
       286: .line 1415
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            ifne 288
       287: .line 1416
            fload 32 /* baseX */
            fload 41 /* advT */
            fsub
            fstore 37 /* locX */
            goto 293
       288: .line 1417
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 290
       289: .line 1418
            fload 33 /* baseY */
            fload 41 /* advT */
            fsub
            fstore 38 /* locY */
            goto 293
       290: .line 1419
      StackMap locals:
      StackMap stack:
            iload 7 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 292
       291: .line 1420
            fload 32 /* baseX */
            fload 41 /* advT */
            fadd
            fstore 37 /* locX */
            goto 293
       292: .line 1422
      StackMap locals:
      StackMap stack:
            fload 33 /* baseY */
            fload 41 /* advT */
            fadd
            fstore 38 /* locY */
       293: .line 1425
      StackMap locals:
      StackMap stack:
            new java.awt.geom.Point2D$Double
            dup
            fload 37 /* locX */
            f2d
            fload 38 /* locY */
            f2d
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            astore 35 /* locT */
       294: .line 1426
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 34 /* j */
            aload 35 /* locT */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
       295: .line 1427
            iload 29 /* txS */
            ifne 296
            iload 28 /* tyS */
            ifeq 300
       296: .line 1430
      StackMap locals:
      StackMap stack:
            fload 39 /* tx */
            f2d
            fload 40 /* ty */
            f2d
       297: .line 1429
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
            astore 42 /* at */
        start local 42 // java.awt.geom.AffineTransform at
       298: .line 1431
            aload 42 /* at */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphTransform:(I)Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
       299: .line 1432
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 42 /* at */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
        end local 42 // java.awt.geom.AffineTransform at
        end local 41 // float advT
        end local 40 // float ty
        end local 39 // float tx
        end local 38 // float locY
        end local 37 // float locX
        end local 36 // org.apache.batik.gvt.font.GVTGlyphMetrics gmT
        end local 35 // java.awt.geom.Point2D locT
       300: .line 1397
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int int java.awt.geom.Point2D org.apache.batik.gvt.font.GVTGlyphMetrics int int float float float float int
      StackMap stack:
            iinc 34 /* j */ 1
      StackMap locals:
      StackMap stack:
       301: iload 34 /* j */
            iload 8 /* i */
            if_icmplt 269
        end local 34 // int j
       302: .line 1435
            iconst_m1
            istore 25 /* transparentStart */
        end local 33 // float baseY
        end local 32 // float baseX
        end local 31 // float advY
        end local 30 // float advX
        end local 29 // int txS
        end local 28 // int tyS
        end local 27 // org.apache.batik.gvt.font.GVTGlyphMetrics gm
        end local 26 // java.awt.geom.Point2D loc
       303: .line 1438
      StackMap locals: org.apache.batik.bridge.GlyphLayout float int float[] float float int int int int int int int java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Float java.lang.Object float float float float java.awt.geom.Point2D$Float int int
      StackMap stack:
            iload 10 /* aciIndex */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
            iadd
            istore 10 /* aciIndex */
       304: .line 1439
            iload 10 /* aciIndex */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            if_icmplt 306
       305: .line 1440
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            iconst_1
            isub
            istore 10 /* aciIndex */
       306: .line 1441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            iload 10 /* aciIndex */
            iload 9 /* aciStart */
            iadd
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 11 /* ch */
       307: .line 1442
            iinc 8 /* i */ 1
       308: .line 1366
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 2 /* numGlyphs */
            if_icmplt 238
        end local 25 // int transparentStart
       309: .line 1448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
       310: .line 1449
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
       311: .line 1450
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.GlyphLayout.glyphAdvances:[F
       312: .line 1451
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
       313: .line 1452
            return
        end local 24 // boolean hasArabicTransparent
        end local 23 // java.awt.geom.Point2D$Float pos
        end local 22 // float curr_y_pos
        end local 21 // float curr_x_pos
        end local 20 // float shift_y_pos
        end local 19 // float shift_x_pos
        end local 18 // java.lang.Object baseline
        end local 17 // java.lang.Float rotation
        end local 16 // java.lang.Float dy
        end local 15 // java.lang.Float dx
        end local 14 // java.lang.Float y
        end local 13 // java.lang.Float x
        end local 12 // int runLimit
        end local 11 // char ch
        end local 10 // int aciIndex
        end local 9 // int aciStart
        end local 8 // int i
        end local 7 // int glyphOrientationAngle
        end local 6 // boolean glyphOrientationAuto
        end local 5 // float horizontalFirstOffset
        end local 4 // float verticalFirstOffset
        end local 3 // float[] gp
        end local 2 // int numGlyphs
        end local 1 // float baselineAscent
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0  314     0                      this  Lorg/apache/batik/bridge/GlyphLayout;
            5  314     1            baselineAscent  F
            6  314     2                 numGlyphs  I
            7  314     3                        gp  [F
            8  314     4       verticalFirstOffset  F
            9  314     5     horizontalFirstOffset  F
           10  314     6      glyphOrientationAuto  Z
           11  314     7     glyphOrientationAngle  I
           14  314     8                         i  I
           15  314     9                  aciStart  I
           16  314    10                  aciIndex  I
           17  314    11                        ch  C
           18  314    12                  runLimit  I
           19  314    13                         x  Ljava/lang/Float;
           20  314    14                         y  Ljava/lang/Float;
           21  314    15                        dx  Ljava/lang/Float;
           22  314    16                        dy  Ljava/lang/Float;
           23  314    17                  rotation  Ljava/lang/Float;
           24  314    18                  baseline  Ljava/lang/Object;
           25  314    19               shift_x_pos  F
           26  314    20               shift_y_pos  F
           27  314    21                curr_x_pos  F
           28  314    22                curr_y_pos  F
           29  314    23                       pos  Ljava/awt/geom/Point2D$Float;
           30  314    24      hasArabicTransparent  Z
           40  225    25                        gm  Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
           47   50    26                      advY  F
           48   50    27                       asc  F
           49   50    28                       dsc  F
           53   56    26                      advY  F
           54   56    27                       asc  F
           55   56    28                       dsc  F
           68   71    26                      advY  F
           69   71    27                       asc  F
           70   71    28                       dsc  F
           72  225    26                        ox  F
           73  225    27                        oy  F
           74  225    28  glyphOrientationRotation  F
           75  225    29             glyphRotation  F
          112  161    30            baselineAdjust  F
          134  137    31               glyphBounds  Ljava/awt/geom/Rectangle2D;
          140  154    31               glyphBounds  Ljava/awt/geom/Rectangle2D;
          169  189    30                  advanceY  F
          191  204    30                  advanceX  F
          206  220    30            glyphTransform  Ljava/awt/geom/AffineTransform;
          210  211    31                     rotAt  Ljava/awt/geom/AffineTransform;
          213  214    31                     rotAt  Ljava/awt/geom/AffineTransform;
          216  217    31                     rotAt  Ljava/awt/geom/AffineTransform;
          218  220    31                     rotAt  Ljava/awt/geom/AffineTransform;
          237  309    25          transparentStart  I
          243  303    26                       loc  Ljava/awt/geom/Point2D;
          244  303    27                        gm  Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
          245  303    28                       tyS  I
          246  303    29                       txS  I
          247  303    30                      advX  F
          248  303    31                      advY  F
          266  303    32                     baseX  F
          267  303    33                     baseY  F
          268  302    34                         j  I
          270  300    35                      locT  Ljava/awt/geom/Point2D;
          271  300    36                       gmT  Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
          272  300    37                      locX  F
          273  300    38                      locY  F
          274  300    39                        tx  F
          275  300    40                        ty  F
          276  300    41                      advT  F
          298  300    42                        at  Ljava/awt/geom/AffineTransform;

  protected void adjustTextSpacing();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1459
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
            ifeq 2
         1: .line 1461
            return
         2: .line 1463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
            ifne 4
         3: .line 1465
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.doExplicitGlyphLayout:()V
         4: .line 1467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         5: .line 1468
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
         6: .line 1469
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.CUSTOM_SPACING:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         7: .line 1468
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* customSpacing */
        start local 1 // java.lang.Boolean customSpacing
         8: .line 1470
            aload 1 /* customSpacing */
            ifnull 21
            aload 1 /* customSpacing */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 21
         9: .line 1471
            aload 0 /* this */
            aload 0 /* this */
        10: .line 1472
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
        11: .line 1473
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.KERNING:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        12: .line 1472
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
        13: .line 1474
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
        14: .line 1475
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.LETTER_SPACING:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        15: .line 1474
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
        16: .line 1476
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
        17: .line 1477
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WORD_SPACING:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        18: .line 1476
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
        19: .line 1471
            invokevirtual org.apache.batik.bridge.GlyphLayout.doSpacing:(Ljava/lang/Float;Ljava/lang/Float;Ljava/lang/Float;)Ljava/awt/geom/Point2D;
            putfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
        20: .line 1479
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
        21: .line 1484
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.adjSpacing:Z
            ifeq 22
            iconst_0
            goto 23
      StackMap locals:
      StackMap stack: org.apache.batik.bridge.GlyphLayout
        22: iconst_1
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Boolean
      StackMap stack: org.apache.batik.bridge.GlyphLayout int
        23: invokevirtual org.apache.batik.bridge.GlyphLayout.applyStretchTransform:(Z)V
        24: .line 1486
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
        25: .line 1487
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
        26: .line 1488
            return
        end local 1 // java.lang.Boolean customSpacing
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lorg/apache/batik/bridge/GlyphLayout;
            8   27     1  customSpacing  Ljava/lang/Boolean;

  protected java.awt.geom.Point2D doSpacing(java.lang.Float, java.lang.Float, java.lang.Float);
    descriptor: (Ljava/lang/Float;Ljava/lang/Float;Ljava/lang/Float;)Ljava/awt/geom/Point2D;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=29, args_size=4
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // java.lang.Float kern
        start local 2 // java.lang.Float letterSpacing
        start local 3 // java.lang.Float wordSpacing
         0: .line 1501
            iconst_1
            istore 4 /* autoKern */
        start local 4 // boolean autoKern
         1: .line 1502
            iconst_0
            istore 5 /* doWordSpacing */
        start local 5 // boolean doWordSpacing
         2: .line 1503
            iconst_0
            istore 6 /* doLetterSpacing */
        start local 6 // boolean doLetterSpacing
         3: .line 1504
            fconst_0
            fstore 7 /* kernVal */
        start local 7 // float kernVal
         4: .line 1505
            fconst_0
            fstore 8 /* letterSpacingVal */
        start local 8 // float letterSpacingVal
         5: .line 1507
            aload 1 /* kern */
            ifnull 8
            aload 1 /* kern */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 8
         6: .line 1508
            aload 1 /* kern */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 7 /* kernVal */
         7: .line 1509
            iconst_0
            istore 4 /* autoKern */
         8: .line 1511
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float
      StackMap stack:
            aload 2 /* letterSpacing */
            ifnull 11
            aload 2 /* letterSpacing */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 11
         9: .line 1512
            aload 2 /* letterSpacing */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 8 /* letterSpacingVal */
        10: .line 1513
            iconst_1
            istore 6 /* doLetterSpacing */
        11: .line 1515
      StackMap locals:
      StackMap stack:
            aload 3 /* wordSpacing */
            ifnull 13
            aload 3 /* wordSpacing */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 13
        12: .line 1516
            iconst_1
            istore 5 /* doWordSpacing */
        13: .line 1519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 9 /* numGlyphs */
        start local 9 // int numGlyphs
        14: .line 1521
            fconst_0
            fstore 10 /* dx */
        start local 10 // float dx
        15: .line 1522
            fconst_0
            fstore 11 /* dy */
        start local 11 // float dy
        16: .line 1523
            iload 9 /* numGlyphs */
            iconst_1
            iadd
            anewarray java.awt.geom.Point2D
            astore 12 /* newPositions */
        start local 12 // java.awt.geom.Point2D[] newPositions
        17: .line 1524
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 13 /* prevPos */
        start local 13 // java.awt.geom.Point2D prevPos
        18: .line 1525
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphCode:(I)I
            istore 14 /* prevCode */
        start local 14 // int prevCode
        19: .line 1526
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 15 /* x */
        start local 15 // float x
        20: .line 1527
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 16 /* y */
        start local 16 // float y
        21: .line 1530
            new java.awt.geom.Point2D$Double
            dup
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* numGlyphs */
            iconst_1
            isub
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 15 /* x */
            f2d
            dsub
            dsub
        22: .line 1531
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* numGlyphs */
            iconst_1
            isub
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 16 /* y */
            f2d
            dsub
            dsub
        23: .line 1530
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
        24: .line 1529
            astore 17 /* lastCharAdvance */
        start local 17 // java.awt.geom.Point2D lastCharAdvance
        25: .line 1534
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getFont:()Lorg/apache/batik/gvt/font/GVTFont;
            astore 18 /* font */
        start local 18 // org.apache.batik.gvt.font.GVTFont font
        26: .line 1536
            iload 9 /* numGlyphs */
            iconst_1
            if_icmple 62
            iload 6 /* doLetterSpacing */
            ifne 27
            iload 4 /* autoKern */
            ifne 62
        27: .line 1537
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float int float float java.awt.geom.Point2D[] java.awt.geom.Point2D int float float java.awt.geom.Point2D org.apache.batik.gvt.font.GVTFont
      StackMap stack:
            iconst_1
            istore 19 /* i */
        start local 19 // int i
        28: goto 55
        29: .line 1538
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 20 /* gpos */
        start local 20 // java.awt.geom.Point2D gpos
        30: .line 1540
            iload 19 /* i */
            iload 9 /* numGlyphs */
            if_icmpne 31
            iconst_m1
            goto 32
      StackMap locals: java.awt.geom.Point2D
      StackMap stack:
        31: aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphCode:(I)I
      StackMap locals:
      StackMap stack: int
        32: istore 21 /* currCode */
        start local 21 // int currCode
        33: .line 1541
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fsub
            fstore 10 /* dx */
        34: .line 1542
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fsub
            fstore 11 /* dy */
        35: .line 1543
            iload 4 /* autoKern */
            ifeq 39
        36: .line 1544
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 37
            fload 11 /* dy */
            fload 8 /* letterSpacingVal */
            fadd
            fstore 11 /* dy */
            goto 49
        37: .line 1545
      StackMap locals: int
      StackMap stack:
            fload 10 /* dx */
            fload 8 /* letterSpacingVal */
            fadd
            fstore 10 /* dx */
        38: .line 1546
            goto 49
        39: .line 1549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 45
        40: .line 1550
            fconst_0
            fstore 22 /* vKern */
        start local 22 // float vKern
        41: .line 1551
            iload 21 /* currCode */
            iconst_m1
            if_icmpeq 43
        42: .line 1552
            aload 18 /* font */
            iload 14 /* prevCode */
            iload 21 /* currCode */
            invokeinterface org.apache.batik.gvt.font.GVTFont.getVKern:(II)F
            fstore 22 /* vKern */
        43: .line 1553
      StackMap locals: float
      StackMap stack:
            fload 11 /* dy */
            fload 7 /* kernVal */
            fload 22 /* vKern */
            fsub
            fload 8 /* letterSpacingVal */
            fadd
            fadd
            fstore 11 /* dy */
        end local 22 // float vKern
        44: .line 1554
            goto 49
        45: .line 1555
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 22 /* hKern */
        start local 22 // float hKern
        46: .line 1556
            iload 21 /* currCode */
            iconst_m1
            if_icmpeq 48
        47: .line 1557
            aload 18 /* font */
            iload 14 /* prevCode */
            iload 21 /* currCode */
            invokeinterface org.apache.batik.gvt.font.GVTFont.getHKern:(II)F
            fstore 22 /* hKern */
        48: .line 1558
      StackMap locals: float
      StackMap stack:
            fload 10 /* dx */
            fload 7 /* kernVal */
            fload 22 /* hKern */
            fsub
            fload 8 /* letterSpacingVal */
            fadd
            fadd
            fstore 10 /* dx */
        end local 22 // float hKern
        49: .line 1561
      StackMap locals:
      StackMap stack:
            fload 15 /* x */
            fload 10 /* dx */
            fadd
            fstore 15 /* x */
        50: .line 1562
            fload 16 /* y */
            fload 11 /* dy */
            fadd
            fstore 16 /* y */
        51: .line 1563
            aload 12 /* newPositions */
            iload 19 /* i */
            new java.awt.geom.Point2D$Float
            dup
            fload 15 /* x */
            fload 16 /* y */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            aastore
        52: .line 1564
            aload 20 /* gpos */
            astore 13 /* prevPos */
        53: .line 1565
            iload 21 /* currCode */
            istore 14 /* prevCode */
        end local 21 // int currCode
        end local 20 // java.awt.geom.Point2D gpos
        54: .line 1537
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 19 /* i */
            iload 9 /* numGlyphs */
            if_icmple 29
        end local 19 // int i
        56: .line 1568
            iconst_1
            istore 19 /* i */
        start local 19 // int i
        57: goto 61
        58: .line 1569
      StackMap locals:
      StackMap stack:
            aload 12 /* newPositions */
            iload 19 /* i */
            aaload
            ifnull 60
        59: .line 1570
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            aload 12 /* newPositions */
            iload 19 /* i */
            aaload
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
        60: .line 1568
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 19 /* i */
            iload 9 /* numGlyphs */
            if_icmple 58
        end local 19 // int i
        62: .line 1576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 68
        63: .line 1577
            aload 17 /* lastCharAdvance */
        64: .line 1578
            aload 17 /* lastCharAdvance */
            invokevirtual java.awt.geom.Point2D.getX:()D
        65: .line 1579
            aload 17 /* lastCharAdvance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 7 /* kernVal */
            f2d
            dadd
            fload 8 /* letterSpacingVal */
            f2d
            dadd
        66: .line 1577
            invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
        67: .line 1580
            goto 72
        68: .line 1581
      StackMap locals:
      StackMap stack:
            aload 17 /* lastCharAdvance */
        69: .line 1582
            aload 17 /* lastCharAdvance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 7 /* kernVal */
            f2d
            dadd
            fload 8 /* letterSpacingVal */
            f2d
            dadd
        70: .line 1583
            aload 17 /* lastCharAdvance */
            invokevirtual java.awt.geom.Point2D.getY:()D
        71: .line 1581
            invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
        72: .line 1587
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 10 /* dx */
        73: .line 1588
            fconst_0
            fstore 11 /* dy */
        74: .line 1589
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 13 /* prevPos */
        75: .line 1590
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 15 /* x */
        76: .line 1591
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 16 /* y */
        77: .line 1593
            iload 9 /* numGlyphs */
            iconst_1
            if_icmple 135
            iload 5 /* doWordSpacing */
            ifeq 135
        78: .line 1594
            iconst_1
            istore 19 /* i */
        start local 19 // int i
        79: goto 121
        80: .line 1595
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 20 /* gpos */
        start local 20 // java.awt.geom.Point2D gpos
        81: .line 1596
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fsub
            fstore 10 /* dx */
        82: .line 1597
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fsub
            fstore 11 /* dy */
        83: .line 1598
            iconst_0
            istore 21 /* inWS */
        start local 21 // boolean inWS
        84: .line 1600
            iload 19 /* i */
            istore 22 /* beginWS */
        start local 22 // int beginWS
        85: .line 1601
            iload 19 /* i */
            istore 23 /* endWS */
        start local 23 // int endWS
        86: .line 1602
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
            astore 24 /* gm */
        start local 24 // org.apache.batik.gvt.font.GVTGlyphMetrics gm
        87: .line 1605
            goto 95
        88: .line 1606
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float int float float java.awt.geom.Point2D[] java.awt.geom.Point2D int float float java.awt.geom.Point2D org.apache.batik.gvt.font.GVTFont int java.awt.geom.Point2D int int int org.apache.batik.gvt.font.GVTGlyphMetrics
      StackMap stack:
            iload 21 /* inWS */
            ifne 89
            iconst_1
            istore 21 /* inWS */
        89: .line 1607
      StackMap locals:
      StackMap stack:
            iload 19 /* i */
            iload 9 /* numGlyphs */
            iconst_1
            isub
            if_icmpne 91
        90: .line 1609
            goto 96
        91: .line 1611
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
        92: .line 1612
            iinc 23 /* endWS */ 1
        93: .line 1613
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 20 /* gpos */
        94: .line 1614
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 19 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
            astore 24 /* gm */
        95: .line 1605
      StackMap locals:
      StackMap stack:
            aload 24 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            ldc 0.01
            dcmpg
            iflt 88
            aload 24 /* gm */
            invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.isWhitespace:()Z
            ifne 88
        96: .line 1617
      StackMap locals:
      StackMap stack:
            iload 21 /* inWS */
            ifeq 114
        97: .line 1618
            iload 23 /* endWS */
            iload 22 /* beginWS */
            isub
            istore 25 /* nWS */
        start local 25 // int nWS
        98: .line 1619
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 26 /* px */
        start local 26 // float px
        99: .line 1620
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 27 /* py */
        start local 27 // float py
       100: .line 1621
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 26 /* px */
            f2d
            dsub
            d2f
            iload 25 /* nWS */
            iconst_1
            iadd
            i2f
            fdiv
            fstore 10 /* dx */
       101: .line 1622
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 27 /* py */
            f2d
            dsub
            d2f
            iload 25 /* nWS */
            iconst_1
            iadd
            i2f
            fdiv
            fstore 11 /* dy */
       102: .line 1623
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.vertical:Z
            ifeq 105
       103: .line 1624
            fload 11 /* dy */
            aload 3 /* wordSpacing */
            invokevirtual java.lang.Float.floatValue:()F
            iload 25 /* nWS */
            iconst_1
            iadd
            i2f
            fdiv
            fadd
            fstore 11 /* dy */
       104: .line 1625
            goto 106
       105: .line 1626
      StackMap locals: int float float
      StackMap stack:
            fload 10 /* dx */
            aload 3 /* wordSpacing */
            invokevirtual java.lang.Float.floatValue:()F
            iload 25 /* nWS */
            iconst_1
            iadd
            i2f
            fdiv
            fadd
            fstore 10 /* dx */
       106: .line 1628
      StackMap locals:
      StackMap stack:
            iload 22 /* beginWS */
            istore 28 /* j */
        start local 28 // int j
       107: goto 112
       108: .line 1629
      StackMap locals: int
      StackMap stack:
            fload 15 /* x */
            fload 10 /* dx */
            fadd
            fstore 15 /* x */
       109: .line 1630
            fload 16 /* y */
            fload 11 /* dy */
            fadd
            fstore 16 /* y */
       110: .line 1631
            aload 12 /* newPositions */
            iload 28 /* j */
            new java.awt.geom.Point2D$Float
            dup
            fload 15 /* x */
            fload 16 /* y */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            aastore
       111: .line 1628
            iinc 28 /* j */ 1
      StackMap locals:
      StackMap stack:
       112: iload 28 /* j */
            iload 23 /* endWS */
            if_icmple 108
        end local 28 // int j
        end local 27 // float py
        end local 26 // float px
        end local 25 // int nWS
       113: .line 1633
            goto 119
       114: .line 1634
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float int float float java.awt.geom.Point2D[] java.awt.geom.Point2D int float float java.awt.geom.Point2D org.apache.batik.gvt.font.GVTFont int java.awt.geom.Point2D int int int org.apache.batik.gvt.font.GVTGlyphMetrics
      StackMap stack:
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            d2f
            fstore 10 /* dx */
       115: .line 1635
            aload 20 /* gpos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            d2f
            fstore 11 /* dy */
       116: .line 1636
            fload 15 /* x */
            fload 10 /* dx */
            fadd
            fstore 15 /* x */
       117: .line 1637
            fload 16 /* y */
            fload 11 /* dy */
            fadd
            fstore 16 /* y */
       118: .line 1638
            aload 12 /* newPositions */
            iload 19 /* i */
            new java.awt.geom.Point2D$Float
            dup
            fload 15 /* x */
            fload 16 /* y */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            aastore
       119: .line 1640
      StackMap locals:
      StackMap stack:
            aload 20 /* gpos */
            astore 13 /* prevPos */
        end local 24 // org.apache.batik.gvt.font.GVTGlyphMetrics gm
        end local 23 // int endWS
        end local 22 // int beginWS
        end local 21 // boolean inWS
        end local 20 // java.awt.geom.Point2D gpos
       120: .line 1594
            iinc 19 /* i */ 1
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float int float float java.awt.geom.Point2D[] java.awt.geom.Point2D int float float java.awt.geom.Point2D org.apache.batik.gvt.font.GVTFont int
      StackMap stack:
       121: iload 19 /* i */
            iload 9 /* numGlyphs */
            if_icmplt 80
        end local 19 // int i
       122: .line 1642
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* numGlyphs */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 19 /* gPos */
        start local 19 // java.awt.geom.Point2D gPos
       123: .line 1643
            fload 15 /* x */
            aload 19 /* gPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            d2f
            fadd
            fstore 15 /* x */
       124: .line 1644
            fload 16 /* y */
            aload 19 /* gPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 13 /* prevPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dsub
            d2f
            fadd
            fstore 16 /* y */
       125: .line 1645
            aload 12 /* newPositions */
            iload 9 /* numGlyphs */
            new java.awt.geom.Point2D$Float
            dup
            fload 15 /* x */
            fload 16 /* y */
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            aastore
       126: .line 1647
            iconst_1
            istore 20 /* i */
        start local 20 // int i
       127: goto 131
       128: .line 1648
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float int float float java.awt.geom.Point2D[] java.awt.geom.Point2D int float float java.awt.geom.Point2D org.apache.batik.gvt.font.GVTFont java.awt.geom.Point2D int
      StackMap stack:
            aload 12 /* newPositions */
            iload 20 /* i */
            aaload
            ifnull 130
       129: .line 1649
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 20 /* i */
            aload 12 /* newPositions */
            iload 20 /* i */
            aaload
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
       130: .line 1647
      StackMap locals:
      StackMap stack:
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
       131: iload 20 /* i */
            iload 9 /* numGlyphs */
            if_icmple 128
        end local 20 // int i
        end local 19 // java.awt.geom.Point2D gPos
        end local 18 // org.apache.batik.gvt.font.GVTFont font
       132: .line 1654
            goto 135
      StackMap locals: org.apache.batik.bridge.GlyphLayout java.lang.Float java.lang.Float java.lang.Float int int int float float int float float java.awt.geom.Point2D[] java.awt.geom.Point2D int float float java.awt.geom.Point2D
      StackMap stack: java.lang.Exception
       133: astore 18 /* e */
        start local 18 // java.lang.Exception e
       134: .line 1655
            aload 18 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 18 // java.lang.Exception e
       135: .line 1659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* numGlyphs */
            iconst_1
            isub
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
       136: .line 1660
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
       137: .line 1659
            dsub
            dstore 18 /* advX */
        start local 18 // double advX
       138: .line 1661
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 9 /* numGlyphs */
            iconst_1
            isub
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
       139: .line 1662
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
       140: .line 1661
            dsub
            dstore 20 /* advY */
        start local 20 // double advY
       141: .line 1663
            new java.awt.geom.Point2D$Double
            dup
            dload 18 /* advX */
            aload 17 /* lastCharAdvance */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dadd
       142: .line 1664
            dload 20 /* advY */
            aload 17 /* lastCharAdvance */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dadd
       143: .line 1663
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            astore 22 /* newAdvance */
        start local 22 // java.awt.geom.Point2D newAdvance
       144: .line 1665
            aload 22 /* newAdvance */
            areturn
        end local 22 // java.awt.geom.Point2D newAdvance
        end local 20 // double advY
        end local 18 // double advX
        end local 17 // java.awt.geom.Point2D lastCharAdvance
        end local 16 // float y
        end local 15 // float x
        end local 14 // int prevCode
        end local 13 // java.awt.geom.Point2D prevPos
        end local 12 // java.awt.geom.Point2D[] newPositions
        end local 11 // float dy
        end local 10 // float dx
        end local 9 // int numGlyphs
        end local 8 // float letterSpacingVal
        end local 7 // float kernVal
        end local 6 // boolean doLetterSpacing
        end local 5 // boolean doWordSpacing
        end local 4 // boolean autoKern
        end local 3 // java.lang.Float wordSpacing
        end local 2 // java.lang.Float letterSpacing
        end local 1 // java.lang.Float kern
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  145     0              this  Lorg/apache/batik/bridge/GlyphLayout;
            0  145     1              kern  Ljava/lang/Float;
            0  145     2     letterSpacing  Ljava/lang/Float;
            0  145     3       wordSpacing  Ljava/lang/Float;
            1  145     4          autoKern  Z
            2  145     5     doWordSpacing  Z
            3  145     6   doLetterSpacing  Z
            4  145     7           kernVal  F
            5  145     8  letterSpacingVal  F
           14  145     9         numGlyphs  I
           15  145    10                dx  F
           16  145    11                dy  F
           17  145    12      newPositions  [Ljava/awt/geom/Point2D;
           18  145    13           prevPos  Ljava/awt/geom/Point2D;
           19  145    14          prevCode  I
           20  145    15                 x  F
           21  145    16                 y  F
           25  145    17   lastCharAdvance  Ljava/awt/geom/Point2D;
           26  132    18              font  Lorg/apache/batik/gvt/font/GVTFont;
           28   56    19                 i  I
           30   54    20              gpos  Ljava/awt/geom/Point2D;
           33   54    21          currCode  I
           41   44    22             vKern  F
           46   49    22             hKern  F
           57   62    19                 i  I
           79  122    19                 i  I
           81  120    20              gpos  Ljava/awt/geom/Point2D;
           84  120    21              inWS  Z
           85  120    22           beginWS  I
           86  120    23             endWS  I
           87  120    24                gm  Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
           98  113    25               nWS  I
           99  113    26                px  F
          100  113    27                py  F
          107  113    28                 j  I
          123  132    19              gPos  Ljava/awt/geom/Point2D;
          127  132    20                 i  I
          134  135    18                 e  Ljava/lang/Exception;
          138  145    18              advX  D
          141  145    20              advY  D
          144  145    22        newAdvance  Ljava/awt/geom/Point2D;
      Exception table:
        from    to  target  type
          25   132     133  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      kern           
      letterSpacing  
      wordSpacing    

  protected void applyStretchTransform(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=12, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // boolean stretchGlyphs
         0: .line 1675
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.xScale:F
            fconst_1
            fcmpl
            ifne 2
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.yScale:F
            fconst_1
            fcmpl
            ifne 2
         1: .line 1676
            return
         2: .line 1679
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.xScale:F
            f2d
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.yScale:F
            f2d
            invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
         3: .line 1678
            astore 2 /* scaleAT */
        start local 2 // java.awt.geom.AffineTransform scaleAT
         4: .line 1681
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 3 /* numGlyphs */
        start local 3 // int numGlyphs
         5: .line 1682
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            iload 3 /* numGlyphs */
            iconst_1
            iadd
            aconst_null
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPositions:(II[F)[F
            astore 4 /* gp */
        start local 4 // float[] gp
         6: .line 1684
            aload 4 /* gp */
            iconst_0
            faload
            fstore 5 /* initX */
        start local 5 // float initX
         7: .line 1685
            aload 4 /* gp */
            iconst_1
            faload
            fstore 6 /* initY */
        start local 6 // float initY
         8: .line 1686
            new java.awt.geom.Point2D$Float
            dup
            invokespecial java.awt.geom.Point2D$Float.<init>:()V
            astore 7 /* pos */
        start local 7 // java.awt.geom.Point2D$Float pos
         9: .line 1687
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        10: goto 24
        11: .line 1688
      StackMap locals: org.apache.batik.bridge.GlyphLayout int java.awt.geom.AffineTransform int float[] float float java.awt.geom.Point2D$Float int
      StackMap stack:
            aload 4 /* gp */
            iconst_2
            iload 8 /* i */
            imul
            faload
            fload 5 /* initX */
            fsub
            fstore 9 /* dx */
        start local 9 // float dx
        12: .line 1689
            aload 4 /* gp */
            iconst_2
            iload 8 /* i */
            imul
            iconst_1
            iadd
            faload
            fload 6 /* initY */
            fsub
            fstore 10 /* dy */
        start local 10 // float dy
        13: .line 1690
            aload 7 /* pos */
            fload 5 /* initX */
            fload 9 /* dx */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.xScale:F
            fmul
            fadd
            putfield java.awt.geom.Point2D$Float.x:F
        14: .line 1691
            aload 7 /* pos */
            fload 6 /* initY */
            fload 10 /* dy */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.yScale:F
            fmul
            fadd
            putfield java.awt.geom.Point2D$Float.y:F
        15: .line 1692
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 7 /* pos */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
        16: .line 1694
            iload 1 /* stretchGlyphs */
            ifeq 23
            iload 8 /* i */
            iload 3 /* numGlyphs */
            if_icmpeq 23
        17: .line 1696
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphTransform:(I)Ljava/awt/geom/AffineTransform;
            astore 11 /* glyphTransform */
        start local 11 // java.awt.geom.AffineTransform glyphTransform
        18: .line 1697
            aload 11 /* glyphTransform */
            ifnull 22
        19: .line 1698
            aload 11 /* glyphTransform */
            aload 2 /* scaleAT */
            invokevirtual java.awt.geom.AffineTransform.preConcatenate:(Ljava/awt/geom/AffineTransform;)V
        20: .line 1699
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 11 /* glyphTransform */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
        21: .line 1700
            goto 23
        22: .line 1701
      StackMap locals: float float java.awt.geom.AffineTransform
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 8 /* i */
            aload 2 /* scaleAT */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
        end local 11 // java.awt.geom.AffineTransform glyphTransform
        end local 10 // float dy
        end local 9 // float dx
        23: .line 1687
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* i */
            iload 3 /* numGlyphs */
            if_icmple 11
        end local 8 // int i
        25: .line 1706
            aload 0 /* this */
            new java.awt.geom.Point2D$Float
            dup
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.xScale:F
            f2d
            dmul
            d2f
        26: .line 1707
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.yScale:F
            f2d
            dmul
            d2f
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
        27: .line 1706
            putfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
        28: .line 1709
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
        29: .line 1710
            return
        end local 7 // java.awt.geom.Point2D$Float pos
        end local 6 // float initY
        end local 5 // float initX
        end local 4 // float[] gp
        end local 3 // int numGlyphs
        end local 2 // java.awt.geom.AffineTransform scaleAT
        end local 1 // boolean stretchGlyphs
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0            this  Lorg/apache/batik/bridge/GlyphLayout;
            0   30     1   stretchGlyphs  Z
            4   30     2         scaleAT  Ljava/awt/geom/AffineTransform;
            5   30     3       numGlyphs  I
            6   30     4              gp  [F
            7   30     5           initX  F
            8   30     6           initY  F
            9   30     7             pos  Ljava/awt/geom/Point2D$Float;
           10   25     8               i  I
           12   23     9              dx  F
           13   23    10              dy  F
           18   23    11  glyphTransform  Ljava/awt/geom/AffineTransform;
    MethodParameters:
               Name  Flags
      stretchGlyphs  

  protected void doPathLayout();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=29, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1717
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
            ifeq 2
         1: .line 1718
            return
         2: .line 1720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
            ifne 4
         3: .line 1722
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.adjustTextSpacing:()V
         4: .line 1724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphAdvances:()[F
            pop
         5: .line 1727
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            ifnonnull 8
         6: .line 1729
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
         7: .line 1730
            return
         8: .line 1734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isVertical:()Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: istore 1 /* horizontal */
        start local 1 // boolean horizontal
        11: .line 1736
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isGlyphOrientationAuto:()Z
            istore 2 /* glyphOrientationAuto */
        start local 2 // boolean glyphOrientationAuto
        12: .line 1738
            iload 2 /* glyphOrientationAuto */
            ifne 14
        13: .line 1739
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphOrientationAngle:()I
            pop
        14: .line 1742
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            invokevirtual org.apache.batik.gvt.text.TextPath.lengthOfPath:()F
            fstore 3 /* pathLength */
        start local 3 // float pathLength
        15: .line 1743
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            invokevirtual org.apache.batik.gvt.text.TextPath.getStartOffset:()F
            fstore 4 /* startOffset */
        start local 4 // float startOffset
        16: .line 1744
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 5 /* numGlyphs */
        start local 5 // int numGlyphs
        17: .line 1749
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        18: goto 21
        19: .line 1750
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int float float int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 6 /* i */
            iconst_1
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
        20: .line 1749
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 5 /* numGlyphs */
            if_icmplt 19
        end local 6 // int i
        22: .line 1756
            iload 1 /* horizontal */
            ifeq 25
        23: .line 1757
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getLogicalBounds:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            d2f
            fstore 6 /* glyphsLength */
        start local 6 // float glyphsLength
        24: .line 1758
            goto 26
        end local 6 // float glyphsLength
        25: .line 1759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getLogicalBounds:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            d2f
            fstore 6 /* glyphsLength */
        start local 6 // float glyphsLength
        26: .line 1763
      StackMap locals: float
      StackMap stack:
            fload 3 /* pathLength */
            fconst_0
            fcmpl
            ifeq 27
            fload 6 /* glyphsLength */
            fconst_0
            fcmpl
            ifne 30
        27: .line 1765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
        28: .line 1766
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.advance:Ljava/awt/geom/Point2D;
            putfield org.apache.batik.bridge.GlyphLayout.textPathAdvance:Ljava/awt/geom/Point2D;
        29: .line 1767
            return
        30: .line 1774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 7 /* firstGlyphPosition */
        start local 7 // java.awt.geom.Point2D firstGlyphPosition
        31: .line 1775
            fconst_0
            fstore 8 /* glyphOffset */
        start local 8 // float glyphOffset
        32: .line 1777
            iload 1 /* horizontal */
            ifeq 36
        33: .line 1778
            aload 7 /* firstGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 8 /* glyphOffset */
        34: .line 1779
            aload 7 /* firstGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 4 /* startOffset */
            f2d
            dadd
            d2f
            fstore 9 /* currentPosition */
        start local 9 // float currentPosition
        35: .line 1780
            goto 38
        end local 9 // float currentPosition
        36: .line 1781
      StackMap locals: java.awt.geom.Point2D float
      StackMap stack:
            aload 7 /* firstGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 8 /* glyphOffset */
        37: .line 1782
            aload 7 /* firstGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 4 /* startOffset */
            f2d
            dadd
            d2f
            fstore 9 /* currentPosition */
        start local 9 // float currentPosition
        38: .line 1785
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        39: .line 1786
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 10 /* start */
        start local 10 // int start
        40: .line 1787
            iconst_0
            istore 11 /* currentChar */
        start local 11 // int currentChar
        41: .line 1788
            iconst_m1
            istore 12 /* lastGlyphDrawn */
        start local 12 // int lastGlyphDrawn
        42: .line 1789
            fconst_0
            fstore 13 /* lastGlyphAdvance */
        start local 13 // float lastGlyphAdvance
        43: .line 1791
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        44: goto 110
        45: .line 1793
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int float float int float java.awt.geom.Point2D float float int int int float int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 15 /* currentGlyphPos */
        start local 15 // java.awt.geom.Point2D currentGlyphPos
        46: .line 1798
            fconst_0
            fstore 16 /* glyphAdvance */
        start local 16 // float glyphAdvance
        47: .line 1799
            fconst_0
            fstore 17 /* nextGlyphOffset */
        start local 17 // float nextGlyphOffset
        48: .line 1800
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            iconst_1
            iadd
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 18 /* nextGlyphPosition */
        start local 18 // java.awt.geom.Point2D nextGlyphPosition
        49: .line 1801
            iload 1 /* horizontal */
            ifeq 57
        50: .line 1802
            aload 18 /* nextGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getX:()D
        51: .line 1803
            aload 15 /* currentGlyphPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
        52: .line 1802
            dsub
            d2f
            fstore 16 /* glyphAdvance */
        53: .line 1804
            aload 18 /* nextGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getY:()D
        54: .line 1805
            aload 15 /* currentGlyphPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
        55: .line 1804
            dsub
            d2f
            fstore 17 /* nextGlyphOffset */
        56: .line 1806
            goto 63
        57: .line 1807
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int float float int float java.awt.geom.Point2D float float int int int float int java.awt.geom.Point2D float float java.awt.geom.Point2D
      StackMap stack:
            aload 18 /* nextGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getY:()D
        58: .line 1808
            aload 15 /* currentGlyphPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
        59: .line 1807
            dsub
            d2f
            fstore 16 /* glyphAdvance */
        60: .line 1809
            aload 18 /* nextGlyphPosition */
            invokevirtual java.awt.geom.Point2D.getX:()D
        61: .line 1810
            aload 15 /* currentGlyphPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
        62: .line 1809
            dsub
            d2f
            fstore 17 /* nextGlyphOffset */
        63: .line 1814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphOutline:(I)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 19 /* glyphBounds */
        start local 19 // java.awt.geom.Rectangle2D glyphBounds
        64: .line 1815
            aload 19 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            d2f
            fstore 20 /* glyphWidth */
        start local 20 // float glyphWidth
        65: .line 1816
            aload 19 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
            d2f
            fstore 21 /* glyphHeight */
        start local 21 // float glyphHeight
        66: .line 1817
            fconst_0
            fstore 22 /* glyphMidX */
        start local 22 // float glyphMidX
        67: .line 1818
            fload 20 /* glyphWidth */
            fconst_0
            fcmpl
            ifle 70
        68: .line 1819
            aload 19 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            fload 20 /* glyphWidth */
            fconst_2
            fdiv
            f2d
            dadd
            d2f
            fstore 22 /* glyphMidX */
        69: .line 1820
            fload 22 /* glyphMidX */
            aload 15 /* currentGlyphPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fsub
            fstore 22 /* glyphMidX */
        70: .line 1823
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int float float int float java.awt.geom.Point2D float float int int int float int java.awt.geom.Point2D float float java.awt.geom.Point2D java.awt.geom.Rectangle2D float float float
      StackMap stack:
            fconst_0
            fstore 23 /* glyphMidY */
        start local 23 // float glyphMidY
        71: .line 1824
            fload 21 /* glyphHeight */
            fconst_0
            fcmpl
            ifle 74
        72: .line 1825
            aload 19 /* glyphBounds */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            fload 21 /* glyphHeight */
            fconst_2
            fdiv
            f2d
            dadd
            d2f
            fstore 23 /* glyphMidY */
        73: .line 1826
            fload 23 /* glyphMidY */
            aload 15 /* currentGlyphPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fsub
            fstore 23 /* glyphMidY */
        74: .line 1830
      StackMap locals: float
      StackMap stack:
            iload 1 /* horizontal */
            ifeq 77
        75: .line 1831
            fload 9 /* currentPosition */
            fload 22 /* glyphMidX */
            fadd
            fstore 24 /* charMidPos */
        start local 24 // float charMidPos
        76: .line 1832
            goto 78
        end local 24 // float charMidPos
        77: .line 1833
      StackMap locals:
      StackMap stack:
            fload 9 /* currentPosition */
            fload 23 /* glyphMidY */
            fadd
            fstore 24 /* charMidPos */
        start local 24 // float charMidPos
        78: .line 1837
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            fload 24 /* charMidPos */
            invokevirtual org.apache.batik.gvt.text.TextPath.pointAtLength:(F)Ljava/awt/geom/Point2D;
            astore 25 /* charMidPoint */
        start local 25 // java.awt.geom.Point2D charMidPoint
        79: .line 1840
            aload 25 /* charMidPoint */
            ifnull 102
        80: .line 1843
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.textPath:Lorg/apache/batik/gvt/text/TextPath;
            fload 24 /* charMidPos */
            invokevirtual org.apache.batik.gvt.text.TextPath.angleAtLength:(F)F
            fstore 26 /* angle */
        start local 26 // float angle
        81: .line 1846
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            astore 27 /* glyphPathTransform */
        start local 27 // java.awt.geom.AffineTransform glyphPathTransform
        82: .line 1849
            iload 1 /* horizontal */
            ifeq 85
        83: .line 1850
            aload 27 /* glyphPathTransform */
            fload 26 /* angle */
            f2d
            invokevirtual java.awt.geom.AffineTransform.rotate:(D)V
        84: .line 1851
            goto 86
        85: .line 1852
      StackMap locals: java.awt.geom.Point2D float java.awt.geom.AffineTransform
      StackMap stack:
            aload 27 /* glyphPathTransform */
            fload 26 /* angle */
            f2d
            ldc 1.5707963267948966
            dsub
            invokevirtual java.awt.geom.AffineTransform.rotate:(D)V
        86: .line 1856
      StackMap locals:
      StackMap stack:
            iload 1 /* horizontal */
            ifeq 89
        87: .line 1857
            aload 27 /* glyphPathTransform */
            dconst_0
            fload 8 /* glyphOffset */
            f2d
            invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
        88: .line 1858
            goto 90
        89: .line 1859
      StackMap locals:
      StackMap stack:
            aload 27 /* glyphPathTransform */
            fload 8 /* glyphOffset */
            f2d
            dconst_0
            invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
        90: .line 1864
      StackMap locals:
      StackMap stack:
            iload 1 /* horizontal */
            ifeq 93
        91: .line 1865
            aload 27 /* glyphPathTransform */
            fload 22 /* glyphMidX */
            fneg
            f2d
            dconst_0
            invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
        92: .line 1866
            goto 94
        93: .line 1867
      StackMap locals:
      StackMap stack:
            aload 27 /* glyphPathTransform */
            dconst_0
            fload 23 /* glyphMidY */
            fneg
            f2d
            invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
        94: .line 1871
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphTransform:(I)Ljava/awt/geom/AffineTransform;
            astore 28 /* glyphTransform */
        start local 28 // java.awt.geom.AffineTransform glyphTransform
        95: .line 1872
            aload 28 /* glyphTransform */
            ifnull 97
        96: .line 1873
            aload 27 /* glyphPathTransform */
            aload 28 /* glyphTransform */
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
        97: .line 1876
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            aload 27 /* glyphPathTransform */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphTransform:(ILjava/awt/geom/AffineTransform;)V
        98: .line 1877
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            aload 25 /* charMidPoint */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
        99: .line 1880
            iload 14 /* i */
            istore 12 /* lastGlyphDrawn */
       100: .line 1881
            fload 16 /* glyphAdvance */
            fstore 13 /* lastGlyphAdvance */
        end local 28 // java.awt.geom.AffineTransform glyphTransform
        end local 27 // java.awt.geom.AffineTransform glyphPathTransform
        end local 26 // float angle
       101: .line 1883
            goto 103
       102: .line 1885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
       103: .line 1887
      StackMap locals:
      StackMap stack:
            fload 9 /* currentPosition */
            fload 16 /* glyphAdvance */
            fadd
            fstore 9 /* currentPosition */
       104: .line 1888
            fload 8 /* glyphOffset */
            fload 17 /* nextGlyphOffset */
            fadd
            fstore 8 /* glyphOffset */
       105: .line 1889
            iload 11 /* currentChar */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 14 /* i */
            iload 14 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
            iadd
            istore 11 /* currentChar */
       106: .line 1890
            iload 11 /* currentChar */
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            if_icmplt 108
       107: .line 1891
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            arraylength
            iconst_1
            isub
            istore 11 /* currentChar */
       108: .line 1892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            iload 11 /* currentChar */
            iload 10 /* start */
            iadd
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        end local 25 // java.awt.geom.Point2D charMidPoint
        end local 24 // float charMidPos
        end local 23 // float glyphMidY
        end local 22 // float glyphMidX
        end local 21 // float glyphHeight
        end local 20 // float glyphWidth
        end local 19 // java.awt.geom.Rectangle2D glyphBounds
        end local 18 // java.awt.geom.Point2D nextGlyphPosition
        end local 17 // float nextGlyphOffset
        end local 16 // float glyphAdvance
        end local 15 // java.awt.geom.Point2D currentGlyphPos
       109: .line 1791
            iinc 14 /* i */ 1
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int float float int float java.awt.geom.Point2D float float int int int float int
      StackMap stack:
       110: iload 14 /* i */
            iload 5 /* numGlyphs */
            if_icmplt 45
        end local 14 // int i
       111: .line 1898
            iload 12 /* lastGlyphDrawn */
            iconst_m1
            if_icmple 124
       112: .line 1899
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 12 /* lastGlyphDrawn */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 14 /* lastGlyphPos */
        start local 14 // java.awt.geom.Point2D lastGlyphPos
       113: .line 1900
            iload 1 /* horizontal */
            ifeq 119
       114: .line 1901
            aload 0 /* this */
            new java.awt.geom.Point2D$Double
            dup
       115: .line 1902
            aload 14 /* lastGlyphPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            fload 13 /* lastGlyphAdvance */
            f2d
            dadd
       116: .line 1903
            aload 14 /* lastGlyphPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
       117: .line 1901
            putfield org.apache.batik.bridge.GlyphLayout.textPathAdvance:Ljava/awt/geom/Point2D;
       118: .line 1904
            goto 125
       119: .line 1905
      StackMap locals: org.apache.batik.bridge.GlyphLayout int int float float int float java.awt.geom.Point2D float float int int int float java.awt.geom.Point2D
      StackMap stack:
            aload 0 /* this */
            new java.awt.geom.Point2D$Double
            dup
       120: .line 1906
            aload 14 /* lastGlyphPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
       121: .line 1907
            aload 14 /* lastGlyphPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            fload 13 /* lastGlyphAdvance */
            f2d
            dadd
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
       122: .line 1905
            putfield org.apache.batik.bridge.GlyphLayout.textPathAdvance:Ljava/awt/geom/Point2D;
        end local 14 // java.awt.geom.Point2D lastGlyphPos
       123: .line 1909
            goto 125
       124: .line 1910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.awt.geom.Point2D$Double
            dup
            dconst_0
            dconst_0
            invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
            putfield org.apache.batik.bridge.GlyphLayout.textPathAdvance:Ljava/awt/geom/Point2D;
       125: .line 1914
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.layoutApplied:Z
       126: .line 1916
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.bridge.GlyphLayout.spacingApplied:Z
       127: .line 1917
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.bridge.GlyphLayout.pathApplied:Z
       128: .line 1918
            return
        end local 13 // float lastGlyphAdvance
        end local 12 // int lastGlyphDrawn
        end local 11 // int currentChar
        end local 10 // int start
        end local 9 // float currentPosition
        end local 8 // float glyphOffset
        end local 7 // java.awt.geom.Point2D firstGlyphPosition
        end local 6 // float glyphsLength
        end local 5 // int numGlyphs
        end local 4 // float startOffset
        end local 3 // float pathLength
        end local 2 // boolean glyphOrientationAuto
        end local 1 // boolean horizontal
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  129     0                  this  Lorg/apache/batik/bridge/GlyphLayout;
           11  129     1            horizontal  Z
           12  129     2  glyphOrientationAuto  Z
           15  129     3            pathLength  F
           16  129     4           startOffset  F
           17  129     5             numGlyphs  I
           18   22     6                     i  I
           24   25     6          glyphsLength  F
           26  129     6          glyphsLength  F
           31  129     7    firstGlyphPosition  Ljava/awt/geom/Point2D;
           32  129     8           glyphOffset  F
           35   36     9       currentPosition  F
           38  129     9       currentPosition  F
           40  129    10                 start  I
           41  129    11           currentChar  I
           42  129    12        lastGlyphDrawn  I
           43  129    13      lastGlyphAdvance  F
           44  111    14                     i  I
           46  109    15       currentGlyphPos  Ljava/awt/geom/Point2D;
           47  109    16          glyphAdvance  F
           48  109    17       nextGlyphOffset  F
           49  109    18     nextGlyphPosition  Ljava/awt/geom/Point2D;
           64  109    19           glyphBounds  Ljava/awt/geom/Rectangle2D;
           65  109    20            glyphWidth  F
           66  109    21           glyphHeight  F
           67  109    22             glyphMidX  F
           71  109    23             glyphMidY  F
           76   77    24            charMidPos  F
           78  109    24            charMidPos  F
           79  109    25          charMidPoint  Ljava/awt/geom/Point2D;
           81  101    26                 angle  F
           82  101    27    glyphPathTransform  Ljava/awt/geom/AffineTransform;
           95  101    28        glyphTransform  Ljava/awt/geom/AffineTransform;
          113  123    14          lastGlyphPos  Ljava/awt/geom/Point2D;

  protected boolean isLatinChar(char);
    descriptor: (C)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // char c
         0: .line 1930
            iload 1 /* c */
            sipush 255
            if_icmpge 2
            iload 1 /* c */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifeq 2
         1: .line 1932
            iconst_1
            ireturn
         2: .line 1935
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            invokestatic java.lang.Character$UnicodeBlock.of:(C)Ljava/lang/Character$UnicodeBlock;
            astore 2 /* block */
        start local 2 // java.lang.Character$UnicodeBlock block
         3: .line 1937
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.BASIC_LATIN:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
         4: .line 1938
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.LATIN_1_SUPPLEMENT:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
         5: .line 1939
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.LATIN_EXTENDED_ADDITIONAL:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
         6: .line 1940
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.LATIN_EXTENDED_A:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
         7: .line 1941
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.LATIN_EXTENDED_B:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
         8: .line 1942
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.ARABIC:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
         9: .line 1943
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.ARABIC_PRESENTATION_FORMS_A:Ljava/lang/Character$UnicodeBlock;
            if_acmpeq 11
        10: .line 1944
            aload 2 /* block */
            getstatic java.lang.Character$UnicodeBlock.ARABIC_PRESENTATION_FORMS_B:Ljava/lang/Character$UnicodeBlock;
            if_acmpne 12
        11: .line 1945
      StackMap locals: java.lang.Character$UnicodeBlock
      StackMap stack:
            iconst_1
            ireturn
        12: .line 1947
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Character$UnicodeBlock block
        end local 1 // char c
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/apache/batik/bridge/GlyphLayout;
            0   13     1      c  C
            3   13     2  block  Ljava/lang/Character$UnicodeBlock;
    MethodParameters:
      Name  Flags
      c     

  protected boolean isGlyphOrientationAuto();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1954
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isVertical:()Z
            ifne 1
            iconst_0
            ireturn
         1: .line 1955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         2: .line 1956
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.VERTICAL_ORIENTATION:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 1 /* vOrient */
        start local 1 // java.lang.Integer vOrient
         3: .line 1957
            aload 1 /* vOrient */
            ifnull 6
         4: .line 1958
            aload 1 /* vOrient */
            getstatic org.apache.batik.bridge.GlyphLayout.ORIENTATION_AUTO:Ljava/lang/Integer;
            if_acmpne 5
            iconst_1
            ireturn
      StackMap locals: java.lang.Integer
      StackMap stack:
         5: iconst_0
            ireturn
         6: .line 1960
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Integer vOrient
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/batik/bridge/GlyphLayout;
            3    7     1  vOrient  Ljava/lang/Integer;

  protected int getGlyphOrientationAngle();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 1969
            iconst_0
            istore 1 /* glyphOrientationAngle */
        start local 1 // int glyphOrientationAngle
         1: .line 1971
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         2: .line 1974
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.GlyphLayout.isVertical:()Z
            ifeq 5
         3: .line 1975
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.VERTICAL_ORIENTATION_ANGLE:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 2 /* angle */
        start local 2 // java.lang.Float angle
         4: .line 1976
            goto 6
        end local 2 // java.lang.Float angle
         5: .line 1977
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.aci:Ljava/text/AttributedCharacterIterator;
            getstatic org.apache.batik.bridge.GlyphLayout.HORIZONTAL_ORIENTATION_ANGLE:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 2 /* angle */
        start local 2 // java.lang.Float angle
         6: .line 1980
      StackMap locals: java.lang.Float
      StackMap stack:
            aload 2 /* angle */
            ifnull 8
         7: .line 1981
            aload 2 /* angle */
            invokevirtual java.lang.Float.floatValue:()F
            f2i
            istore 1 /* glyphOrientationAngle */
         8: .line 1985
      StackMap locals:
      StackMap stack:
            iload 1 /* glyphOrientationAngle */
            ifne 12
            iload 1 /* glyphOrientationAngle */
            bipush 90
            if_icmpne 12
         9: .line 1986
            iload 1 /* glyphOrientationAngle */
            sipush 180
            if_icmpne 12
            iload 1 /* glyphOrientationAngle */
            sipush 270
            if_icmpeq 29
        10: .line 1988
            goto 12
        11: .line 1989
      StackMap locals:
      StackMap stack:
            iinc 1 /* glyphOrientationAngle */ 360
        12: .line 1988
      StackMap locals:
      StackMap stack:
            iload 1 /* glyphOrientationAngle */
            iflt 11
        13: .line 1992
            goto 15
        14: .line 1993
      StackMap locals:
      StackMap stack:
            iinc 1 /* glyphOrientationAngle */ -360
        15: .line 1992
      StackMap locals:
      StackMap stack:
            iload 1 /* glyphOrientationAngle */
            sipush 360
            if_icmpge 14
        16: .line 1996
            iload 1 /* glyphOrientationAngle */
            bipush 45
            if_icmple 18
        17: .line 1997
            iload 1 /* glyphOrientationAngle */
            sipush 315
            if_icmple 20
        18: .line 1998
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* glyphOrientationAngle */
        19: .line 1999
            goto 29
      StackMap locals:
      StackMap stack:
        20: iload 1 /* glyphOrientationAngle */
            bipush 45
            if_icmple 24
        21: .line 2000
            iload 1 /* glyphOrientationAngle */
            sipush 135
            if_icmpgt 24
        22: .line 2001
            bipush 90
            istore 1 /* glyphOrientationAngle */
        23: .line 2002
            goto 29
      StackMap locals:
      StackMap stack:
        24: iload 1 /* glyphOrientationAngle */
            sipush 135
            if_icmple 28
        25: .line 2003
            iload 1 /* glyphOrientationAngle */
            sipush 225
            if_icmpgt 28
        26: .line 2004
            sipush 180
            istore 1 /* glyphOrientationAngle */
        27: .line 2005
            goto 29
        28: .line 2006
      StackMap locals:
      StackMap stack:
            sipush 270
            istore 1 /* glyphOrientationAngle */
        29: .line 2009
      StackMap locals:
      StackMap stack:
            iload 1 /* glyphOrientationAngle */
            ireturn
        end local 2 // java.lang.Float angle
        end local 1 // int glyphOrientationAngle
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0                   this  Lorg/apache/batik/bridge/GlyphLayout;
            1   30     1  glyphOrientationAngle  I
            4    5     2                  angle  Ljava/lang/Float;
            6   30     2                  angle  Ljava/lang/Float;

  public boolean hasCharacterIndex(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // int index
         0: .line 2021
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.charMap:[I
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.apache.batik.bridge.GlyphLayout int top int int int[]
      StackMap stack:
         1: aload 5
            iload 3
            iaload
            istore 2 /* aCharMap */
        start local 2 // int aCharMap
         2: .line 2022
            iload 1 /* index */
            iload 2 /* aCharMap */
            if_icmpne 4
         3: .line 2023
            iconst_1
            ireturn
        end local 2 // int aCharMap
         4: .line 2021
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 2025
            iconst_0
            ireturn
        end local 1 // int index
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/batik/bridge/GlyphLayout;
            0    7     1     index  I
            2    4     2  aCharMap  I
    MethodParameters:
       Name  Flags
      index  

  public boolean isAltGlyph();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 2033
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.isAltGlyph:Z
            ireturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public boolean isReversed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.GlyphLayout this
         0: .line 2038
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.isReversed:()Z
            ireturn
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/GlyphLayout;

  public void maybeReverse(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.GlyphLayout this
        start local 1 // boolean mirror
         0: .line 2043
            aload 0 /* this */
            getfield org.apache.batik.bridge.GlyphLayout.gv:Lorg/apache/batik/gvt/font/GVTGlyphVector;
            iload 1 /* mirror */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.maybeReverse:(Z)V
         1: .line 2044
            return
        end local 1 // boolean mirror
        end local 0 // org.apache.batik.bridge.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/batik/bridge/GlyphLayout;
            0    2     1  mirror  Z
    MethodParameters:
        Name  Flags
      mirror  
}
SourceFile: "GlyphLayout.java"
InnerClasses:
  public Double = java.awt.geom.Line2D$Double of java.awt.geom.Line2D
  public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  public final UnicodeBlock = java.lang.Character$UnicodeBlock of java.lang.Character
  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