public abstract class org.apache.batik.bridge.SVGFontUtilities implements org.apache.batik.util.SVGConstants
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.batik.bridge.SVGFontUtilities
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/SVGFontUtilities;
public static java.util.List getFontFaces(org.w3c.dom.Document, org.apache.batik.bridge.BridgeContext);
descriptor: (Lorg/w3c/dom/Document;Lorg/apache/batik/bridge/BridgeContext;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.batik.bridge.BridgeContext.getFontFamilyMap:()Ljava/util/Map;
astore 2
start local 2 1: aload 2
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
4: StackMap locals: java.util.Map java.util.List
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
5: aload 0
6: ldc "http://www.w3.org/2000/svg"
ldc "font-face"
7: invokeinterface org.w3c.dom.Document.getElementsByTagNameNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;
astore 4
start local 4 8: aload 1
9: ldc "http://www.w3.org/2000/svg"
ldc "font-face"
10: invokevirtual org.apache.batik.bridge.BridgeContext.getBridge:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/batik/bridge/Bridge;
checkcast org.apache.batik.bridge.SVGFontFaceElementBridge
astore 5
start local 5 11: iconst_0
istore 6
start local 6 12: goto 18
13: StackMap locals: org.w3c.dom.NodeList org.apache.batik.bridge.SVGFontFaceElementBridge int
StackMap stack:
aload 4
iload 6
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
checkcast org.w3c.dom.Element
astore 7
start local 7 14: aload 3
aload 5
15: aload 1
aload 7
16: invokevirtual org.apache.batik.bridge.SVGFontFaceElementBridge.createFontFace:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;)Lorg/apache/batik/bridge/SVGFontFace;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 17: iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
aload 4
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 13
end local 6 19: aload 0
checkcast org.apache.batik.anim.dom.SVGOMDocument
invokevirtual org.apache.batik.anim.dom.SVGOMDocument.getCSSEngine:()Lorg/apache/batik/css/engine/CSSEngine;
astore 6
start local 6 20: aload 6
invokevirtual org.apache.batik.css.engine.CSSEngine.getFontFaces:()Ljava/util/List;
astore 7
start local 7 21: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 25
StackMap locals: org.w3c.dom.Document org.apache.batik.bridge.BridgeContext java.util.Map java.util.List org.w3c.dom.NodeList org.apache.batik.bridge.SVGFontFaceElementBridge org.apache.batik.css.engine.CSSEngine java.util.List top java.util.Iterator
StackMap stack:
22: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 23: aload 8
checkcast org.apache.batik.css.engine.FontFaceRule
astore 10
start local 10 24: aload 3
aload 6
aload 10
invokestatic org.apache.batik.bridge.CSSFontFace.createCSSFontFace:(Lorg/apache/batik/css/engine/CSSEngine;Lorg/apache/batik/css/engine/FontFaceRule;)Lorg/apache/batik/bridge/CSSFontFace;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 8 25: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
26: aload 3
areturn
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 27 0 doc Lorg/w3c/dom/Document;
0 27 1 ctx Lorg/apache/batik/bridge/BridgeContext;
1 27 2 fontFamilyMap Ljava/util/Map;
2 27 3 ret Ljava/util/List;
8 27 4 fontFaceElements Lorg/w3c/dom/NodeList;
11 27 5 fontFaceBridge Lorg/apache/batik/bridge/SVGFontFaceElementBridge;
12 19 6 i I
14 17 7 fontFaceElement Lorg/w3c/dom/Element;
20 27 6 engine Lorg/apache/batik/css/engine/CSSEngine;
21 27 7 sms Ljava/util/List;
23 25 8 sm Ljava/lang/Object;
24 25 10 ffr Lorg/apache/batik/css/engine/FontFaceRule;
MethodParameters:
Name Flags
doc
ctx
public static org.apache.batik.gvt.font.GVTFontFamily getFontFamily(org.w3c.dom.Element, org.apache.batik.bridge.BridgeContext, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/BridgeContext;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/batik/gvt/font/GVTFontFamily;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=25, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 3: aload 1
invokevirtual org.apache.batik.bridge.BridgeContext.getFontFamilyMap:()Ljava/util/Map;
astore 6
start local 6 4: aload 6
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.font.GVTFontFamily
5: astore 7
start local 7 6: aload 7
ifnull 8
7: aload 7
areturn
8: StackMap locals: java.lang.String java.util.Map org.apache.batik.gvt.font.GVTFontFamily
StackMap stack:
aload 0
invokeinterface org.w3c.dom.Element.getOwnerDocument:()Lorg/w3c/dom/Document;
astore 8
start local 8 9: aload 6
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 10: aload 9
ifnonnull 13
11: aload 8
aload 1
invokestatic org.apache.batik.bridge.SVGFontUtilities.getFontFaces:(Lorg/w3c/dom/Document;Lorg/apache/batik/bridge/BridgeContext;)Ljava/util/List;
astore 9
12: aload 6
aload 8
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: StackMap locals: org.w3c.dom.Document java.util.List
StackMap stack:
aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
start local 10 14: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 11
start local 11 15: goto 25
16: StackMap locals: java.util.Iterator java.util.List
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.batik.bridge.FontFace
astore 12
start local 12 17: aload 12
aload 2
invokevirtual org.apache.batik.bridge.FontFace.hasFamilyName:(Ljava/lang/String;)Z
ifne 19
18: goto 25
19: StackMap locals: org.apache.batik.bridge.FontFace
StackMap stack:
aload 12
invokevirtual org.apache.batik.bridge.FontFace.getFontStyle:()Ljava/lang/String;
astore 13
start local 13 20: aload 13
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
21: aload 13
aload 4
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 25
22: StackMap locals: java.lang.String
StackMap stack:
aload 12
aload 1
invokevirtual org.apache.batik.bridge.FontFace.getFontFamily:(Lorg/apache/batik/bridge/BridgeContext;)Lorg/apache/batik/gvt/font/GVTFontFamily;
astore 14
start local 14 23: aload 14
ifnull 25
24: aload 11
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 end local 13 end local 12 25: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
26: aload 11
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 29
27: aload 6
aload 5
aload 11
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 11
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.gvt.font.GVTFontFamily
areturn
29: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 83
30: aload 3
invokestatic org.apache.batik.bridge.SVGFontUtilities.getFontWeightNumberString:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 31: new java.util.ArrayList
dup
aload 11
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 13
start local 13 32: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 38
StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.BridgeContext java.lang.String java.lang.String java.lang.String java.lang.String java.util.Map org.apache.batik.gvt.font.GVTFontFamily org.w3c.dom.Document java.util.List java.util.Iterator java.util.List java.lang.String java.util.List top java.util.Iterator
StackMap stack:
33: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 14
start local 14 34: aload 14
checkcast org.apache.batik.gvt.font.GVTFontFamily
invokeinterface org.apache.batik.gvt.font.GVTFontFamily.getFontFace:()Lorg/apache/batik/gvt/font/GVTFontFace;
astore 16
start local 16 35: aload 16
invokevirtual org.apache.batik.gvt.font.GVTFontFace.getFontWeight:()Ljava/lang/String;
astore 17
start local 17 36: aload 17
invokestatic org.apache.batik.bridge.SVGFontUtilities.getFontWeightNumberString:(Ljava/lang/String;)Ljava/lang/String;
astore 17
37: aload 13
aload 17
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 14 38: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
39: new java.util.ArrayList
dup
aload 13
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 14
start local 14 40: bipush 100
istore 15
start local 15 41: goto 72
42: StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.BridgeContext java.lang.String java.lang.String java.lang.String java.lang.String java.util.Map org.apache.batik.gvt.font.GVTFontFamily org.w3c.dom.Document java.util.List java.util.Iterator java.util.List java.lang.String java.util.List java.util.List int
StackMap stack:
iload 15
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
astore 16
start local 16 43: iconst_0
istore 17
start local 17 44: sipush 1000
istore 18
start local 18 45: iconst_0
istore 19
start local 19 46: iconst_0
istore 20
start local 20 47: goto 62
48: StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.BridgeContext java.lang.String java.lang.String java.lang.String java.lang.String java.util.Map org.apache.batik.gvt.font.GVTFontFamily org.w3c.dom.Document java.util.List java.util.Iterator java.util.List java.lang.String java.util.List java.util.List int java.lang.String int int int int
StackMap stack:
aload 13
iload 20
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 21
start local 21 49: aload 21
aload 16
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmple 52
50: iconst_1
istore 17
51: goto 63
52: StackMap locals: java.lang.String
StackMap stack:
new java.util.StringTokenizer
dup
aload 21
ldc " ,"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
53: astore 22
start local 22 54: goto 60
55: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 22
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 23
start local 23 56: iload 23
iload 15
isub
invokestatic java.lang.Math.abs:(I)I
istore 24
start local 24 57: iload 24
iload 18
if_icmpge 60
58: iload 24
istore 18
59: iload 20
istore 19
end local 24 end local 23 60: StackMap locals:
StackMap stack:
aload 22
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 55
end local 22 end local 21 61: iinc 20 1
StackMap locals:
StackMap stack:
62: iload 20
aload 13
invokeinterface java.util.List.size:()I
if_icmplt 48
end local 20 63: StackMap locals:
StackMap stack:
iload 17
ifne 71
64: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 14
iload 19
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
65: ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
66: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
67: astore 20
start local 20 68: aload 14
iload 19
69: aload 20
70: invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 20 end local 19 end local 18 end local 17 end local 16 71: StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.BridgeContext java.lang.String java.lang.String java.lang.String java.lang.String java.util.Map org.apache.batik.gvt.font.GVTFontFamily org.w3c.dom.Document java.util.List java.util.Iterator java.util.List java.lang.String java.util.List java.util.List int
StackMap stack:
iinc 15 100
StackMap locals:
StackMap stack:
72: iload 15
sipush 900
if_icmple 42
end local 15 73: iconst_0
istore 15
start local 15 74: goto 80
75: StackMap locals:
StackMap stack:
aload 14
iload 15
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 76: aload 16
aload 12
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmple 79
77: aload 6
aload 5
aload 11
iload 15
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
78: aload 11
iload 15
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.gvt.font.GVTFontFamily
areturn
end local 16 79: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
80: iload 15
aload 11
invokeinterface java.util.List.size:()I
if_icmplt 75
end local 15 81: aload 6
aload 5
aload 11
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
82: aload 11
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.gvt.font.GVTFontFamily
areturn
end local 14 end local 13 end local 12 83: StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.BridgeContext java.lang.String java.lang.String java.lang.String java.lang.String java.util.Map org.apache.batik.gvt.font.GVTFontFamily org.w3c.dom.Document java.util.List java.util.Iterator java.util.List
StackMap stack:
new org.apache.batik.gvt.font.UnresolvedFontFamily
dup
aload 2
invokespecial org.apache.batik.gvt.font.UnresolvedFontFamily.<init>:(Ljava/lang/String;)V
84: astore 12
start local 12 85: aload 6
aload 5
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
86: aload 12
areturn
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 87 0 textElement Lorg/w3c/dom/Element;
0 87 1 ctx Lorg/apache/batik/bridge/BridgeContext;
0 87 2 fontFamilyName Ljava/lang/String;
0 87 3 fontWeight Ljava/lang/String;
0 87 4 fontStyle Ljava/lang/String;
3 87 5 fontKeyName Ljava/lang/String;
4 87 6 fontFamilyMap Ljava/util/Map;
6 87 7 fontFamily Lorg/apache/batik/gvt/font/GVTFontFamily;
9 87 8 doc Lorg/w3c/dom/Document;
10 87 9 fontFaces Ljava/util/List;
14 87 10 iter Ljava/util/Iterator;
15 87 11 svgFontFamilies Ljava/util/List;
17 25 12 fontFace Lorg/apache/batik/bridge/FontFace;
20 25 13 fontFaceStyle Ljava/lang/String;
23 25 14 ffam Lorg/apache/batik/gvt/font/GVTFontFamily;
31 83 12 fontWeightNumber Ljava/lang/String;
32 83 13 fontFamilyWeights Ljava/util/List;
34 38 14 svgFontFamily Ljava/lang/Object;
35 38 16 fontFace Lorg/apache/batik/gvt/font/GVTFontFace;
36 38 17 fontFaceWeight Ljava/lang/String;
40 83 14 newFontFamilyWeights Ljava/util/List;
41 73 15 i I
43 71 16 weightString Ljava/lang/String;
44 71 17 matched Z
45 71 18 minDifference I
46 71 19 minDifferenceIndex I
47 63 20 j I
49 61 21 fontFamilyWeight Ljava/lang/String;
54 61 22 st Ljava/util/StringTokenizer;
56 60 23 weightNum I
57 60 24 difference I
68 71 20 newFontFamilyWeight Ljava/lang/String;
74 81 15 i I
76 79 16 fontFaceWeight Ljava/lang/String;
85 87 12 gvtFontFamily Lorg/apache/batik/gvt/font/GVTFontFamily;
MethodParameters:
Name Flags
textElement
ctx
fontFamilyName
fontWeight
fontStyle
protected static java.lang.String getFontWeightNumberString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "normal"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc "400"
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "bold"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "700"
areturn
4: StackMap locals:
StackMap stack:
aload 0
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: ldc "100, 200, 300, 400, 500, 600, 700, 800, 900"
areturn
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 fontWeight Ljava/lang/String;
MethodParameters:
Name Flags
fontWeight
}
SourceFile: "SVGFontUtilities.java"