public class org.apache.batik.svggen.SVGFont extends org.apache.batik.svggen.AbstractSVGConverter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.svggen.SVGFont
  super_class: org.apache.batik.svggen.AbstractSVGConverter
{
  public static final float EXTRA_LIGHT;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float LIGHT;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float DEMILIGHT;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float REGULAR;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float SEMIBOLD;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float MEDIUM;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float DEMIBOLD;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float BOLD;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float HEAVY;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float EXTRABOLD;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float ULTRABOLD;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float POSTURE_REGULAR;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final float POSTURE_OBLIQUE;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final float[] fontStyles;
    descriptor: [F
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String[] svgStyles;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final float[] fontWeights;
    descriptor: [F
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String[] svgWeights;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static java.util.Map logicalFontMap;
    descriptor: Ljava/util/Map;
    flags: (0x0008) ACC_STATIC

  static final int COMMON_FONT_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  final java.util.Map fontStringMap;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 47
            getstatic java.awt.font.TextAttribute.WEIGHT_EXTRA_LIGHT:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
         1: .line 46
            putstatic org.apache.batik.svggen.SVGFont.EXTRA_LIGHT:F
         2: .line 49
            getstatic java.awt.font.TextAttribute.WEIGHT_LIGHT:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
         3: .line 48
            putstatic org.apache.batik.svggen.SVGFont.LIGHT:F
         4: .line 51
            getstatic java.awt.font.TextAttribute.WEIGHT_DEMILIGHT:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
         5: .line 50
            putstatic org.apache.batik.svggen.SVGFont.DEMILIGHT:F
         6: .line 53
            getstatic java.awt.font.TextAttribute.WEIGHT_REGULAR:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
         7: .line 52
            putstatic org.apache.batik.svggen.SVGFont.REGULAR:F
         8: .line 55
            getstatic java.awt.font.TextAttribute.WEIGHT_SEMIBOLD:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
         9: .line 54
            putstatic org.apache.batik.svggen.SVGFont.SEMIBOLD:F
        10: .line 57
            getstatic java.awt.font.TextAttribute.WEIGHT_MEDIUM:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        11: .line 56
            putstatic org.apache.batik.svggen.SVGFont.MEDIUM:F
        12: .line 59
            getstatic java.awt.font.TextAttribute.WEIGHT_DEMIBOLD:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        13: .line 58
            putstatic org.apache.batik.svggen.SVGFont.DEMIBOLD:F
        14: .line 61
            getstatic java.awt.font.TextAttribute.WEIGHT_BOLD:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        15: .line 60
            putstatic org.apache.batik.svggen.SVGFont.BOLD:F
        16: .line 63
            getstatic java.awt.font.TextAttribute.WEIGHT_HEAVY:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        17: .line 62
            putstatic org.apache.batik.svggen.SVGFont.HEAVY:F
        18: .line 65
            getstatic java.awt.font.TextAttribute.WEIGHT_EXTRABOLD:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        19: .line 64
            putstatic org.apache.batik.svggen.SVGFont.EXTRABOLD:F
        20: .line 67
            getstatic java.awt.font.TextAttribute.WEIGHT_ULTRABOLD:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        21: .line 66
            putstatic org.apache.batik.svggen.SVGFont.ULTRABOLD:F
        22: .line 70
            getstatic java.awt.font.TextAttribute.POSTURE_REGULAR:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        23: .line 69
            putstatic org.apache.batik.svggen.SVGFont.POSTURE_REGULAR:F
        24: .line 72
            getstatic java.awt.font.TextAttribute.POSTURE_OBLIQUE:Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
        25: .line 71
            putstatic org.apache.batik.svggen.SVGFont.POSTURE_OBLIQUE:F
        26: .line 80
            iconst_1
            newarray 6
            dup
            iconst_0
        27: .line 81
            getstatic org.apache.batik.svggen.SVGFont.POSTURE_REGULAR:F
            getstatic org.apache.batik.svggen.SVGFont.POSTURE_OBLIQUE:F
            getstatic org.apache.batik.svggen.SVGFont.POSTURE_REGULAR:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
        28: .line 80
            putstatic org.apache.batik.svggen.SVGFont.fontStyles:[F
        29: .line 87
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        30: .line 88
            ldc "normal"
            aastore
            dup
            iconst_1
        31: .line 89
            ldc "italic"
            aastore
        32: .line 87
            putstatic org.apache.batik.svggen.SVGFont.svgStyles:[Ljava/lang/String;
        33: .line 98
            bipush 10
            newarray 6
            dup
            iconst_0
            getstatic org.apache.batik.svggen.SVGFont.EXTRA_LIGHT:F
            getstatic org.apache.batik.svggen.SVGFont.LIGHT:F
            getstatic org.apache.batik.svggen.SVGFont.EXTRA_LIGHT:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            iconst_1
        34: .line 99
            getstatic org.apache.batik.svggen.SVGFont.LIGHT:F
            getstatic org.apache.batik.svggen.SVGFont.DEMILIGHT:F
            getstatic org.apache.batik.svggen.SVGFont.LIGHT:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            iconst_2
        35: .line 100
            getstatic org.apache.batik.svggen.SVGFont.DEMILIGHT:F
            getstatic org.apache.batik.svggen.SVGFont.REGULAR:F
            getstatic org.apache.batik.svggen.SVGFont.DEMILIGHT:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            iconst_3
        36: .line 101
            getstatic org.apache.batik.svggen.SVGFont.REGULAR:F
            getstatic org.apache.batik.svggen.SVGFont.SEMIBOLD:F
            getstatic org.apache.batik.svggen.SVGFont.REGULAR:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            iconst_4
        37: .line 102
            getstatic org.apache.batik.svggen.SVGFont.SEMIBOLD:F
            getstatic org.apache.batik.svggen.SVGFont.MEDIUM:F
            getstatic org.apache.batik.svggen.SVGFont.SEMIBOLD:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            iconst_5
        38: .line 103
            getstatic org.apache.batik.svggen.SVGFont.MEDIUM:F
            getstatic org.apache.batik.svggen.SVGFont.DEMIBOLD:F
            getstatic org.apache.batik.svggen.SVGFont.MEDIUM:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            bipush 6
        39: .line 104
            getstatic org.apache.batik.svggen.SVGFont.DEMIBOLD:F
            getstatic org.apache.batik.svggen.SVGFont.BOLD:F
            getstatic org.apache.batik.svggen.SVGFont.DEMIBOLD:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            bipush 7
        40: .line 105
            getstatic org.apache.batik.svggen.SVGFont.BOLD:F
            getstatic org.apache.batik.svggen.SVGFont.HEAVY:F
            getstatic org.apache.batik.svggen.SVGFont.BOLD:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            bipush 8
        41: .line 106
            getstatic org.apache.batik.svggen.SVGFont.HEAVY:F
            getstatic org.apache.batik.svggen.SVGFont.EXTRABOLD:F
            getstatic org.apache.batik.svggen.SVGFont.HEAVY:F
            fsub
            fconst_2
            fdiv
            fadd
            fastore
            dup
            bipush 9
        42: .line 107
            getstatic org.apache.batik.svggen.SVGFont.EXTRABOLD:F
            getstatic org.apache.batik.svggen.SVGFont.ULTRABOLD:F
            getstatic org.apache.batik.svggen.SVGFont.EXTRABOLD:F
            fsub
            fadd
            fastore
        43: .line 98
            putstatic org.apache.batik.svggen.SVGFont.fontWeights:[F
        44: .line 113
            bipush 11
            anewarray java.lang.String
            dup
            iconst_0
        45: .line 114
            ldc "100"
            aastore
            dup
            iconst_1
        46: .line 115
            ldc "200"
            aastore
            dup
            iconst_2
        47: .line 116
            ldc "300"
            aastore
            dup
            iconst_3
        48: .line 117
            ldc "normal"
            aastore
            dup
            iconst_4
        49: .line 118
            ldc "500"
            aastore
            dup
            iconst_5
        50: .line 119
            ldc "500"
            aastore
            dup
            bipush 6
        51: .line 120
            ldc "600"
            aastore
            dup
            bipush 7
        52: .line 121
            ldc "bold"
            aastore
            dup
            bipush 8
        53: .line 122
            ldc "800"
            aastore
            dup
            bipush 9
        54: .line 123
            ldc "800"
            aastore
            dup
            bipush 10
        55: .line 124
            ldc "900"
            aastore
        56: .line 113
            putstatic org.apache.batik.svggen.SVGFont.svgWeights:[Ljava/lang/String;
        57: .line 130
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
        58: .line 133
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            ldc "dialog"
            ldc "sans-serif"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        59: .line 134
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            ldc "dialoginput"
            ldc "monospace"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        60: .line 135
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            ldc "monospaced"
            ldc "monospace"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        61: .line 136
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            ldc "serif"
            ldc "serif"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        62: .line 137
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            ldc "sansserif"
            ldc "sans-serif"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        63: .line 138
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            ldc "symbol"
            ldc "'WingDings'"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        64: .line 144
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.svggen.SVGFont this
        start local 1 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 156
            aload 0 /* this */
            aload 1 /* generatorContext */
            invokespecial org.apache.batik.svggen.AbstractSVGConverter.<init>:(Lorg/apache/batik/svggen/SVGGeneratorContext;)V
         1: .line 150
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
         2: .line 157
            return
        end local 1 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 0 // org.apache.batik.svggen.SVGFont this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/apache/batik/svggen/SVGFont;
            0    3     1  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
    MethodParameters:
                  Name  Flags
      generatorContext  

  public void recordFontUsage(java.lang.String, java.awt.Font);
    descriptor: (Ljava/lang/String;Ljava/awt/Font;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.apache.batik.svggen.SVGFont this
        start local 1 // java.lang.String string
        start local 2 // java.awt.Font font
         0: .line 166
            aload 2 /* font */
            invokestatic org.apache.batik.svggen.SVGFont.createCommonSizeFont:(Ljava/awt/Font;)Ljava/awt/Font;
            astore 3 /* commonSizeFont */
        start local 3 // java.awt.Font commonSizeFont
         1: .line 167
            new java.lang.StringBuilder
            dup
            aload 3 /* commonSizeFont */
            invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 168
            aload 3 /* commonSizeFont */
            invokevirtual java.awt.Font.getStyle:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 167
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* fontKey */
        start local 4 // java.lang.String fontKey
         4: .line 184
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
            aload 4 /* fontKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.batik.svggen.SVGFont$CharListHelper
            astore 5 /* chl */
        start local 5 // org.apache.batik.svggen.SVGFont$CharListHelper chl
         5: .line 185
            aload 5 /* chl */
            ifnonnull 7
         6: .line 187
            new org.apache.batik.svggen.SVGFont$CharListHelper
            dup
            invokespecial org.apache.batik.svggen.SVGFont$CharListHelper.<init>:()V
            astore 5 /* chl */
         7: .line 189
      StackMap locals: java.awt.Font java.lang.String org.apache.batik.svggen.SVGFont$CharListHelper
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 12
         9: .line 190
      StackMap locals: int
      StackMap stack:
            aload 1 /* string */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* ch */
        start local 7 // char ch
        10: .line 191
            aload 5 /* chl */
            iload 7 /* ch */
            invokevirtual org.apache.batik.svggen.SVGFont$CharListHelper.add:(I)Z
            pop
        end local 7 // char ch
        11: .line 189
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmplt 9
        end local 6 // int i
        13: .line 194
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
            aload 4 /* fontKey */
            aload 5 /* chl */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 195
            return
        end local 5 // org.apache.batik.svggen.SVGFont$CharListHelper chl
        end local 4 // java.lang.String fontKey
        end local 3 // java.awt.Font commonSizeFont
        end local 2 // java.awt.Font font
        end local 1 // java.lang.String string
        end local 0 // org.apache.batik.svggen.SVGFont this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/apache/batik/svggen/SVGFont;
            0   15     1          string  Ljava/lang/String;
            0   15     2            font  Ljava/awt/Font;
            1   15     3  commonSizeFont  Ljava/awt/Font;
            4   15     4         fontKey  Ljava/lang/String;
            5   15     5             chl  Lorg/apache/batik/svggen/SVGFont$CharListHelper;
            8   13     6               i  I
           10   11     7              ch  C
    MethodParameters:
        Name  Flags
      string  
      font    

  private static java.awt.Font createCommonSizeFont(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Ljava/awt/Font;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.awt.Font font
         0: .line 203
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* attributes */
        start local 1 // java.util.Map attributes
         1: .line 204
            aload 1 /* attributes */
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            ldc 100.0
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 206
            aload 1 /* attributes */
            getstatic java.awt.font.TextAttribute.TRANSFORM:Ljava/awt/font/TextAttribute;
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 207
            aload 0 /* font */
            aload 1 /* attributes */
            invokevirtual java.awt.Font.deriveFont:(Ljava/util/Map;)Ljava/awt/Font;
            areturn
        end local 1 // java.util.Map attributes
        end local 0 // java.awt.Font font
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        font  Ljava/awt/Font;
            1    4     1  attributes  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      font  

  public org.apache.batik.svggen.SVGDescriptor toSVG(org.apache.batik.ext.awt.g2d.GraphicContext);
    descriptor: (Lorg/apache/batik/ext/awt/g2d/GraphicContext;)Lorg/apache/batik/svggen/SVGDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.svggen.SVGFont this
        start local 1 // org.apache.batik.ext.awt.g2d.GraphicContext gc
         0: .line 221
            aload 0 /* this */
            aload 1 /* gc */
            invokevirtual org.apache.batik.ext.awt.g2d.GraphicContext.getFont:()Ljava/awt/Font;
            aload 1 /* gc */
            invokevirtual org.apache.batik.ext.awt.g2d.GraphicContext.getFontRenderContext:()Ljava/awt/font/FontRenderContext;
            invokevirtual org.apache.batik.svggen.SVGFont.toSVG:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lorg/apache/batik/svggen/SVGFontDescriptor;
            areturn
        end local 1 // org.apache.batik.ext.awt.g2d.GraphicContext gc
        end local 0 // org.apache.batik.svggen.SVGFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/svggen/SVGFont;
            0    1     1    gc  Lorg/apache/batik/ext/awt/g2d/GraphicContext;
    MethodParameters:
      Name  Flags
      gc    

  public org.apache.batik.svggen.SVGFontDescriptor toSVG(java.awt.Font, java.awt.font.FontRenderContext);
    descriptor: (Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lorg/apache/batik/svggen/SVGFontDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=25, args_size=3
        start local 0 // org.apache.batik.svggen.SVGFont this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.font.FontRenderContext frc
         0: .line 234
            new java.awt.font.FontRenderContext
            dup
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
         1: .line 235
            aload 2 /* frc */
            invokevirtual java.awt.font.FontRenderContext.isAntiAliased:()Z
         2: .line 236
            aload 2 /* frc */
            invokevirtual java.awt.font.FontRenderContext.usesFractionalMetrics:()Z
         3: .line 234
            invokespecial java.awt.font.FontRenderContext.<init>:(Ljava/awt/geom/AffineTransform;ZZ)V
            astore 3 /* localFRC */
        start local 3 // java.awt.font.FontRenderContext localFRC
         4: .line 238
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            invokevirtual org.apache.batik.svggen.SVGFont.doubleString:(D)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "px"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* fontSize */
        start local 4 // java.lang.String fontSize
         5: .line 239
            aload 1 /* font */
            invokestatic org.apache.batik.svggen.SVGFont.weightToSVG:(Ljava/awt/Font;)Ljava/lang/String;
            astore 5 /* fontWeight */
        start local 5 // java.lang.String fontWeight
         6: .line 240
            aload 1 /* font */
            invokestatic org.apache.batik.svggen.SVGFont.styleToSVG:(Ljava/awt/Font;)Ljava/lang/String;
            astore 6 /* fontStyle */
        start local 6 // java.lang.String fontStyle
         7: .line 241
            aload 1 /* font */
            invokestatic org.apache.batik.svggen.SVGFont.familyToSVG:(Ljava/awt/Font;)Ljava/lang/String;
            astore 7 /* fontFamilyStr */
        start local 7 // java.lang.String fontFamilyStr
         8: .line 243
            aload 1 /* font */
            invokestatic org.apache.batik.svggen.SVGFont.createCommonSizeFont:(Ljava/awt/Font;)Ljava/awt/Font;
            astore 8 /* commonSizeFont */
        start local 8 // java.awt.Font commonSizeFont
         9: .line 244
            new java.lang.StringBuilder
            dup
            aload 8 /* commonSizeFont */
            invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 245
            aload 8 /* commonSizeFont */
            invokevirtual java.awt.Font.getStyle:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        11: .line 244
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* fontKey */
        start local 9 // java.lang.String fontKey
        12: .line 247
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
            aload 9 /* fontKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.batik.svggen.SVGFont$CharListHelper
            astore 10 /* clh */
        start local 10 // org.apache.batik.svggen.SVGFont$CharListHelper clh
        13: .line 249
            aload 10 /* clh */
            ifnonnull 18
        14: .line 252
            new org.apache.batik.svggen.SVGFontDescriptor
            dup
            aload 4 /* fontSize */
            aload 5 /* fontWeight */
        15: .line 253
            aload 6 /* fontStyle */
            aload 7 /* fontFamilyStr */
        16: .line 254
            aconst_null
        17: .line 252
            invokespecial org.apache.batik.svggen.SVGFontDescriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/w3c/dom/Element;)V
            areturn
        18: .line 257
      StackMap locals: org.apache.batik.svggen.SVGFont java.awt.Font java.awt.font.FontRenderContext java.awt.font.FontRenderContext java.lang.String java.lang.String java.lang.String java.lang.String java.awt.Font java.lang.String org.apache.batik.svggen.SVGFont$CharListHelper
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.generatorContext:Lorg/apache/batik/svggen/SVGGeneratorContext;
            getfield org.apache.batik.svggen.SVGGeneratorContext.domFactory:Lorg/w3c/dom/Document;
            astore 11 /* domFactory */
        start local 11 // org.w3c.dom.Document domFactory
        19: .line 261
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.descMap:Ljava/util/Map;
            aload 9 /* fontKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.batik.svggen.SVGFontDescriptor
        20: .line 260
            astore 12 /* fontDesc */
        start local 12 // org.apache.batik.svggen.SVGFontDescriptor fontDesc
        21: .line 265
            aload 12 /* fontDesc */
            ifnull 24
        22: .line 268
            aload 12 /* fontDesc */
            invokevirtual org.apache.batik.svggen.SVGFontDescriptor.getDef:()Lorg/w3c/dom/Element;
            astore 13 /* fontDef */
        start local 13 // org.w3c.dom.Element fontDef
        23: .line 270
            goto 69
        end local 13 // org.w3c.dom.Element fontDef
        24: .line 273
      StackMap locals: org.w3c.dom.Document org.apache.batik.svggen.SVGFontDescriptor
      StackMap stack:
            aload 11 /* domFactory */
            ldc "http://www.w3.org/2000/svg"
        25: .line 274
            ldc "font"
        26: .line 273
            invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 13 /* fontDef */
        start local 13 // org.w3c.dom.Element fontDef
        27: .line 279
            aload 11 /* domFactory */
            ldc "http://www.w3.org/2000/svg"
        28: .line 280
            ldc "font-face"
        29: .line 279
            invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 14 /* fontFace */
        start local 14 // org.w3c.dom.Element fontFace
        30: .line 281
            aload 7 /* fontFamilyStr */
            astore 15 /* svgFontFamilyString */
        start local 15 // java.lang.String svgFontFamilyString
        31: .line 282
            aload 7 /* fontFamilyStr */
            ldc "'"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 35
        32: .line 283
            aload 7 /* fontFamilyStr */
            ldc "'"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 35
        33: .line 286
            aload 7 /* fontFamilyStr */
            iconst_1
            aload 7 /* fontFamilyStr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        34: .line 285
            astore 15 /* svgFontFamilyString */
        35: .line 288
      StackMap locals: org.w3c.dom.Element org.w3c.dom.Element java.lang.String
      StackMap stack:
            aload 14 /* fontFace */
            aconst_null
            ldc "font-family"
        36: .line 289
            aload 15 /* svgFontFamilyString */
        37: .line 288
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        38: .line 290
            aload 14 /* fontFace */
            aconst_null
            ldc "font-weight"
        39: .line 291
            aload 5 /* fontWeight */
        40: .line 290
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        41: .line 292
            aload 14 /* fontFace */
            aconst_null
            ldc "font-style"
        42: .line 293
            aload 6 /* fontStyle */
        43: .line 292
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        44: .line 294
            aload 14 /* fontFace */
            aconst_null
            ldc "units-per-em"
        45: .line 295
            ldc "100"
        46: .line 294
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        47: .line 296
            aload 13 /* fontDef */
            aload 14 /* fontFace */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        48: .line 302
            aload 11 /* domFactory */
            ldc "http://www.w3.org/2000/svg"
        49: .line 303
            ldc "missing-glyph"
        50: .line 302
            invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
        51: .line 301
            astore 16 /* missingGlyphElement */
        start local 16 // org.w3c.dom.Element missingGlyphElement
        52: .line 305
            iconst_1
            newarray 10
            astore 17 /* missingGlyphCode */
        start local 17 // int[] missingGlyphCode
        53: .line 306
            aload 17 /* missingGlyphCode */
            iconst_0
            aload 8 /* commonSizeFont */
            invokevirtual java.awt.Font.getMissingGlyphCode:()I
            iastore
        54: .line 308
            aload 8 /* commonSizeFont */
            aload 3 /* localFRC */
            aload 17 /* missingGlyphCode */
            invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;[I)Ljava/awt/font/GlyphVector;
            astore 18 /* gv */
        start local 18 // java.awt.font.GlyphVector gv
        55: .line 309
            aload 18 /* gv */
            iconst_0
            invokevirtual java.awt.font.GlyphVector.getGlyphOutline:(I)Ljava/awt/Shape;
            astore 19 /* missingGlyphShape */
        start local 19 // java.awt.Shape missingGlyphShape
        56: .line 310
            aload 18 /* gv */
            iconst_0
            invokevirtual java.awt.font.GlyphVector.getGlyphMetrics:(I)Ljava/awt/font/GlyphMetrics;
            astore 20 /* gm */
        start local 20 // java.awt.font.GlyphMetrics gm
        57: .line 314
            dconst_1
            ldc -1.0
            invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
            astore 21 /* at */
        start local 21 // java.awt.geom.AffineTransform at
        58: .line 315
            aload 21 /* at */
            aload 19 /* missingGlyphShape */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 19 /* missingGlyphShape */
        59: .line 317
            aload 16 /* missingGlyphElement */
            aconst_null
            ldc "d"
        60: .line 318
            aload 19 /* missingGlyphShape */
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.generatorContext:Lorg/apache/batik/svggen/SVGGeneratorContext;
            invokestatic org.apache.batik.svggen.SVGPath.toSVGPathData:(Ljava/awt/Shape;Lorg/apache/batik/svggen/SVGGeneratorContext;)Ljava/lang/String;
        61: .line 317
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        62: .line 319
            aload 16 /* missingGlyphElement */
            aconst_null
            ldc "horiz-adv-x"
            aload 20 /* gm */
            invokevirtual java.awt.font.GlyphMetrics.getAdvance:()F
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        63: .line 320
            aload 13 /* fontDef */
            aload 16 /* missingGlyphElement */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        64: .line 324
            aload 13 /* fontDef */
            aconst_null
            ldc "horiz-adv-x"
            aload 20 /* gm */
            invokevirtual java.awt.font.GlyphMetrics.getAdvance:()F
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        65: .line 327
            aload 8 /* commonSizeFont */
            ldc "By"
            aload 3 /* localFRC */
            invokevirtual java.awt.Font.getLineMetrics:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
            astore 22 /* lm */
        start local 22 // java.awt.font.LineMetrics lm
        66: .line 328
            aload 14 /* fontFace */
            aconst_null
            ldc "ascent"
            aload 22 /* lm */
            invokevirtual java.awt.font.LineMetrics.getAscent:()F
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        67: .line 329
            aload 14 /* fontFace */
            aconst_null
            ldc "descent"
            aload 22 /* lm */
            invokevirtual java.awt.font.LineMetrics.getDescent:()F
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        68: .line 334
            aload 13 /* fontDef */
            aconst_null
            ldc "id"
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.generatorContext:Lorg/apache/batik/svggen/SVGGeneratorContext;
            getfield org.apache.batik.svggen.SVGGeneratorContext.idGenerator:Lorg/apache/batik/svggen/SVGIDGenerator;
            ldc "font"
            invokevirtual org.apache.batik.svggen.SVGIDGenerator.generateID:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 22 // java.awt.font.LineMetrics lm
        end local 21 // java.awt.geom.AffineTransform at
        end local 20 // java.awt.font.GlyphMetrics gm
        end local 19 // java.awt.Shape missingGlyphShape
        end local 18 // java.awt.font.GlyphVector gv
        end local 17 // int[] missingGlyphCode
        end local 16 // org.w3c.dom.Element missingGlyphElement
        end local 15 // java.lang.String svgFontFamilyString
        end local 14 // org.w3c.dom.Element fontFace
        69: .line 340
      StackMap locals:
      StackMap stack:
            aload 10 /* clh */
            invokevirtual org.apache.batik.svggen.SVGFont$CharListHelper.getNewChars:()Ljava/lang/String;
            astore 14 /* textUsingFont */
        start local 14 // java.lang.String textUsingFont
        70: .line 341
            aload 10 /* clh */
            invokevirtual org.apache.batik.svggen.SVGFont$CharListHelper.clearNewChars:()V
        71: .line 345
            aload 14 /* textUsingFont */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 15 /* i */
        start local 15 // int i
        72: goto 103
        73: .line 346
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 14 /* textUsingFont */
            iload 15 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 16 /* c */
        start local 16 // char c
        74: .line 347
            iload 16 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 17 /* searchStr */
        start local 17 // java.lang.String searchStr
        75: .line 348
            iconst_0
            istore 18 /* foundGlyph */
        start local 18 // boolean foundGlyph
        76: .line 349
            aload 13 /* fontDef */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 19 /* fontChildren */
        start local 19 // org.w3c.dom.NodeList fontChildren
        77: .line 350
            iconst_0
            istore 20 /* j */
        start local 20 // int j
        78: goto 85
        79: .line 351
      StackMap locals: org.apache.batik.svggen.SVGFont java.awt.Font java.awt.font.FontRenderContext java.awt.font.FontRenderContext java.lang.String java.lang.String java.lang.String java.lang.String java.awt.Font java.lang.String org.apache.batik.svggen.SVGFont$CharListHelper org.w3c.dom.Document org.apache.batik.svggen.SVGFontDescriptor org.w3c.dom.Element java.lang.String int int java.lang.String int org.w3c.dom.NodeList int
      StackMap stack:
            aload 19 /* fontChildren */
            iload 20 /* j */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            instanceof org.w3c.dom.Element
            ifeq 84
        80: .line 352
            aload 19 /* fontChildren */
            iload 20 /* j */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            checkcast org.w3c.dom.Element
            astore 21 /* childElement */
        start local 21 // org.w3c.dom.Element childElement
        81: .line 353
            aload 21 /* childElement */
            aconst_null
            ldc "unicode"
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aload 17 /* searchStr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 84
        82: .line 354
            iconst_1
            istore 18 /* foundGlyph */
        83: .line 355
            goto 86
        end local 21 // org.w3c.dom.Element childElement
        84: .line 350
      StackMap locals:
      StackMap stack:
            iinc 20 /* j */ 1
      StackMap locals:
      StackMap stack:
        85: iload 20 /* j */
            aload 19 /* fontChildren */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            if_icmplt 79
        end local 20 // int j
        86: .line 359
      StackMap locals:
      StackMap stack:
            iload 18 /* foundGlyph */
            ifne 104
        87: .line 362
            aload 11 /* domFactory */
            ldc "http://www.w3.org/2000/svg"
        88: .line 363
            ldc "glyph"
        89: .line 362
            invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
        90: .line 361
            astore 20 /* glyphElement */
        start local 20 // org.w3c.dom.Element glyphElement
        91: .line 366
            aload 8 /* commonSizeFont */
            aload 3 /* localFRC */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 16 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Ljava/awt/font/GlyphVector;
            astore 21 /* gv */
        start local 21 // java.awt.font.GlyphVector gv
        92: .line 367
            aload 21 /* gv */
            iconst_0
            invokevirtual java.awt.font.GlyphVector.getGlyphOutline:(I)Ljava/awt/Shape;
            astore 22 /* glyphShape */
        start local 22 // java.awt.Shape glyphShape
        93: .line 368
            aload 21 /* gv */
            iconst_0
            invokevirtual java.awt.font.GlyphVector.getGlyphMetrics:(I)Ljava/awt/font/GlyphMetrics;
            astore 23 /* gm */
        start local 23 // java.awt.font.GlyphMetrics gm
        94: .line 372
            dconst_1
            ldc -1.0
            invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
            astore 24 /* at */
        start local 24 // java.awt.geom.AffineTransform at
        95: .line 373
            aload 24 /* at */
            aload 22 /* glyphShape */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 22 /* glyphShape */
        96: .line 375
            aload 20 /* glyphElement */
            aconst_null
            ldc "d"
        97: .line 376
            aload 22 /* glyphShape */
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.generatorContext:Lorg/apache/batik/svggen/SVGGeneratorContext;
            invokestatic org.apache.batik.svggen.SVGPath.toSVGPathData:(Ljava/awt/Shape;Lorg/apache/batik/svggen/SVGGeneratorContext;)Ljava/lang/String;
        98: .line 375
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        99: .line 377
            aload 20 /* glyphElement */
            aconst_null
            ldc "horiz-adv-x"
            aload 23 /* gm */
            invokevirtual java.awt.font.GlyphMetrics.getAdvance:()F
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       100: .line 378
            aload 20 /* glyphElement */
            aconst_null
            ldc "unicode"
            iload 16 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       101: .line 380
            aload 13 /* fontDef */
            aload 20 /* glyphElement */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 24 // java.awt.geom.AffineTransform at
        end local 23 // java.awt.font.GlyphMetrics gm
        end local 22 // java.awt.Shape glyphShape
        end local 21 // java.awt.font.GlyphVector gv
        end local 20 // org.w3c.dom.Element glyphElement
        end local 19 // org.w3c.dom.NodeList fontChildren
        end local 18 // boolean foundGlyph
        end local 17 // java.lang.String searchStr
        end local 16 // char c
       102: .line 345
            iinc 15 /* i */ -1
      StackMap locals: org.apache.batik.svggen.SVGFont java.awt.Font java.awt.font.FontRenderContext java.awt.font.FontRenderContext java.lang.String java.lang.String java.lang.String java.lang.String java.awt.Font java.lang.String org.apache.batik.svggen.SVGFont$CharListHelper org.w3c.dom.Document org.apache.batik.svggen.SVGFontDescriptor org.w3c.dom.Element java.lang.String int
      StackMap stack:
       103: iload 15 /* i */
            ifge 73
        end local 15 // int i
       104: .line 392
      StackMap locals:
      StackMap stack:
            new org.apache.batik.svggen.SVGFontDescriptor
            dup
            aload 4 /* fontSize */
            aload 5 /* fontWeight */
       105: .line 393
            aload 6 /* fontStyle */
            aload 7 /* fontFamilyStr */
       106: .line 394
            aload 13 /* fontDef */
       107: .line 392
            invokespecial org.apache.batik.svggen.SVGFontDescriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/w3c/dom/Element;)V
       108: .line 391
            astore 15 /* newFontDesc */
        start local 15 // org.apache.batik.svggen.SVGFontDescriptor newFontDesc
       109: .line 399
            aload 12 /* fontDesc */
            ifnonnull 112
       110: .line 400
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.descMap:Ljava/util/Map;
            aload 9 /* fontKey */
            aload 15 /* newFontDesc */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       111: .line 401
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont.defSet:Ljava/util/List;
            aload 13 /* fontDef */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       112: .line 404
      StackMap locals: org.apache.batik.svggen.SVGFontDescriptor
      StackMap stack:
            aload 15 /* newFontDesc */
            areturn
        end local 15 // org.apache.batik.svggen.SVGFontDescriptor newFontDesc
        end local 14 // java.lang.String textUsingFont
        end local 13 // org.w3c.dom.Element fontDef
        end local 12 // org.apache.batik.svggen.SVGFontDescriptor fontDesc
        end local 11 // org.w3c.dom.Document domFactory
        end local 10 // org.apache.batik.svggen.SVGFont$CharListHelper clh
        end local 9 // java.lang.String fontKey
        end local 8 // java.awt.Font commonSizeFont
        end local 7 // java.lang.String fontFamilyStr
        end local 6 // java.lang.String fontStyle
        end local 5 // java.lang.String fontWeight
        end local 4 // java.lang.String fontSize
        end local 3 // java.awt.font.FontRenderContext localFRC
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.awt.Font font
        end local 0 // org.apache.batik.svggen.SVGFont this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  113     0                 this  Lorg/apache/batik/svggen/SVGFont;
            0  113     1                 font  Ljava/awt/Font;
            0  113     2                  frc  Ljava/awt/font/FontRenderContext;
            4  113     3             localFRC  Ljava/awt/font/FontRenderContext;
            5  113     4             fontSize  Ljava/lang/String;
            6  113     5           fontWeight  Ljava/lang/String;
            7  113     6            fontStyle  Ljava/lang/String;
            8  113     7        fontFamilyStr  Ljava/lang/String;
            9  113     8       commonSizeFont  Ljava/awt/Font;
           12  113     9              fontKey  Ljava/lang/String;
           13  113    10                  clh  Lorg/apache/batik/svggen/SVGFont$CharListHelper;
           19  113    11           domFactory  Lorg/w3c/dom/Document;
           21  113    12             fontDesc  Lorg/apache/batik/svggen/SVGFontDescriptor;
           23   24    13              fontDef  Lorg/w3c/dom/Element;
           27  113    13              fontDef  Lorg/w3c/dom/Element;
           30   69    14             fontFace  Lorg/w3c/dom/Element;
           31   69    15  svgFontFamilyString  Ljava/lang/String;
           52   69    16  missingGlyphElement  Lorg/w3c/dom/Element;
           53   69    17     missingGlyphCode  [I
           55   69    18                   gv  Ljava/awt/font/GlyphVector;
           56   69    19    missingGlyphShape  Ljava/awt/Shape;
           57   69    20                   gm  Ljava/awt/font/GlyphMetrics;
           58   69    21                   at  Ljava/awt/geom/AffineTransform;
           66   69    22                   lm  Ljava/awt/font/LineMetrics;
           70  113    14        textUsingFont  Ljava/lang/String;
           72  104    15                    i  I
           74  102    16                    c  C
           75  102    17            searchStr  Ljava/lang/String;
           76  102    18           foundGlyph  Z
           77  102    19         fontChildren  Lorg/w3c/dom/NodeList;
           78   86    20                    j  I
           81   84    21         childElement  Lorg/w3c/dom/Element;
           91  102    20         glyphElement  Lorg/w3c/dom/Element;
           92  102    21                   gv  Ljava/awt/font/GlyphVector;
           93  102    22           glyphShape  Ljava/awt/Shape;
           94  102    23                   gm  Ljava/awt/font/GlyphMetrics;
           95  102    24                   at  Ljava/awt/geom/AffineTransform;
          109  113    15          newFontDesc  Lorg/apache/batik/svggen/SVGFontDescriptor;
    MethodParameters:
      Name  Flags
      font  
      frc   

  public static java.lang.String familyToSVG(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.awt.Font font
         0: .line 412
            aload 0 /* font */
            invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
            astore 1 /* fontFamilyStr */
        start local 1 // java.lang.String fontFamilyStr
         1: .line 414
            getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
            aload 0 /* font */
            invokevirtual java.awt.Font.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         2: .line 413
            astore 2 /* logicalFontFamily */
        start local 2 // java.lang.String logicalFontFamily
         3: .line 415
            aload 2 /* logicalFontFamily */
            ifnull 5
         4: .line 416
            aload 2 /* logicalFontFamily */
            astore 1 /* fontFamilyStr */
            goto 6
         5: .line 419
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 39
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fontFamilyStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* fontFamilyStr */
         6: .line 421
      StackMap locals:
      StackMap stack:
            aload 1 /* fontFamilyStr */
            areturn
        end local 2 // java.lang.String logicalFontFamily
        end local 1 // java.lang.String fontFamilyStr
        end local 0 // java.awt.Font font
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               font  Ljava/awt/Font;
            1    7     1      fontFamilyStr  Ljava/lang/String;
            3    7     2  logicalFontFamily  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      font  

  public static java.lang.String styleToSVG(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.awt.Font font
         0: .line 429
            aload 0 /* font */
            invokevirtual java.awt.Font.getAttributes:()Ljava/util/Map;
            astore 1 /* attrMap */
        start local 1 // java.util.Map attrMap
         1: .line 430
            aload 1 /* attrMap */
            getstatic java.awt.font.TextAttribute.POSTURE:Ljava/awt/font/TextAttribute;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 2 /* styleValue */
        start local 2 // java.lang.Float styleValue
         2: .line 432
            aload 2 /* styleValue */
            ifnonnull 6
         3: .line 433
            aload 0 /* font */
            invokevirtual java.awt.Font.isItalic:()Z
            ifeq 5
         4: .line 434
            getstatic java.awt.font.TextAttribute.POSTURE_OBLIQUE:Ljava/lang/Float;
            astore 2 /* styleValue */
            goto 6
         5: .line 436
      StackMap locals: java.util.Map java.lang.Float
      StackMap stack:
            getstatic java.awt.font.TextAttribute.POSTURE_REGULAR:Ljava/lang/Float;
            astore 2 /* styleValue */
         6: .line 439
      StackMap locals:
      StackMap stack:
            aload 2 /* styleValue */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 3 /* style */
        start local 3 // float style
         7: .line 441
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: .line 442
            iconst_0
            istore 4 /* i */
            goto 12
         9: .line 443
      StackMap locals: float int
      StackMap stack:
            fload 3 /* style */
            getstatic org.apache.batik.svggen.SVGFont.fontStyles:[F
            iload 4 /* i */
            faload
            fcmpg
            ifgt 11
        10: .line 444
            goto 13
        11: .line 442
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            getstatic org.apache.batik.svggen.SVGFont.fontStyles:[F
            arraylength
            if_icmplt 9
        13: .line 447
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.svggen.SVGFont.svgStyles:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            areturn
        end local 4 // int i
        end local 3 // float style
        end local 2 // java.lang.Float styleValue
        end local 1 // java.util.Map attrMap
        end local 0 // java.awt.Font font
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        font  Ljava/awt/Font;
            1   14     1     attrMap  Ljava/util/Map;
            2   14     2  styleValue  Ljava/lang/Float;
            7   14     3       style  F
            8   14     4           i  I
    MethodParameters:
      Name  Flags
      font  

  public static java.lang.String weightToSVG(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.awt.Font font
         0: .line 456
            aload 0 /* font */
            invokevirtual java.awt.Font.getAttributes:()Ljava/util/Map;
            astore 1 /* attrMap */
        start local 1 // java.util.Map attrMap
         1: .line 457
            aload 1 /* attrMap */
            getstatic java.awt.font.TextAttribute.WEIGHT:Ljava/awt/font/TextAttribute;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 2 /* weightValue */
        start local 2 // java.lang.Float weightValue
         2: .line 458
            aload 2 /* weightValue */
            ifnonnull 6
         3: .line 459
            aload 0 /* font */
            invokevirtual java.awt.Font.isBold:()Z
            ifeq 5
         4: .line 460
            getstatic java.awt.font.TextAttribute.WEIGHT_BOLD:Ljava/lang/Float;
            astore 2 /* weightValue */
            goto 6
         5: .line 462
      StackMap locals: java.util.Map java.lang.Float
      StackMap stack:
            getstatic java.awt.font.TextAttribute.WEIGHT_REGULAR:Ljava/lang/Float;
            astore 2 /* weightValue */
         6: .line 465
      StackMap locals:
      StackMap stack:
            aload 2 /* weightValue */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 3 /* weight */
        start local 3 // float weight
         7: .line 467
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: .line 468
            iconst_0
            istore 4 /* i */
            goto 12
         9: .line 469
      StackMap locals: float int
      StackMap stack:
            fload 3 /* weight */
            getstatic org.apache.batik.svggen.SVGFont.fontWeights:[F
            iload 4 /* i */
            faload
            fcmpg
            ifgt 11
        10: .line 470
            goto 13
        11: .line 468
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            getstatic org.apache.batik.svggen.SVGFont.fontWeights:[F
            arraylength
            if_icmplt 9
        13: .line 473
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.svggen.SVGFont.svgWeights:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            areturn
        end local 4 // int i
        end local 3 // float weight
        end local 2 // java.lang.Float weightValue
        end local 1 // java.util.Map attrMap
        end local 0 // java.awt.Font font
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         font  Ljava/awt/Font;
            1   14     1      attrMap  Ljava/util/Map;
            2   14     2  weightValue  Ljava/lang/Float;
            7   14     3       weight  F
            8   14     4            i  I
    MethodParameters:
      Name  Flags
      font  
}
SourceFile: "SVGFont.java"
NestMembers:
  org.apache.batik.svggen.SVGFont$CharListHelper
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  private CharListHelper = org.apache.batik.svggen.SVGFont$CharListHelper of org.apache.batik.svggen.SVGFont