rsyntaxtree 1.0.8 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|