rsyntaxtree 1.0.8 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +77 -0
- data/.solargraph.yml +22 -0
- data/.tags +238 -10
- data/Gemfile +10 -5
- data/README.md +3 -2
- data/Rakefile +5 -2
- data/bin/rsyntaxtree +42 -50
- data/docs/Gemfile +3 -1
- data/docs/_layouts/default.html +1 -1
- data/docs/assets/svg/001.svg +39 -0
- data/docs/assets/svg/002.svg +65 -0
- data/docs/assets/svg/003.svg +54 -0
- data/docs/assets/svg/004.svg +68 -0
- data/docs/assets/svg/005.svg +41 -0
- data/docs/assets/svg/006.svg +47 -0
- data/docs/assets/svg/007.svg +55 -0
- data/docs/assets/svg/008.svg +63 -0
- data/docs/assets/svg/009.svg +61 -0
- data/docs/assets/svg/010.svg +85 -0
- data/docs/assets/svg/011.svg +49 -0
- data/docs/assets/svg/012.svg +55 -0
- data/docs/assets/svg/013.svg +203 -0
- data/docs/assets/svg/014.svg +188 -0
- data/docs/assets/svg/015.svg +60 -0
- data/docs/assets/svg/016.svg +801 -0
- data/docs/assets/svg/017.svg +77 -0
- data/docs/assets/svg/018.svg +66 -0
- data/docs/assets/svg/019.svg +256 -0
- data/docs/assets/svg/020.svg +99 -0
- data/lib/rsyntaxtree/base_graph.rb +260 -264
- data/lib/rsyntaxtree/element.rb +167 -179
- data/lib/rsyntaxtree/elementlist.rb +105 -124
- data/lib/rsyntaxtree/markup_parser.rb +82 -93
- data/lib/rsyntaxtree/string_parser.rb +221 -237
- data/lib/rsyntaxtree/svg_graph.rb +158 -197
- data/lib/rsyntaxtree/utils.rb +59 -63
- data/lib/rsyntaxtree/version.rb +3 -2
- data/lib/rsyntaxtree.rb +173 -177
- data/rsyntaxtree.gemspec +12 -10
- data/test/example_verify_test.rb +96 -0
- data/test/markup_parser_test.rb +3 -2
- metadata +54 -17
data/bin/rsyntaxtree
CHANGED
@@ -1,66 +1,58 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
require 'rsyntaxtree'
|
4
|
+
require_relative '../lib/rsyntaxtree'
|
5
|
+
require_relative '../lib/rsyntaxtree/utils'
|
7
6
|
require 'optimist'
|
8
|
-
require 'utils'
|
9
7
|
|
10
|
-
opts = Optimist
|
11
|
-
version "RSyntaxTree #{RSyntaxTree::VERSION} (c)
|
12
|
-
banner
|
13
|
-
RSyntaxTree, (linguistic) syntax tree generator written in Ruby.
|
8
|
+
opts = Optimist.options do
|
9
|
+
version "RSyntaxTree #{RSyntaxTree::VERSION} (c) 2023 Yoichiro Hasebe"
|
10
|
+
banner <<~BANNER
|
11
|
+
RSyntaxTree, (linguistic) syntax tree generator written in Ruby.
|
14
12
|
|
15
|
-
Usage:
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
Usage:
|
14
|
+
1) rsyntaxtree [options] "[VP [VP [V set] [NP bracket notation]] [ADV here]]"
|
15
|
+
2) rsyntaxtree [options] "/path/to/text/file"
|
16
|
+
where [options] are:
|
17
|
+
BANNER
|
19
18
|
|
20
|
-
opt :outdir, "Output directory",
|
21
|
-
|
22
|
-
opt :
|
23
|
-
|
24
|
-
opt :
|
25
|
-
|
26
|
-
opt :
|
27
|
-
|
28
|
-
opt :
|
29
|
-
opt :
|
30
|
-
|
31
|
-
opt :
|
32
|
-
:default => 1
|
33
|
-
opt :vheight, "Connector Height: 0.5-5.0",
|
34
|
-
:default => 2.0
|
35
|
-
opt :color, "Color text and bars: on or off",
|
36
|
-
:default => "on"
|
37
|
-
opt :symmetrize, "Generate radically symmetrical, balanced tree: on or off",
|
38
|
-
:default => "off"
|
39
|
-
opt :transparent, "Make background transparent: on or off",
|
40
|
-
:default => "off"
|
41
|
-
opt :polyline, "draw polyline connectors: on or off",
|
42
|
-
:default => "off"
|
19
|
+
opt :outdir, "Output directory", default: "./"
|
20
|
+
opt :format, "Output format: png, gif, jpg, pdf, or svg", default: "png"
|
21
|
+
opt :leafstyle, "visual style of tree leaves: auto, triangle, bar, or nothing", default: "auto"
|
22
|
+
opt :fontstyle, "Font style (available when ttf font is specified): sans, serif, cjk", default: "sans"
|
23
|
+
opt :font, "Path to a ttf font used to generate tree (optional)", type: String
|
24
|
+
opt :fontsize, "Size: 8-26", default: 16
|
25
|
+
opt :margin, "Margin: 0-10", default: 1
|
26
|
+
opt :vheight, "Connector Height: 0.5-5.0", default: 2.0
|
27
|
+
opt :color, "Color text and bars: on or off", default: "on"
|
28
|
+
opt :symmetrize, "Generate radically symmetrical, balanced tree: on or off", default: "off"
|
29
|
+
opt :transparent, "Make background transparent: on or off", default: "off"
|
30
|
+
opt :polyline, "draw polyline connectors: on or off", default: "off"
|
43
31
|
end
|
44
32
|
|
45
|
-
Optimist
|
46
|
-
Optimist
|
47
|
-
Optimist
|
48
|
-
Optimist
|
49
|
-
Optimist
|
50
|
-
Optimist
|
51
|
-
Optimist
|
52
|
-
Optimist
|
53
|
-
Optimist
|
54
|
-
Optimist
|
55
|
-
Optimist
|
56
|
-
Optimist
|
33
|
+
Optimist.die :outdir, "must be an exsting directory path" unless FileTest.directory?(opts[:outdir])
|
34
|
+
Optimist.die :format, "must be png, jpg, gif, or svg" unless /\A(png|jpg|gif|pdf|svg)\z/ =~ opts[:format]
|
35
|
+
Optimist.die :leafstyle, "must be auto, triangle, bar, or nothing" unless /\A(auto|triangle|bar|nothing)\z/ =~ opts[:leafstyle]
|
36
|
+
Optimist.die :fontstyle, "must be sans, serif, cjk" unless /\A(sans|serif|cjk)\z/ =~ opts[:fontstyle]
|
37
|
+
Optimist.die :font, "must be path to an existing ttf font" if opts[:font] && !File.exist?(opts[:font])
|
38
|
+
Optimist.die :fontsize, "must be in the range of 8-26" unless opts[:fontsize] >= 8 && opts[:fontsize] <= 26
|
39
|
+
Optimist.die :color, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:color]
|
40
|
+
Optimist.die :symmetrize, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:symmetrize]
|
41
|
+
Optimist.die :margin, "must be in the range of 0-10" if opts[:margin].negative? || opts[:margin] > 10
|
42
|
+
Optimist.die :vheight, "must be in the range of 0.5-5.0" if opts[:vheight] < 0.5 || opts[:vheight] > 5.0
|
43
|
+
Optimist.die :transparent, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:transparent]
|
44
|
+
Optimist.die :polyline, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:polyline]
|
57
45
|
|
58
46
|
string_opts = {}
|
59
47
|
opts.each do |key, value|
|
60
48
|
string_opts[key.to_sym] = value unless key == :font && !value
|
61
49
|
end
|
62
50
|
|
63
|
-
data = ARGV[0]
|
51
|
+
data = if File.exist?(File.expand_path(ARGV[0]))
|
52
|
+
File.read ARGV[0]
|
53
|
+
else
|
54
|
+
ARGV[0]
|
55
|
+
end
|
64
56
|
|
65
57
|
begin
|
66
58
|
RSyntaxTree::RSGenerator.check_data(data)
|
@@ -89,7 +81,7 @@ begin
|
|
89
81
|
rescue RSTError => e
|
90
82
|
puts e
|
91
83
|
exit
|
92
|
-
rescue => e
|
84
|
+
rescue StandardError => e
|
93
85
|
p e
|
94
86
|
puts "Error: something unexpected occurred"
|
95
87
|
exit
|
data/docs/Gemfile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source "https://rubygems.org"
|
2
4
|
# Hello! This is where you manage which Jekyll version is used to run.
|
3
5
|
# When you want to use a different version, change it below, save the
|
@@ -27,5 +29,5 @@ platforms :mingw, :x64_mingw, :mswin, :jruby do
|
|
27
29
|
end
|
28
30
|
|
29
31
|
# Performance-booster for watching directories on Windows
|
30
|
-
gem "wdm", "~> 0.1.1", :
|
32
|
+
gem "wdm", "~> 0.1.1", platforms: [:mingw, :x64_mingw, :mswin]
|
31
33
|
gem "webrick"
|
data/docs/_layouts/default.html
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
{{ content }}
|
36
36
|
|
37
37
|
<footer class="site-footer" style='border-top-width: 0; text-align: center;'>
|
38
|
-
<div> <span class="site-footer-credits">© Yoichiro HASEBE 2009-
|
38
|
+
<div> <span class="site-footer-credits">© Yoichiro HASEBE 2009-2023</span></div>
|
39
39
|
{% include social_media_links.html %}
|
40
40
|
</footer>
|
41
41
|
</main>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="647.8000000000001" height="770.4" viewBox="-20, -20, 667.8000000000001, 790.4" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="purple" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="blue" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="green" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="667.8000000000001" height="790.4" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='298.32500000000005' y='132.0'><tspan x='298.32500000000005' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">A</tspan>
|
20
|
+
</text>
|
21
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='125.05000000000001' y='431.2'><tspan x='125.05000000000001' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">B</tspan>
|
22
|
+
</text>
|
23
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='33.60000000000002' y='730.4'><tspan x='33.60000000000002' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">D</tspan>
|
24
|
+
</text>
|
25
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='215.0' y='730.4'><tspan x='215.0' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">E</tspan>
|
26
|
+
</text>
|
27
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='477.1' y='431.2'><tspan x='477.1' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">C</tspan>
|
28
|
+
</text>
|
29
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='389.40000000000003' y='730.4'><tspan x='389.40000000000003' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">F</tspan>
|
30
|
+
</text>
|
31
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='561.8000000000001' y='730.4'><tspan x='561.8000000000001' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">G</tspan>
|
32
|
+
</text>
|
33
|
+
<line style='stroke:black; stroke-width:2;' x1='146.05' y1='321.2' x2='321.32500000000005' y2='187.0' />
|
34
|
+
<line style='stroke:black; stroke-width:2;' x1='496.6' y1='321.2' x2='321.32500000000005' y2='187.0' />
|
35
|
+
<line style='stroke:black; stroke-width:2;' x1='57.10000000000002' y1='620.4' x2='146.05' y2='486.2' />
|
36
|
+
<line style='stroke:black; stroke-width:2;' x1='235.0' y1='620.4' x2='146.05' y2='486.2' />
|
37
|
+
<line style='stroke:black; stroke-width:2;' x1='408.40000000000003' y1='620.4' x2='496.6' y2='486.2' />
|
38
|
+
<line style='stroke:black; stroke-width:2;' x1='584.8000000000001' y1='620.4' x2='496.6' y2='486.2' />
|
39
|
+
</svg>
|
@@ -0,0 +1,65 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="1601.0" height="1668.0000000000002" viewBox="-20, -20, 1621.0, 1688.0000000000002" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="black" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="1621.0" height="1688.0000000000002" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='496.04999999999995' y='132.0'><tspan x='496.04999999999995' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">CP</tspan>
|
20
|
+
</text>
|
21
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.60000000000002' y='431.2'><tspan x='33.60000000000002' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">John</tspan>
|
22
|
+
</text>
|
23
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='926.4999999999999' y='431.2'><tspan x='926.4999999999999' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">TP</tspan>
|
24
|
+
</text>
|
25
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='680.3749999999999' y='730.4'><tspan x='680.3749999999999' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">T</tspan>
|
26
|
+
</text>
|
27
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='508.44999999999993' y='1029.6'><tspan x='508.44999999999993' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
28
|
+
</text>
|
29
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='309.99999999999994' y='1328.8000000000002'><tspan x='309.99999999999994' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">cause</tspan>
|
30
|
+
</text>
|
31
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='643.3999999999999' y='1328.8000000000002'><tspan x='643.3999999999999' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
32
|
+
</text>
|
33
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='615.3999999999999' y='1628.0000000000002'><tspan x='615.3999999999999' y='1628.0000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">fall</tspan>
|
34
|
+
</text>
|
35
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='849.8' y='1029.6'><tspan x='849.8' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">T</tspan>
|
36
|
+
</text>
|
37
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1190.1249999999998' y='730.4'><tspan x='1190.1249999999998' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">VP</tspan>
|
38
|
+
</text>
|
39
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1024.1999999999998' y='1029.6'><tspan x='1024.1999999999998' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
40
|
+
</text>
|
41
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1023.1999999999998' y='1328.8000000000002'><tspan x='1023.1999999999998' y='1328.8000000000002' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">t</tspan>
|
42
|
+
<tspan x='1047.1999999999998' y='1332.8000000000002' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">c</tspan>
|
43
|
+
</text>
|
44
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1377.0499999999997' y='1029.6'><tspan x='1377.0499999999997' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">CP</tspan>
|
45
|
+
</text>
|
46
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1203.6' y='1328.8000000000002'><tspan x='1203.6' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">books</tspan>
|
47
|
+
</text>
|
48
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1517.0' y='1328.8000000000002'><tspan x='1517.0' y='1328.8000000000002' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">t</tspan>
|
49
|
+
<tspan x='1541.0' y='1332.8000000000002' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">f</tspan>
|
50
|
+
</text>
|
51
|
+
<line style='stroke:black; stroke-width:2;' x1='104.60000000000002' y1='321.2' x2='535.05' y2='187.0' />
|
52
|
+
<line style='stroke:black; stroke-width:2;' x1='965.4999999999999' y1='321.2' x2='535.05' y2='187.0' />
|
53
|
+
<line style='stroke:black; stroke-width:2;' x1='699.8749999999999' y1='620.4' x2='965.4999999999999' y2='486.2' />
|
54
|
+
<line style='stroke:black; stroke-width:2;' x1='1231.1249999999998' y1='620.4' x2='965.4999999999999' y2='486.2' />
|
55
|
+
<line style='stroke:black; stroke-width:2;' x1='530.4499999999999' y1='919.6' x2='699.8749999999999' y2='785.4' />
|
56
|
+
<line style='stroke:black; stroke-width:2;' x1='869.3' y1='919.6' x2='699.8749999999999' y2='785.4' />
|
57
|
+
<line style='stroke:black; stroke-width:2;' x1='395.49999999999994' y1='1218.8000000000002' x2='530.4499999999999' y2='1084.6' />
|
58
|
+
<line style='stroke:black; stroke-width:2;' x1='665.3999999999999' y1='1218.8000000000002' x2='530.4499999999999' y2='1084.6' />
|
59
|
+
<line style='stroke:black; stroke-width:2;' x1='665.3999999999999' y1='1518.0000000000002' x2='665.3999999999999' y2='1383.8000000000002' />
|
60
|
+
<line style='stroke:black; stroke-width:2;' x1='1046.1999999999998' y1='919.6' x2='1231.1249999999998' y2='785.4' />
|
61
|
+
<line style='stroke:black; stroke-width:2;' x1='1416.0499999999997' y1='919.6' x2='1231.1249999999998' y2='785.4' />
|
62
|
+
<line style='stroke:black; stroke-width:2;' x1='1046.1999999999998' y1='1218.8000000000002' x2='1046.1999999999998' y2='1084.6' />
|
63
|
+
<line style='stroke:black; stroke-width:2;' x1='1293.1' y1='1218.8000000000002' x2='1416.0499999999997' y2='1084.6' />
|
64
|
+
<line style='stroke:black; stroke-width:2;' x1='1539.0' y1='1218.8000000000002' x2='1416.0499999999997' y2='1084.6' />
|
65
|
+
</svg>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="1344.1999999999998" height="1668.0000000000002" viewBox="-20, -20, 1364.1999999999998, 1688.0000000000002" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="black" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="1364.1999999999998" height="1688.0000000000002" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='302.50625' y='132.0'><tspan x='302.50625' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">VP</tspan>
|
20
|
+
</text>
|
21
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.60000000000002' y='431.2'><tspan x='33.60000000000002' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">John</tspan>
|
22
|
+
</text>
|
23
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='553.9124999999999' y='431.2'><tspan x='553.9124999999999' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V'</tspan>
|
24
|
+
</text>
|
25
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='309.99999999999994' y='730.4'><tspan x='309.99999999999994' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
26
|
+
</text>
|
27
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='315.99999999999994' y='1029.6'><tspan x='315.99999999999994' y='1029.6' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">e</tspan>
|
28
|
+
</text>
|
29
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='791.8249999999999' y='730.4'><tspan x='791.8249999999999' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">VP</tspan>
|
30
|
+
</text>
|
31
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='556.4' y='1029.6'><tspan x='556.4' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NP</tspan>
|
32
|
+
</text>
|
33
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='488.4' y='1328.8000000000002'><tspan x='488.4' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">a<tspan style='fill:none;'>■</tspan>book</tspan>
|
34
|
+
</text>
|
35
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1036.75' y='1029.6'><tspan x='1036.75' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V'</tspan>
|
36
|
+
</text>
|
37
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='895.3' y='1328.8000000000002'><tspan x='895.3' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
38
|
+
</text>
|
39
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='846.8' y='1628.0000000000002'><tspan x='846.8' y='1628.0000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">gave</tspan>
|
40
|
+
</text>
|
41
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1122.1999999999998' y='1328.8000000000002'><tspan x='1122.1999999999998' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">to-Bill</tspan>
|
42
|
+
</text>
|
43
|
+
<line style='stroke:black; stroke-width:2;' x1='104.60000000000002' y1='321.2' x2='343.50625' y2='187.0' />
|
44
|
+
<line style='stroke:black; stroke-width:2;' x1='582.4124999999999' y1='321.2' x2='343.50625' y2='187.0' />
|
45
|
+
<line style='stroke:black; stroke-width:2;' x1='331.99999999999994' y1='620.4' x2='582.4124999999999' y2='486.2' />
|
46
|
+
<line style='stroke:black; stroke-width:2;' x1='832.8249999999999' y1='620.4' x2='582.4124999999999' y2='486.2' />
|
47
|
+
<line style='stroke:black; stroke-width:2;' x1='331.99999999999994' y1='919.6' x2='331.99999999999994' y2='785.4' />
|
48
|
+
<line style='stroke:black; stroke-width:2;' x1='600.4' y1='919.6' x2='832.8249999999999' y2='785.4' />
|
49
|
+
<line style='stroke:black; stroke-width:2;' x1='1065.25' y1='919.6' x2='832.8249999999999' y2='785.4' />
|
50
|
+
<polygon style='fill: none; stroke: black; stroke-width:2;' points='488.4 1218.8000000000002 712.4 1218.8000000000002 600.4 1084.6' />
|
51
|
+
<line style='stroke:black; stroke-width:2;' x1='917.3' y1='1218.8000000000002' x2='1065.25' y2='1084.6' />
|
52
|
+
<line style='stroke:black; stroke-width:2;' x1='1213.1999999999998' y1='1218.8000000000002' x2='1065.25' y2='1084.6' />
|
53
|
+
<line style='stroke:black; stroke-width:2;' x1='917.3' y1='1518.0000000000002' x2='917.3' y2='1383.8000000000002' />
|
54
|
+
</svg>
|
@@ -0,0 +1,68 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="1614.1999999999998" height="1668.0000000000002" viewBox="-20, -20, 1634.1999999999998, 1688.0000000000002" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="black" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="1634.1999999999998" height="1688.0000000000002" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='314.34999999999997' y='132.0'><tspan x='314.34999999999997' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">VP</tspan>
|
20
|
+
<tspan x='396.34999999999997' y='136.0' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">1</tspan>
|
21
|
+
</text>
|
22
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='48.10000000000002' y='431.2'><tspan x='48.10000000000002' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NP</tspan>
|
23
|
+
<tspan x='136.10000000000002' y='435.2' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">1</tspan>
|
24
|
+
</text>
|
25
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.60000000000002' y='730.4'><tspan x='33.60000000000002' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">John</tspan>
|
26
|
+
</text>
|
27
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='590.0999999999999' y='431.2'><tspan x='590.0999999999999' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V'</tspan>
|
28
|
+
<tspan x='647.0999999999999' y='435.2' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">1</tspan>
|
29
|
+
</text>
|
30
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='309.99999999999994' y='730.4'><tspan x='309.99999999999994' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
31
|
+
<tspan x='353.99999999999994' y='734.4' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">1</tspan>
|
32
|
+
</text>
|
33
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='328.49999999999994' y='1029.6'><tspan x='328.49999999999994' y='1029.6' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">e</tspan>
|
34
|
+
</text>
|
35
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='864.1999999999998' y='730.4'><tspan x='864.1999999999998' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">VP</tspan>
|
36
|
+
<tspan x='946.1999999999998' y='734.4' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">2</tspan>
|
37
|
+
</text>
|
38
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='599.8999999999999' y='1029.6'><tspan x='599.8999999999999' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NP</tspan>
|
39
|
+
<tspan x='687.8999999999999' y='1033.6' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">2</tspan>
|
40
|
+
</text>
|
41
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='513.3999999999999' y='1328.8000000000002'><tspan x='513.3999999999999' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">the<tspan style='fill:none;'>■</tspan>book</tspan>
|
42
|
+
</text>
|
43
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1137.9999999999998' y='1029.6'><tspan x='1137.9999999999998' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V'</tspan>
|
44
|
+
<tspan x='1194.9999999999998' y='1033.6' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">2</tspan>
|
45
|
+
</text>
|
46
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='950.8' y='1328.8000000000002'><tspan x='950.8' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">V</tspan>
|
47
|
+
<tspan x='994.8' y='1332.8000000000002' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">2</tspan>
|
48
|
+
</text>
|
49
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='933.8' y='1628.0000000000002'><tspan x='933.8' y='1628.0000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">put</tspan>
|
50
|
+
</text>
|
51
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1334.1999999999998' y='1328.8000000000002'><tspan x='1334.1999999999998' y='1328.8000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">ZP</tspan>
|
52
|
+
</text>
|
53
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1171.1999999999998' y='1628.0000000000002'><tspan x='1171.1999999999998' y='1628.0000000000002' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">on<tspan style='fill:none;'>■</tspan>the<tspan style='fill:none;'>■</tspan>shelf</tspan>
|
54
|
+
</text>
|
55
|
+
<line style='stroke:black; stroke-width:2;' x1='104.60000000000002' y1='321.2' x2='367.84999999999997' y2='187.0' />
|
56
|
+
<line style='stroke:black; stroke-width:2;' x1='631.0999999999999' y1='321.2' x2='367.84999999999997' y2='187.0' />
|
57
|
+
<line style='stroke:black; stroke-width:2;' x1='104.60000000000002' y1='620.4' x2='104.60000000000002' y2='486.2' />
|
58
|
+
<line style='stroke:black; stroke-width:2;' x1='344.49999999999994' y1='620.4' x2='631.0999999999999' y2='486.2' />
|
59
|
+
<line style='stroke:black; stroke-width:2;' x1='917.6999999999998' y1='620.4' x2='631.0999999999999' y2='486.2' />
|
60
|
+
<line style='stroke:black; stroke-width:2;' x1='344.49999999999994' y1='919.6' x2='344.49999999999994' y2='785.4' />
|
61
|
+
<line style='stroke:black; stroke-width:2;' x1='656.3999999999999' y1='919.6' x2='917.6999999999998' y2='785.4' />
|
62
|
+
<line style='stroke:black; stroke-width:2;' x1='1178.9999999999998' y1='919.6' x2='917.6999999999998' y2='785.4' />
|
63
|
+
<polygon style='fill: none; stroke: black; stroke-width:2;' points='513.3999999999999 1218.8000000000002 799.3999999999999 1218.8000000000002 656.3999999999999 1084.6' />
|
64
|
+
<line style='stroke:black; stroke-width:2;' x1='985.3' y1='1218.8000000000002' x2='1178.9999999999998' y2='1084.6' />
|
65
|
+
<line style='stroke:black; stroke-width:2;' x1='1372.6999999999998' y1='1218.8000000000002' x2='1178.9999999999998' y2='1084.6' />
|
66
|
+
<line style='stroke:black; stroke-width:2;' x1='985.3' y1='1518.0000000000002' x2='985.3' y2='1383.8000000000002' />
|
67
|
+
<polygon style='fill: none; stroke: black; stroke-width:2;' points='1171.1999999999998 1518.0000000000002 1574.1999999999998 1518.0000000000002 1372.6999999999998 1383.8000000000002' />
|
68
|
+
</svg>
|
@@ -0,0 +1,41 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="918.8" height="1084.6" viewBox="-20, -20, 938.8, 1104.6" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="black" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="938.8" height="1104.6" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='282.0125' y='132.0'><tspan x='282.0125' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">X</tspan>
|
20
|
+
<tspan x='327.0125' y='111.0' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">max</tspan>
|
21
|
+
</text>
|
22
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.599999999999994' y='436.2'><tspan x='33.599999999999994' y='436.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">[Y−X]</tspan>
|
23
|
+
</text>
|
24
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='541.925' y='436.2'><tspan x='541.925' y='436.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">YP</tspan>
|
25
|
+
</text>
|
26
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='338.0' y='740.4'><tspan x='338.0' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Spec</tspan>
|
27
|
+
<tspan x='483.0' y='744.4' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">1</tspan>
|
28
|
+
</text>
|
29
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='718.3499999999999' y='740.4'><tspan x='718.3499999999999' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Y'</tspan>
|
30
|
+
</text>
|
31
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='641.4000000000001' y='1044.6'><tspan x='641.4000000000001' y='1044.6' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">t</tspan>
|
32
|
+
</text>
|
33
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='799.8' y='1044.6'><tspan x='799.8' y='1044.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">ZP</tspan>
|
34
|
+
</text>
|
35
|
+
<line style='stroke:black; stroke-width:2;' x1='118.6' y1='326.2' x2='351.5125' y2='187.0' />
|
36
|
+
<line style='stroke:black; stroke-width:2;' x1='584.425' y1='326.2' x2='351.5125' y2='187.0' />
|
37
|
+
<line style='stroke:black; stroke-width:2;' x1='422.5' y1='630.4' x2='584.425' y2='491.2' />
|
38
|
+
<line style='stroke:black; stroke-width:2;' x1='746.3499999999999' y1='630.4' x2='584.425' y2='491.2' />
|
39
|
+
<line style='stroke:black; stroke-width:2;' x1='653.4000000000001' y1='934.5999999999999' x2='746.3499999999999' y2='795.4' />
|
40
|
+
<line style='stroke:black; stroke-width:2;' x1='839.3' y1='934.5999999999999' x2='746.3499999999999' y2='795.4' />
|
41
|
+
</svg>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="1159.1999999999998" height="1388.8" viewBox="-20, -20, 1179.1999999999998, 1408.8" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="black" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="1179.1999999999998" height="1408.8" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='308.94375' y='132.0'><tspan x='308.94375' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">𝑣P</tspan>
|
20
|
+
</text>
|
21
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.60000000000002' y='436.2'><tspan x='33.60000000000002' y='436.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Spec</tspan>
|
22
|
+
<tspan x='178.60000000000002' y='440.2' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">2</tspan>
|
23
|
+
</text>
|
24
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='566.7875' y='436.2'><tspan x='566.7875' y='436.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">𝑣'</tspan>
|
25
|
+
</text>
|
26
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='337.0' y='740.4'><tspan x='337.0' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Subj</tspan>
|
27
|
+
</text>
|
28
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='766.575' y='740.4'><tspan x='766.575' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">𝑣'</tspan>
|
29
|
+
</text>
|
30
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='607.4' y='1044.6'><tspan x='607.4' y='1044.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Vb</tspan>
|
31
|
+
</text>
|
32
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='915.25' y='1044.6'><tspan x='915.25' y='1044.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">VP</tspan>
|
33
|
+
</text>
|
34
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='827.8000000000001' y='1348.8'><tspan x='827.8000000000001' y='1348.8' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">t</tspan>
|
35
|
+
<tspan x='851.8000000000001' y='1352.8' style="font-size: 70%; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">v</tspan>
|
36
|
+
</text>
|
37
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1011.1999999999998' y='1348.8'><tspan x='1011.1999999999998' y='1348.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Obj</tspan>
|
38
|
+
</text>
|
39
|
+
<line style='stroke:black; stroke-width:2;' x1='118.10000000000002' y1='326.2' x2='361.44375' y2='187.0' />
|
40
|
+
<line style='stroke:black; stroke-width:2;' x1='604.7875' y1='326.2' x2='361.44375' y2='187.0' />
|
41
|
+
<line style='stroke:black; stroke-width:2;' x1='405.0' y1='630.4' x2='604.7875' y2='491.2' />
|
42
|
+
<line style='stroke:black; stroke-width:2;' x1='804.575' y1='630.4' x2='604.7875' y2='491.2' />
|
43
|
+
<line style='stroke:black; stroke-width:2;' x1='650.4' y1='934.5999999999999' x2='804.575' y2='795.4' />
|
44
|
+
<line style='stroke:black; stroke-width:2;' x1='958.75' y1='934.5999999999999' x2='804.575' y2='795.4' />
|
45
|
+
<line style='stroke:black; stroke-width:2;' x1='852.3000000000001' y1='1238.8' x2='958.75' y2='1099.6' />
|
46
|
+
<line style='stroke:black; stroke-width:2;' x1='1065.1999999999998' y1='1238.8' x2='958.75' y2='1099.6' />
|
47
|
+
</svg>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="1617.7999999999997" height="1513.1999999999998" viewBox="-20, -20, 1637.7999999999997, 1533.1999999999998" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<marker id="arrow" markerUnits="strokeWidth" markerWidth="13.440000000000001" markerHeight="13.440000000000001" viewBox="0 0 13.440000000000001 13.440000000000001" refX="6.720000000000001" refY="0">
|
6
|
+
<polyline fill="none" stroke="black" stroke-width="1" points="0,13.440000000000001,6.720000000000001,0,13.440000000000001,13.440000000000001" />
|
7
|
+
</marker>
|
8
|
+
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
9
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
10
|
+
</pattern>
|
11
|
+
<pattern id="hatchForNode" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
12
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
13
|
+
</pattern>
|
14
|
+
<pattern id="hatchForLeaf" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
15
|
+
<line x1="0" y="0" x2="0" y2="10" stroke="black" stroke-width="4"></line>
|
16
|
+
</pattern>
|
17
|
+
</defs>
|
18
|
+
<rect x="-20" y="-20" width="1637.7999999999997" height="1533.1999999999998" stroke="none" fill="white" />"
|
19
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='592.3' y='132.0'><tspan x='592.3' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">XP</tspan>
|
20
|
+
</text>
|
21
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='138.10000000000002' y='436.2'><tspan x='138.10000000000002' y='436.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">W</tspan>
|
22
|
+
</text>
|
23
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.60000000000002' y='740.4'><tspan x='33.60000000000002' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Specifier</tspan>
|
24
|
+
<tspan x='75.60000000000002' y='833.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">指定部</tspan>
|
25
|
+
</text>
|
26
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1070.5' y='436.2'><tspan x='1070.5' y='436.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">X'</tspan>
|
27
|
+
</text>
|
28
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='727.1999999999999' y='740.4'><tspan x='727.1999999999999' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">X'</tspan>
|
29
|
+
</text>
|
30
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='517.5' y='1044.6'><tspan x='517.5' y='1044.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">X</tspan>
|
31
|
+
</text>
|
32
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='444.0' y='1348.8'><tspan x='458.0' y='1348.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Head</tspan>
|
33
|
+
<tspan x='444.0' y='1441.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">主要部</tspan>
|
34
|
+
</text>
|
35
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='949.3999999999999' y='1044.6'><tspan x='949.3999999999999' y='1044.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Y</tspan>
|
36
|
+
</text>
|
37
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='770.3999999999999' y='1348.8'><tspan x='770.3999999999999' y='1348.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Complement</tspan>
|
38
|
+
<tspan x='907.3999999999999' y='1441.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">補部</tspan>
|
39
|
+
</text>
|
40
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1423.2999999999997' y='740.4'><tspan x='1423.2999999999997' y='740.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Z</tspan>
|
41
|
+
</text>
|
42
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1306.7999999999997' y='1044.6'><tspan x='1306.7999999999997' y='1044.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Modifier</tspan>
|
43
|
+
<tspan x='1346.2999999999997' y='1137.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">付加部</tspan>
|
44
|
+
</text>
|
45
|
+
<line style='stroke:black; stroke-width:2;' x1='171.60000000000002' y1='326.2' x2='635.3' y2='187.0' />
|
46
|
+
<line style='stroke:black; stroke-width:2;' x1='1099.0' y1='326.2' x2='635.3' y2='187.0' />
|
47
|
+
<line style='stroke:black; stroke-width:2;' x1='171.60000000000002' y1='630.4' x2='171.60000000000002' y2='491.2' />
|
48
|
+
<line style='stroke:black; stroke-width:2;' x1='755.6999999999999' y1='630.4' x2='1099.0' y2='491.2' />
|
49
|
+
<line style='stroke:black; stroke-width:2;' x1='1442.2999999999997' y1='630.4' x2='1099.0' y2='491.2' />
|
50
|
+
<line style='stroke:black; stroke-width:2;' x1='540.0' y1='934.5999999999999' x2='755.6999999999999' y2='795.4' />
|
51
|
+
<line style='stroke:black; stroke-width:2;' x1='971.3999999999999' y1='934.5999999999999' x2='755.6999999999999' y2='795.4' />
|
52
|
+
<line style='stroke:black; stroke-width:2;' x1='540.0' y1='1238.8' x2='540.0' y2='1099.6' />
|
53
|
+
<line style='stroke:black; stroke-width:2;' x1='971.3999999999999' y1='1238.8' x2='971.3999999999999' y2='1099.6' />
|
54
|
+
<line style='stroke:black; stroke-width:2;' x1='1442.2999999999997' y1='934.5999999999999' x2='1442.2999999999997' y2='795.4' />
|
55
|
+
</svg>
|