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 ;
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 ;
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: getstatic java.awt.font.TextAttribute.WEIGHT_EXTRA_LIGHT:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
1: putstatic org.apache.batik.svggen.SVGFont.EXTRA_LIGHT:F
2: getstatic java.awt.font.TextAttribute.WEIGHT_LIGHT:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
3: putstatic org.apache.batik.svggen.SVGFont.LIGHT:F
4: getstatic java.awt.font.TextAttribute.WEIGHT_DEMILIGHT:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
5: putstatic org.apache.batik.svggen.SVGFont.DEMILIGHT:F
6: getstatic java.awt.font.TextAttribute.WEIGHT_REGULAR:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
7: putstatic org.apache.batik.svggen.SVGFont.REGULAR:F
8: getstatic java.awt.font.TextAttribute.WEIGHT_SEMIBOLD:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
9: putstatic org.apache.batik.svggen.SVGFont.SEMIBOLD:F
10: getstatic java.awt.font.TextAttribute.WEIGHT_MEDIUM:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
11: putstatic org.apache.batik.svggen.SVGFont.MEDIUM:F
12: getstatic java.awt.font.TextAttribute.WEIGHT_DEMIBOLD:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
13: putstatic org.apache.batik.svggen.SVGFont.DEMIBOLD:F
14: getstatic java.awt.font.TextAttribute.WEIGHT_BOLD:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
15: putstatic org.apache.batik.svggen.SVGFont.BOLD:F
16: getstatic java.awt.font.TextAttribute.WEIGHT_HEAVY:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
17: putstatic org.apache.batik.svggen.SVGFont.HEAVY:F
18: getstatic java.awt.font.TextAttribute.WEIGHT_EXTRABOLD:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
19: putstatic org.apache.batik.svggen.SVGFont.EXTRABOLD:F
20: getstatic java.awt.font.TextAttribute.WEIGHT_ULTRABOLD:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
21: putstatic org.apache.batik.svggen.SVGFont.ULTRABOLD:F
22: getstatic java.awt.font.TextAttribute.POSTURE_REGULAR:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
23: putstatic org.apache.batik.svggen.SVGFont.POSTURE_REGULAR:F
24: getstatic java.awt.font.TextAttribute.POSTURE_OBLIQUE:Ljava/lang/Float;
invokevirtual java.lang.Float.floatValue:()F
25: putstatic org.apache.batik.svggen.SVGFont.POSTURE_OBLIQUE:F
26: iconst_1
newarray 6
dup
iconst_0
27: 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: putstatic org.apache.batik.svggen.SVGFont.fontStyles:[F
29: iconst_2
anewarray java.lang.String
dup
iconst_0
30: ldc "normal"
aastore
dup
iconst_1
31: ldc "italic"
aastore
32: putstatic org.apache.batik.svggen.SVGFont.svgStyles:[Ljava/lang/String;
33: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: putstatic org.apache.batik.svggen.SVGFont.fontWeights:[F
44: bipush 11
anewarray java.lang.String
dup
iconst_0
45: ldc "100"
aastore
dup
iconst_1
46: ldc "200"
aastore
dup
iconst_2
47: ldc "300"
aastore
dup
iconst_3
48: ldc "normal"
aastore
dup
iconst_4
49: ldc "500"
aastore
dup
iconst_5
50: ldc "500"
aastore
dup
bipush 6
51: ldc "600"
aastore
dup
bipush 7
52: ldc "bold"
aastore
dup
bipush 8
53: ldc "800"
aastore
dup
bipush 9
54: ldc "800"
aastore
dup
bipush 10
55: ldc "900"
aastore
56: putstatic org.apache.batik.svggen.SVGFont.svgWeights:[Ljava/lang/String;
57: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
58: 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: 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: 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: 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: 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: 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: 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 start local 1 0: aload 0
aload 1
invokespecial org.apache.batik.svggen.AbstractSVGConverter.<init>:(Lorg/apache/batik/svggen/SVGGeneratorContext;)V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
2: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokestatic org.apache.batik.svggen.SVGFont.createCommonSizeFont:(Ljava/awt/Font;)Ljava/awt/Font;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
aload 3
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: aload 3
invokevirtual java.awt.Font.getStyle:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 4: aload 0
getfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.batik.svggen.SVGFont$CharListHelper
astore 5
start local 5 5: aload 5
ifnonnull 7
6: new org.apache.batik.svggen.SVGFont$CharListHelper
dup
invokespecial org.apache.batik.svggen.SVGFont$CharListHelper.<init>:()V
astore 5
7: StackMap locals: java.awt.Font java.lang.String org.apache.batik.svggen.SVGFont$CharListHelper
StackMap stack:
iconst_0
istore 6
start local 6 8: goto 12
9: StackMap locals: int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 10: aload 5
iload 7
invokevirtual org.apache.batik.svggen.SVGFont$CharListHelper.add:(I)Z
pop
end local 7 11: iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 9
end local 6 13: aload 0
getfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
aload 4
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
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: aload 1
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: aload 0
aload 1
invokevirtual java.awt.Font.deriveFont:(Ljava/util/Map;)Ljava/awt/Font;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual org.apache.batik.ext.awt.g2d.GraphicContext.getFont:()Ljava/awt/Font;
aload 1
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 end local 0 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 start local 1 start local 2 0: new java.awt.font.FontRenderContext
dup
new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
1: aload 2
invokevirtual java.awt.font.FontRenderContext.isAntiAliased:()Z
2: aload 2
invokevirtual java.awt.font.FontRenderContext.usesFractionalMetrics:()Z
3: invokespecial java.awt.font.FontRenderContext.<init>:(Ljava/awt/geom/AffineTransform;ZZ)V
astore 3
start local 3 4: new java.lang.StringBuilder
dup
aload 0
aload 1
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
start local 4 5: aload 1
invokestatic org.apache.batik.svggen.SVGFont.weightToSVG:(Ljava/awt/Font;)Ljava/lang/String;
astore 5
start local 5 6: aload 1
invokestatic org.apache.batik.svggen.SVGFont.styleToSVG:(Ljava/awt/Font;)Ljava/lang/String;
astore 6
start local 6 7: aload 1
invokestatic org.apache.batik.svggen.SVGFont.familyToSVG:(Ljava/awt/Font;)Ljava/lang/String;
astore 7
start local 7 8: aload 1
invokestatic org.apache.batik.svggen.SVGFont.createCommonSizeFont:(Ljava/awt/Font;)Ljava/awt/Font;
astore 8
start local 8 9: new java.lang.StringBuilder
dup
aload 8
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: aload 8
invokevirtual java.awt.Font.getStyle:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 12: aload 0
getfield org.apache.batik.svggen.SVGFont.fontStringMap:Ljava/util/Map;
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.batik.svggen.SVGFont$CharListHelper
astore 10
start local 10 13: aload 10
ifnonnull 18
14: new org.apache.batik.svggen.SVGFontDescriptor
dup
aload 4
aload 5
15: aload 6
aload 7
16: aconst_null
17: 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: 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
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
start local 11 19: aload 0
getfield org.apache.batik.svggen.SVGFont.descMap:Ljava/util/Map;
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.batik.svggen.SVGFontDescriptor
20: astore 12
start local 12 21: aload 12
ifnull 24
22: aload 12
invokevirtual org.apache.batik.svggen.SVGFontDescriptor.getDef:()Lorg/w3c/dom/Element;
astore 13
start local 13 23: goto 69
end local 13 24: StackMap locals: org.w3c.dom.Document org.apache.batik.svggen.SVGFontDescriptor
StackMap stack:
aload 11
ldc "http://www.w3.org/2000/svg"
25: ldc "font"
26: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 13
start local 13 27: aload 11
ldc "http://www.w3.org/2000/svg"
28: ldc "font-face"
29: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 14
start local 14 30: aload 7
astore 15
start local 15 31: aload 7
ldc "'"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 35
32: aload 7
ldc "'"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 35
33: aload 7
iconst_1
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
34: astore 15
35: StackMap locals: org.w3c.dom.Element org.w3c.dom.Element java.lang.String
StackMap stack:
aload 14
aconst_null
ldc "font-family"
36: aload 15
37: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
38: aload 14
aconst_null
ldc "font-weight"
39: aload 5
40: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
41: aload 14
aconst_null
ldc "font-style"
42: aload 6
43: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
44: aload 14
aconst_null
ldc "units-per-em"
45: ldc "100"
46: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
47: aload 13
aload 14
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
48: aload 11
ldc "http://www.w3.org/2000/svg"
49: ldc "missing-glyph"
50: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
51: astore 16
start local 16 52: iconst_1
newarray 10
astore 17
start local 17 53: aload 17
iconst_0
aload 8
invokevirtual java.awt.Font.getMissingGlyphCode:()I
iastore
54: aload 8
aload 3
aload 17
invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;[I)Ljava/awt/font/GlyphVector;
astore 18
start local 18 55: aload 18
iconst_0
invokevirtual java.awt.font.GlyphVector.getGlyphOutline:(I)Ljava/awt/Shape;
astore 19
start local 19 56: aload 18
iconst_0
invokevirtual java.awt.font.GlyphVector.getGlyphMetrics:(I)Ljava/awt/font/GlyphMetrics;
astore 20
start local 20 57: dconst_1
ldc -1.0
invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
astore 21
start local 21 58: aload 21
aload 19
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 19
59: aload 16
aconst_null
ldc "d"
60: aload 19
aload 0
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: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
62: aload 16
aconst_null
ldc "horiz-adv-x"
aload 20
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: aload 13
aload 16
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
64: aload 13
aconst_null
ldc "horiz-adv-x"
aload 20
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: aload 8
ldc "By"
aload 3
invokevirtual java.awt.Font.getLineMetrics:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
astore 22
start local 22 66: aload 14
aconst_null
ldc "ascent"
aload 22
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: aload 14
aconst_null
ldc "descent"
aload 22
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: aload 13
aconst_null
ldc "id"
aload 0
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 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 69: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.apache.batik.svggen.SVGFont$CharListHelper.getNewChars:()Ljava/lang/String;
astore 14
start local 14 70: aload 10
invokevirtual org.apache.batik.svggen.SVGFont$CharListHelper.clearNewChars:()V
71: aload 14
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 15
start local 15 72: goto 103
73: StackMap locals: java.lang.String int
StackMap stack:
aload 14
iload 15
invokevirtual java.lang.String.charAt:(I)C
istore 16
start local 16 74: iload 16
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
astore 17
start local 17 75: iconst_0
istore 18
start local 18 76: aload 13
invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 19
start local 19 77: iconst_0
istore 20
start local 20 78: goto 85
79: 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
iload 20
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
instanceof org.w3c.dom.Element
ifeq 84
80: aload 19
iload 20
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
checkcast org.w3c.dom.Element
astore 21
start local 21 81: aload 21
aconst_null
ldc "unicode"
invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aload 17
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 84
82: iconst_1
istore 18
83: goto 86
end local 21 84: StackMap locals:
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
85: iload 20
aload 19
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 79
end local 20 86: StackMap locals:
StackMap stack:
iload 18
ifne 104
87: aload 11
ldc "http://www.w3.org/2000/svg"
88: ldc "glyph"
89: invokeinterface org.w3c.dom.Document.createElementNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
90: astore 20
start local 20 91: aload 8
aload 3
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 16
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
start local 21 92: aload 21
iconst_0
invokevirtual java.awt.font.GlyphVector.getGlyphOutline:(I)Ljava/awt/Shape;
astore 22
start local 22 93: aload 21
iconst_0
invokevirtual java.awt.font.GlyphVector.getGlyphMetrics:(I)Ljava/awt/font/GlyphMetrics;
astore 23
start local 23 94: dconst_1
ldc -1.0
invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
astore 24
start local 24 95: aload 24
aload 22
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 22
96: aload 20
aconst_null
ldc "d"
97: aload 22
aload 0
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: invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
99: aload 20
aconst_null
ldc "horiz-adv-x"
aload 23
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: aload 20
aconst_null
ldc "unicode"
iload 16
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: aload 13
aload 20
invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 102: iinc 15 -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
ifge 73
end local 15 104: StackMap locals:
StackMap stack:
new org.apache.batik.svggen.SVGFontDescriptor
dup
aload 4
aload 5
105: aload 6
aload 7
106: aload 13
107: 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: astore 15
start local 15 109: aload 12
ifnonnull 112
110: aload 0
getfield org.apache.batik.svggen.SVGFont.descMap:Ljava/util/Map;
aload 9
aload 15
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
111: aload 0
getfield org.apache.batik.svggen.SVGFont.defSet:Ljava/util/List;
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
112: StackMap locals: org.apache.batik.svggen.SVGFontDescriptor
StackMap stack:
aload 15
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual java.awt.Font.getFamily:()Ljava/lang/String;
astore 1
start local 1 1: getstatic org.apache.batik.svggen.SVGFont.logicalFontMap:Ljava/util/Map;
aload 0
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: astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
astore 1
goto 6
5: 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
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
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual java.awt.Font.getAttributes:()Ljava/util/Map;
astore 1
start local 1 1: aload 1
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
start local 2 2: aload 2
ifnonnull 6
3: aload 0
invokevirtual java.awt.Font.isItalic:()Z
ifeq 5
4: getstatic java.awt.font.TextAttribute.POSTURE_OBLIQUE:Ljava/lang/Float;
astore 2
goto 6
5: StackMap locals: java.util.Map java.lang.Float
StackMap stack:
getstatic java.awt.font.TextAttribute.POSTURE_REGULAR:Ljava/lang/Float;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Float.floatValue:()F
fstore 3
start local 3 7: iconst_0
istore 4
start local 4 8: iconst_0
istore 4
goto 12
9: StackMap locals: float int
StackMap stack:
fload 3
getstatic org.apache.batik.svggen.SVGFont.fontStyles:[F
iload 4
faload
fcmpg
ifgt 11
10: goto 13
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
getstatic org.apache.batik.svggen.SVGFont.fontStyles:[F
arraylength
if_icmplt 9
13: StackMap locals:
StackMap stack:
getstatic org.apache.batik.svggen.SVGFont.svgStyles:[Ljava/lang/String;
iload 4
aaload
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual java.awt.Font.getAttributes:()Ljava/util/Map;
astore 1
start local 1 1: aload 1
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
start local 2 2: aload 2
ifnonnull 6
3: aload 0
invokevirtual java.awt.Font.isBold:()Z
ifeq 5
4: getstatic java.awt.font.TextAttribute.WEIGHT_BOLD:Ljava/lang/Float;
astore 2
goto 6
5: StackMap locals: java.util.Map java.lang.Float
StackMap stack:
getstatic java.awt.font.TextAttribute.WEIGHT_REGULAR:Ljava/lang/Float;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Float.floatValue:()F
fstore 3
start local 3 7: iconst_0
istore 4
start local 4 8: iconst_0
istore 4
goto 12
9: StackMap locals: float int
StackMap stack:
fload 3
getstatic org.apache.batik.svggen.SVGFont.fontWeights:[F
iload 4
faload
fcmpg
ifgt 11
10: goto 13
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
getstatic org.apache.batik.svggen.SVGFont.fontWeights:[F
arraylength
if_icmplt 9
13: StackMap locals:
StackMap stack:
getstatic org.apache.batik.svggen.SVGFont.svgWeights:[Ljava/lang/String;
iload 4
aaload
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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