public class org.apache.batik.gvt.font.AWTGVTFont implements org.apache.batik.gvt.font.GVTFont
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.gvt.font.AWTGVTFont
  super_class: java.lang.Object
{
  protected java.awt.Font awtFont;
    descriptor: Ljava/awt/Font;
    flags: (0x0004) ACC_PROTECTED

  protected double size;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  protected double scale;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 320
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic org.apache.batik.gvt.font.AWTGVTFont.fontCache:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.awt.Font);
    descriptor: (Ljava/awt/Font;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.awt.Font font
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            putfield org.apache.batik.gvt.font.AWTGVTFont.size:D
         2: .line 58
            aload 0 /* this */
            aload 1 /* font */
            ldc 48.0
            invokevirtual java.awt.Font.deriveFont:(F)Ljava/awt/Font;
            putfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
         3: .line 59
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.size:D
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            ddiv
            putfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
         4: .line 60
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokestatic org.apache.batik.gvt.font.AWTGVTFont.initializeFontCache:(Ljava/awt/Font;)V
         5: .line 61
            return
        end local 1 // java.awt.Font font
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    6     1  font  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      font  

  public void <init>(java.awt.Font, double);
    descriptor: (Ljava/awt/Font;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.awt.Font font
        start local 2 // double scale
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            dload 2 /* scale */
            dmul
            putfield org.apache.batik.gvt.font.AWTGVTFont.size:D
         2: .line 71
            aload 0 /* this */
            aload 1 /* font */
            ldc 48.0
            invokevirtual java.awt.Font.deriveFont:(F)Ljava/awt/Font;
            putfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
         3: .line 72
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.size:D
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            ddiv
            putfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
         4: .line 73
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokestatic org.apache.batik.gvt.font.AWTGVTFont.initializeFontCache:(Ljava/awt/Font;)V
         5: .line 74
            return
        end local 2 // double scale
        end local 1 // java.awt.Font font
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    6     1   font  Ljava/awt/Font;
            0    6     2  scale  D
    MethodParameters:
       Name  Flags
      font   
      scale  

  public void <init>(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.util.Map attributes
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 1 /* attributes */
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 2 /* sz */
        start local 2 // java.lang.Float sz
         2: .line 83
            aload 2 /* sz */
            ifnull 7
         3: .line 84
            aload 0 /* this */
            aload 2 /* sz */
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            putfield org.apache.batik.gvt.font.AWTGVTFont.size:D
         4: .line 85
            aload 1 /* attributes */
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            ldc 48.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
         5: .line 86
            aload 0 /* this */
            new java.awt.Font
            dup
            aload 1 /* attributes */
            invokespecial java.awt.Font.<init>:(Ljava/util/Map;)V
            putfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
         6: .line 87
            goto 9
         7: .line 88
      StackMap locals: org.apache.batik.gvt.font.AWTGVTFont java.util.Map java.lang.Float
      StackMap stack:
            aload 0 /* this */
            new java.awt.Font
            dup
            aload 1 /* attributes */
            invokespecial java.awt.Font.<init>:(Ljava/util/Map;)V
            putfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
         8: .line 89
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            putfield org.apache.batik.gvt.font.AWTGVTFont.size:D
         9: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.size:D
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokevirtual java.awt.Font.getSize2D:()F
            f2d
            ddiv
            putfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
        10: .line 92
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokestatic org.apache.batik.gvt.font.AWTGVTFont.initializeFontCache:(Ljava/awt/Font;)V
        11: .line 93
            return
        end local 2 // java.lang.Float sz
        end local 1 // java.util.Map attributes
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0   12     1  attributes  Ljava/util/Map;
            2   12     2          sz  Ljava/lang/Float;
    MethodParameters:
            Name  Flags
      attributes  

  public void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.lang.String name
        start local 2 // int style
        start local 3 // int size
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            new java.awt.Font
            dup
            aload 1 /* name */
            iload 2 /* style */
            bipush 48
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            putfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
         2: .line 104
            aload 0 /* this */
            iload 3 /* size */
            i2d
            putfield org.apache.batik.gvt.font.AWTGVTFont.size:D
         3: .line 105
            aload 0 /* this */
            iload 3 /* size */
            i2f
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokevirtual java.awt.Font.getSize2D:()F
            fdiv
            f2d
            putfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
         4: .line 106
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokestatic org.apache.batik.gvt.font.AWTGVTFont.initializeFontCache:(Ljava/awt/Font;)V
         5: .line 107
            return
        end local 3 // int size
        end local 2 // int style
        end local 1 // java.lang.String name
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    6     1   name  Ljava/lang/String;
            0    6     2  style  I
            0    6     3   size  I
    MethodParameters:
       Name  Flags
      name   
      style  
      size   

  public boolean canDisplay(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // char c
         0: .line 116
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            iload 1 /* c */
            invokevirtual java.awt.Font.canDisplay:(C)Z
            ireturn
        end local 1 // char c
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public int canDisplayUpTo(char[], int, int);
    descriptor: ([CII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // char[] text
        start local 2 // int start
        start local 3 // int limit
         0: .line 131
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* text */
            iload 2 /* start */
            iload 3 /* limit */
            invokevirtual java.awt.Font.canDisplayUpTo:([CII)I
            ireturn
        end local 3 // int limit
        end local 2 // int start
        end local 1 // char[] text
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1   text  [C
            0    1     2  start  I
            0    1     3  limit  I
    MethodParameters:
       Name  Flags
      text   
      start  
      limit  

  public int canDisplayUpTo(java.text.CharacterIterator, int, int);
    descriptor: (Ljava/text/CharacterIterator;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.text.CharacterIterator iter
        start local 2 // int start
        start local 3 // int limit
         0: .line 139
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* iter */
            iload 2 /* start */
            iload 3 /* limit */
            invokevirtual java.awt.Font.canDisplayUpTo:(Ljava/text/CharacterIterator;II)I
            ireturn
        end local 3 // int limit
        end local 2 // int start
        end local 1 // java.text.CharacterIterator iter
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1   iter  Ljava/text/CharacterIterator;
            0    1     2  start  I
            0    1     3  limit  I
    MethodParameters:
       Name  Flags
      iter   
      start  
      limit  

  public int canDisplayUpTo(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.lang.String str
         0: .line 146
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* str */
            invokevirtual java.awt.Font.canDisplayUpTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // java.lang.String str
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, char[]);
    descriptor: (Ljava/awt/font/FontRenderContext;[C)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // char[] chars
         0: .line 157
            new java.text.StringCharacterIterator
            dup
            new java.lang.String
            dup
            aload 2 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
         1: .line 156
            astore 3 /* sci */
        start local 3 // java.text.StringCharacterIterator sci
         2: .line 158
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* frc */
            aload 2 /* chars */
            invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;[C)Ljava/awt/font/GlyphVector;
            astore 4 /* gv */
        start local 4 // java.awt.font.GlyphVector gv
         3: .line 159
            new org.apache.batik.gvt.font.AWTGVTGlyphVector
            dup
            aload 4 /* gv */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            aload 3 /* sci */
            invokespecial org.apache.batik.gvt.font.AWTGVTGlyphVector.<init>:(Ljava/awt/font/GlyphVector;Lorg/apache/batik/gvt/font/AWTGVTFont;DLjava/text/CharacterIterator;)V
            areturn
        end local 4 // java.awt.font.GlyphVector gv
        end local 3 // java.text.StringCharacterIterator sci
        end local 2 // char[] chars
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    4     1    frc  Ljava/awt/font/FontRenderContext;
            0    4     2  chars  [C
            2    4     3    sci  Ljava/text/StringCharacterIterator;
            3    4     4     gv  Ljava/awt/font/GlyphVector;
    MethodParameters:
       Name  Flags
      frc    
      chars  

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.text.CharacterIterator);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // java.text.CharacterIterator ci
         0: .line 169
            aload 2 /* ci */
            instanceof java.text.AttributedCharacterIterator
            ifeq 5
         1: .line 170
            aload 2 /* ci */
            checkcast java.text.AttributedCharacterIterator
            astore 3 /* aci */
        start local 3 // java.text.AttributedCharacterIterator aci
         2: .line 171
            aload 3 /* aci */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.containsArabic:(Ljava/text/AttributedCharacterIterator;)Z
            ifeq 5
         3: .line 172
            aload 3 /* aci */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.createSubstituteString:(Ljava/text/AttributedCharacterIterator;)Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
         4: .line 174
            aload 0 /* this */
            aload 1 /* frc */
            aload 4 /* str */
            invokevirtual org.apache.batik.gvt.font.AWTGVTFont.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
            areturn
        end local 4 // java.lang.String str
        end local 3 // java.text.AttributedCharacterIterator aci
         5: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* frc */
            aload 2 /* ci */
            invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/text/CharacterIterator;)Ljava/awt/font/GlyphVector;
            astore 3 /* gv */
        start local 3 // java.awt.font.GlyphVector gv
         6: .line 178
            new org.apache.batik.gvt.font.AWTGVTGlyphVector
            dup
            aload 3 /* gv */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            aload 2 /* ci */
            invokespecial org.apache.batik.gvt.font.AWTGVTGlyphVector.<init>:(Ljava/awt/font/GlyphVector;Lorg/apache/batik/gvt/font/AWTGVTFont;DLjava/text/CharacterIterator;)V
            areturn
        end local 3 // java.awt.font.GlyphVector gv
        end local 2 // java.text.CharacterIterator ci
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    7     1   frc  Ljava/awt/font/FontRenderContext;
            0    7     2    ci  Ljava/text/CharacterIterator;
            2    5     3   aci  Ljava/text/AttributedCharacterIterator;
            4    5     4   str  Ljava/lang/String;
            6    7     3    gv  Ljava/awt/font/GlyphVector;
    MethodParameters:
      Name  Flags
      frc   
      ci    

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, int[], java.text.CharacterIterator);
    descriptor: (Ljava/awt/font/FontRenderContext;[ILjava/text/CharacterIterator;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // int[] glyphCodes
        start local 3 // java.text.CharacterIterator ci
         0: .line 188
            new org.apache.batik.gvt.font.AWTGVTGlyphVector
            dup
         1: .line 189
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* frc */
            aload 2 /* glyphCodes */
            invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;[I)Ljava/awt/font/GlyphVector;
         2: .line 190
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            aload 3 /* ci */
         3: .line 188
            invokespecial org.apache.batik.gvt.font.AWTGVTGlyphVector.<init>:(Ljava/awt/font/GlyphVector;Lorg/apache/batik/gvt/font/AWTGVTFont;DLjava/text/CharacterIterator;)V
            areturn
        end local 3 // java.text.CharacterIterator ci
        end local 2 // int[] glyphCodes
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    4     1         frc  Ljava/awt/font/FontRenderContext;
            0    4     2  glyphCodes  [I
            0    4     3          ci  Ljava/text/CharacterIterator;
    MethodParameters:
            Name  Flags
      frc         
      glyphCodes  
      ci          

  public org.apache.batik.gvt.font.GVTGlyphVector createGlyphVector(java.awt.font.FontRenderContext, java.lang.String);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Lorg/apache/batik/gvt/font/GVTGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // java.lang.String str
         0: .line 200
            new java.text.StringCharacterIterator
            dup
            aload 2 /* str */
            invokespecial java.text.StringCharacterIterator.<init>:(Ljava/lang/String;)V
            astore 3 /* sci */
        start local 3 // java.text.StringCharacterIterator sci
         1: .line 202
            new org.apache.batik.gvt.font.AWTGVTGlyphVector
            dup
         2: .line 203
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* frc */
            aload 2 /* str */
            invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Ljava/awt/font/GlyphVector;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            aload 3 /* sci */
         3: .line 202
            invokespecial org.apache.batik.gvt.font.AWTGVTGlyphVector.<init>:(Ljava/awt/font/GlyphVector;Lorg/apache/batik/gvt/font/AWTGVTFont;DLjava/text/CharacterIterator;)V
            areturn
        end local 3 // java.text.StringCharacterIterator sci
        end local 2 // java.lang.String str
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    4     1   frc  Ljava/awt/font/FontRenderContext;
            0    4     2   str  Ljava/lang/String;
            1    4     3   sci  Ljava/text/StringCharacterIterator;
    MethodParameters:
      Name  Flags
      frc   
      str   

  public org.apache.batik.gvt.font.GVTFont deriveFont(float);
    descriptor: (F)Lorg/apache/batik/gvt/font/GVTFont;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // float size
         0: .line 211
            new org.apache.batik.gvt.font.AWTGVTFont
            dup
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            fload 1 /* size */
            f2d
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.size:D
            ddiv
            invokespecial org.apache.batik.gvt.font.AWTGVTFont.<init>:(Ljava/awt/Font;D)V
            areturn
        end local 1 // float size
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1  size  F
    MethodParameters:
      Name  Flags
      size  

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

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(char[], int, int, java.awt.font.FontRenderContext);
    descriptor: ([CIILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // char[] chars
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 225
            new org.apache.batik.gvt.font.GVTLineMetrics
            dup
         1: .line 226
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* chars */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            aload 4 /* frc */
            invokevirtual java.awt.Font.getLineMetrics:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            d2f
         2: .line 225
            invokespecial org.apache.batik.gvt.font.GVTLineMetrics.<init>:(Ljava/awt/font/LineMetrics;F)V
            areturn
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // char[] chars
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    3     1       chars  [C
            0    3     2  beginIndex  I
            0    3     3       limit  I
            0    3     4         frc  Ljava/awt/font/FontRenderContext;
    MethodParameters:
            Name  Flags
      chars       
      beginIndex  
      limit       
      frc         

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(java.text.CharacterIterator, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.text.CharacterIterator ci
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 236
            new org.apache.batik.gvt.font.GVTLineMetrics
            dup
         1: .line 237
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* ci */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            aload 4 /* frc */
            invokevirtual java.awt.Font.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            d2f
         2: .line 236
            invokespecial org.apache.batik.gvt.font.GVTLineMetrics.<init>:(Ljava/awt/font/LineMetrics;F)V
            areturn
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.text.CharacterIterator ci
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    3     1          ci  Ljava/text/CharacterIterator;
            0    3     2  beginIndex  I
            0    3     3       limit  I
            0    3     4         frc  Ljava/awt/font/FontRenderContext;
    MethodParameters:
            Name  Flags
      ci          
      beginIndex  
      limit       
      frc         

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(java.lang.String, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.lang.String str
        start local 2 // java.awt.font.FontRenderContext frc
         0: .line 245
            new org.apache.batik.gvt.font.GVTLineMetrics
            dup
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* str */
            aload 2 /* frc */
            invokevirtual java.awt.Font.getLineMetrics:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            d2f
            invokespecial org.apache.batik.gvt.font.GVTLineMetrics.<init>:(Ljava/awt/font/LineMetrics;F)V
            areturn
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.lang.String str
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1   str  Ljava/lang/String;
            0    1     2   frc  Ljava/awt/font/FontRenderContext;
    MethodParameters:
      Name  Flags
      str   
      frc   

  public org.apache.batik.gvt.font.GVTLineMetrics getLineMetrics(java.lang.String, int, int, java.awt.font.FontRenderContext);
    descriptor: (Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // java.lang.String str
        start local 2 // int beginIndex
        start local 3 // int limit
        start local 4 // java.awt.font.FontRenderContext frc
         0: .line 255
            new org.apache.batik.gvt.font.GVTLineMetrics
            dup
         1: .line 256
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 1 /* str */
            iload 2 /* beginIndex */
            iload 3 /* limit */
            aload 4 /* frc */
            invokevirtual java.awt.Font.getLineMetrics:(Ljava/lang/String;IILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.scale:D
            d2f
         2: .line 255
            invokespecial org.apache.batik.gvt.font.GVTLineMetrics.<init>:(Ljava/awt/font/LineMetrics;F)V
            areturn
        end local 4 // java.awt.font.FontRenderContext frc
        end local 3 // int limit
        end local 2 // int beginIndex
        end local 1 // java.lang.String str
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    3     1         str  Ljava/lang/String;
            0    3     2  beginIndex  I
            0    3     3       limit  I
            0    3     4         frc  Ljava/awt/font/FontRenderContext;
    MethodParameters:
            Name  Flags
      str         
      beginIndex  
      limit       
      frc         

  public float getSize();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
         0: .line 263
            aload 0 /* this */
            getfield org.apache.batik.gvt.font.AWTGVTFont.size:D
            d2f
            freturn
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/font/AWTGVTFont;

  public float getHKern(int, int);
    descriptor: (II)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // int glyphCode1
        start local 2 // int glyphCode2
         0: .line 270
            fconst_0
            freturn
        end local 2 // int glyphCode2
        end local 1 // int glyphCode1
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1  glyphCode1  I
            0    1     2  glyphCode2  I
    MethodParameters:
            Name  Flags
      glyphCode1  
      glyphCode2  

  public float getVKern(int, int);
    descriptor: (II)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont this
        start local 1 // int glyphCode1
        start local 2 // int glyphCode2
         0: .line 277
            fconst_0
            freturn
        end local 2 // int glyphCode2
        end local 1 // int glyphCode1
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0    1     1  glyphCode1  I
            0    1     2  glyphCode2  I
    MethodParameters:
            Name  Flags
      glyphCode1  
      glyphCode2  

  public static org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value getGlyphGeometry(org.apache.batik.gvt.font.AWTGVTFont, char, java.awt.font.GlyphVector, int, java.awt.geom.Point2D);
    descriptor: (Lorg/apache/batik/gvt/font/AWTGVTFont;CLjava/awt/font/GlyphVector;ILjava/awt/geom/Point2D;)Lorg/apache/batik/gvt/font/AWTGlyphGeometryCache$Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont font
        start local 1 // char c
        start local 2 // java.awt.font.GlyphVector gv
        start local 3 // int glyphIndex
        start local 4 // java.awt.geom.Point2D glyphPos
         0: .line 297
            getstatic org.apache.batik.gvt.font.AWTGVTFont.fontCache:Ljava/util/Map;
            aload 0 /* font */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.AWTGlyphGeometryCache
         1: .line 296
            astore 5 /* glyphCache */
        start local 5 // org.apache.batik.gvt.font.AWTGlyphGeometryCache glyphCache
         2: .line 299
            aload 5 /* glyphCache */
            iload 1 /* c */
            invokevirtual org.apache.batik.gvt.font.AWTGlyphGeometryCache.get:(C)Lorg/apache/batik/gvt/font/AWTGlyphGeometryCache$Value;
            astore 6 /* v */
        start local 6 // org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value v
         3: .line 300
            aload 6 /* v */
            ifnonnull 13
         4: .line 301
            aload 2 /* gv */
            iload 3 /* glyphIndex */
            invokevirtual java.awt.font.GlyphVector.getGlyphOutline:(I)Ljava/awt/Shape;
            astore 7 /* outline */
        start local 7 // java.awt.Shape outline
         5: .line 302
            aload 2 /* gv */
            iload 3 /* glyphIndex */
            invokevirtual java.awt.font.GlyphVector.getGlyphMetrics:(I)Ljava/awt/font/GlyphMetrics;
            astore 8 /* metrics */
        start local 8 // java.awt.font.GlyphMetrics metrics
         6: .line 303
            aload 8 /* metrics */
            invokevirtual java.awt.font.GlyphMetrics.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 9 /* gmB */
        start local 9 // java.awt.geom.Rectangle2D gmB
         7: .line 304
            invokestatic org.apache.batik.gvt.font.AWTGVTGlyphVector.outlinesPositioned:()Z
            ifeq 11
         8: .line 306
            aload 4 /* glyphPos */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dneg
            aload 4 /* glyphPos */
            invokevirtual java.awt.geom.Point2D.getY:()D
            dneg
         9: .line 305
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
            astore 10 /* tr */
        start local 10 // java.awt.geom.AffineTransform tr
        10: .line 307
            aload 10 /* tr */
            aload 7 /* outline */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 7 /* outline */
        end local 10 // java.awt.geom.AffineTransform tr
        11: .line 309
      StackMap locals: org.apache.batik.gvt.font.AWTGVTFont int java.awt.font.GlyphVector int java.awt.geom.Point2D org.apache.batik.gvt.font.AWTGlyphGeometryCache org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value java.awt.Shape java.awt.font.GlyphMetrics java.awt.geom.Rectangle2D
      StackMap stack:
            new org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value
            dup
            aload 7 /* outline */
            aload 9 /* gmB */
            invokespecial org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value.<init>:(Ljava/awt/Shape;Ljava/awt/geom/Rectangle2D;)V
            astore 6 /* v */
        12: .line 311
            aload 5 /* glyphCache */
            iload 1 /* c */
            aload 6 /* v */
            invokevirtual org.apache.batik.gvt.font.AWTGlyphGeometryCache.put:(CLorg/apache/batik/gvt/font/AWTGlyphGeometryCache$Value;)Lorg/apache/batik/gvt/font/AWTGlyphGeometryCache$Value;
            pop
        end local 9 // java.awt.geom.Rectangle2D gmB
        end local 8 // java.awt.font.GlyphMetrics metrics
        end local 7 // java.awt.Shape outline
        13: .line 313
      StackMap locals:
      StackMap stack:
            aload 6 /* v */
            areturn
        end local 6 // org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value v
        end local 5 // org.apache.batik.gvt.font.AWTGlyphGeometryCache glyphCache
        end local 4 // java.awt.geom.Point2D glyphPos
        end local 3 // int glyphIndex
        end local 2 // java.awt.font.GlyphVector gv
        end local 1 // char c
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont font
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        font  Lorg/apache/batik/gvt/font/AWTGVTFont;
            0   14     1           c  C
            0   14     2          gv  Ljava/awt/font/GlyphVector;
            0   14     3  glyphIndex  I
            0   14     4    glyphPos  Ljava/awt/geom/Point2D;
            2   14     5  glyphCache  Lorg/apache/batik/gvt/font/AWTGlyphGeometryCache;
            3   14     6           v  Lorg/apache/batik/gvt/font/AWTGlyphGeometryCache$Value;
            5   13     7     outline  Ljava/awt/Shape;
            6   13     8     metrics  Ljava/awt/font/GlyphMetrics;
            7   13     9         gmB  Ljava/awt/geom/Rectangle2D;
           10   11    10          tr  Ljava/awt/geom/AffineTransform;
    MethodParameters:
            Name  Flags
      font        
      c           
      gv          
      glyphIndex  
      glyphPos    

  static void initializeFontCache(java.awt.Font);
    descriptor: (Ljava/awt/Font;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.awt.Font awtFont
         0: .line 323
            getstatic org.apache.batik.gvt.font.AWTGVTFont.fontCache:Ljava/util/Map;
            aload 0 /* awtFont */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 324
            getstatic org.apache.batik.gvt.font.AWTGVTFont.fontCache:Ljava/util/Map;
            aload 0 /* awtFont */
            new org.apache.batik.gvt.font.AWTGlyphGeometryCache
            dup
            invokespecial org.apache.batik.gvt.font.AWTGlyphGeometryCache.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 326
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.awt.Font awtFont
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  awtFont  Ljava/awt/Font;
    MethodParameters:
         Name  Flags
      awtFont  

  static void putAWTGVTFont(org.apache.batik.gvt.font.AWTGVTFont);
    descriptor: (Lorg/apache/batik/gvt/font/AWTGVTFont;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.font.AWTGVTFont font
         0: .line 329
            getstatic org.apache.batik.gvt.font.AWTGVTFont.fontCache:Ljava/util/Map;
            aload 0 /* font */
            getfield org.apache.batik.gvt.font.AWTGVTFont.awtFont:Ljava/awt/Font;
            aload 0 /* font */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 330
            return
        end local 0 // org.apache.batik.gvt.font.AWTGVTFont font
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  font  Lorg/apache/batik/gvt/font/AWTGVTFont;
    MethodParameters:
      Name  Flags
      font  

  static org.apache.batik.gvt.font.AWTGVTFont getAWTGVTFont(java.awt.Font);
    descriptor: (Ljava/awt/Font;)Lorg/apache/batik/gvt/font/AWTGVTFont;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.Font awtFont
         0: .line 333
            getstatic org.apache.batik.gvt.font.AWTGVTFont.fontCache:Ljava/util/Map;
            aload 0 /* awtFont */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.AWTGVTFont
            areturn
        end local 0 // java.awt.Font awtFont
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  awtFont  Ljava/awt/Font;
    MethodParameters:
         Name  Flags
      awtFont  
}
SourceFile: "AWTGVTFont.java"
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public Value = org.apache.batik.gvt.font.AWTGlyphGeometryCache$Value of org.apache.batik.gvt.font.AWTGlyphGeometryCache