rsyntaxtree 1.1.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/.tags +234 -49
  3. data/Gemfile +1 -1
  4. data/README.md +23 -25
  5. data/Rakefile +73 -1
  6. data/docs/_examples/001.md +1 -0
  7. data/docs/_examples/002.md +1 -0
  8. data/docs/_examples/003.md +1 -0
  9. data/docs/_examples/004.md +1 -0
  10. data/docs/_examples/005.md +1 -0
  11. data/docs/_examples/006.md +1 -0
  12. data/docs/_examples/007.md +1 -0
  13. data/docs/_examples/008.md +1 -0
  14. data/docs/_examples/009.md +1 -0
  15. data/docs/_examples/010.md +1 -0
  16. data/docs/_examples/011.md +1 -0
  17. data/docs/_examples/012.md +1 -0
  18. data/docs/_examples/013.md +1 -0
  19. data/docs/_examples/014.md +1 -0
  20. data/docs/_examples/015.md +1 -0
  21. data/docs/_examples/016.md +2 -1
  22. data/docs/_examples/017.md +1 -0
  23. data/docs/_examples/018.md +1 -0
  24. data/docs/_examples/019.md +2 -1
  25. data/docs/_examples/020.md +1 -0
  26. data/docs/_examples/021.md +43 -0
  27. data/docs/_examples/022.md +58 -0
  28. data/docs/_examples/023.md +23 -0
  29. data/docs/_examples/024.md +23 -0
  30. data/docs/_examples/025.md +87 -0
  31. data/docs/_examples/026.md +27 -0
  32. data/docs/_examples/027.md +54 -0
  33. data/docs/_examples/028.md +20 -0
  34. data/docs/_includes/escape_char_table.html +1 -1
  35. data/docs/assets/img/001.png +0 -0
  36. data/docs/assets/img/002.png +0 -0
  37. data/docs/assets/img/003.png +0 -0
  38. data/docs/assets/img/004.png +0 -0
  39. data/docs/assets/img/005.png +0 -0
  40. data/docs/assets/img/006.png +0 -0
  41. data/docs/assets/img/007.png +0 -0
  42. data/docs/assets/img/008.png +0 -0
  43. data/docs/assets/img/009.png +0 -0
  44. data/docs/assets/img/010.png +0 -0
  45. data/docs/assets/img/011.png +0 -0
  46. data/docs/assets/img/012.png +0 -0
  47. data/docs/assets/img/013.png +0 -0
  48. data/docs/assets/img/014.png +0 -0
  49. data/docs/assets/img/015.png +0 -0
  50. data/docs/assets/img/016.png +0 -0
  51. data/docs/assets/img/017.png +0 -0
  52. data/docs/assets/img/018.png +0 -0
  53. data/docs/assets/img/019.png +0 -0
  54. data/docs/assets/img/020.png +0 -0
  55. data/docs/assets/img/021.png +0 -0
  56. data/docs/assets/img/022.png +0 -0
  57. data/docs/assets/img/023.png +0 -0
  58. data/docs/assets/img/024.png +0 -0
  59. data/docs/assets/img/025.png +0 -0
  60. data/docs/assets/img/026.png +0 -0
  61. data/docs/assets/img/027.png +0 -0
  62. data/docs/assets/img/028.png +0 -0
  63. data/docs/assets/svg/001.svg +39 -0
  64. data/docs/assets/svg/002.svg +65 -0
  65. data/docs/assets/svg/003.svg +54 -0
  66. data/docs/assets/svg/004.svg +68 -0
  67. data/docs/assets/svg/005.svg +41 -0
  68. data/docs/assets/svg/006.svg +47 -0
  69. data/docs/assets/svg/007.svg +55 -0
  70. data/docs/assets/svg/008.svg +63 -0
  71. data/docs/assets/svg/009.svg +61 -0
  72. data/docs/assets/svg/010.svg +85 -0
  73. data/docs/assets/svg/011.svg +49 -0
  74. data/docs/assets/svg/012.svg +55 -0
  75. data/docs/assets/svg/013.svg +203 -0
  76. data/docs/assets/svg/014.svg +188 -0
  77. data/docs/assets/svg/015.svg +60 -0
  78. data/docs/assets/svg/016.svg +801 -0
  79. data/docs/assets/svg/017.svg +77 -0
  80. data/docs/assets/svg/018.svg +66 -0
  81. data/docs/assets/svg/019.svg +256 -0
  82. data/docs/assets/svg/020.svg +99 -0
  83. data/docs/assets/svg/021.svg +86 -0
  84. data/docs/assets/svg/022.svg +163 -0
  85. data/docs/assets/svg/023.svg +116 -0
  86. data/docs/assets/svg/024.svg +47 -0
  87. data/docs/assets/svg/025.svg +170 -0
  88. data/docs/assets/svg/026.svg +41 -0
  89. data/docs/assets/svg/027.svg +92 -0
  90. data/docs/assets/svg/028.svg +42 -0
  91. data/docs/documentation.md +1 -1
  92. data/docs/documentation_ja.md +1 -1
  93. data/docs/examples.html +4 -2
  94. data/lib/rsyntaxtree/base_graph.rb +2 -2
  95. data/lib/rsyntaxtree/markup_parser.rb +1 -1
  96. data/lib/rsyntaxtree/version.rb +1 -1
  97. data/lib/rsyntaxtree.rb +1 -2
  98. data/rsyntaxtree.gemspec +2 -0
  99. data/test/example_verify_test.rb +75 -0
  100. metadata +61 -2
@@ -0,0 +1,170 @@
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="5861.0" height="3340.0" viewBox="-20, -20, 5881.0, 3360.0" 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="5881.0" height="3360.0" stroke="none" fill="white" />"
19
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='2664.025' y='132.0'><tspan x='2664.025' y='132.0' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Non-prototypical<tspan style='fill:none;'>■</tspan>sentence</tspan>
20
+ <tspan x='2664.025' y='308.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NON-POSITIVE,</tspan>
21
+ <tspan x='2664.025' y='396.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-predicate<tspan style='fill:none;'>■</tspan>focus,</tspan>
22
+ <tspan x='2664.025' y='484.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-assertive,</tspan>
23
+ <tspan x='2664.025' y='572.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">dependent,</tspan>
24
+ <tspan x='2664.025' y='660.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-declarative</tspan>
25
+ </text>
26
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='449.5500000000002' y='1399.2'><tspan x='449.5500000000002' y='1399.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Y/N<tspan style='fill:none;'>■</tspan>questions</tspan>
27
+ <tspan x='449.5500000000002' y='1575.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NON-POSITIVE,</tspan>
28
+ <tspan x='449.5500000000002' y='1663.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-declarative</tspan>
29
+ <tspan x='449.5500000000002' y='1839.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Did<tspan style='fill:none;'>■</tspan>she<tspan style='fill:none;'>■</tspan>go?</tspan>
30
+ </text>
31
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.59999999999991' y='2420.0'><tspan x='33.59999999999991' y='2420.0' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Wh-Questions</tspan>
32
+ <tspan x='33.59999999999991' y='2596.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-declarative</tspan>
33
+ <tspan x='33.59999999999991' y='2772.0' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Where<tspan style='fill:none;'>■</tspan>did<tspan style='fill:none;'>■</tspan>she<tspan style='fill:none;'>■</tspan>go?</tspan>
34
+ </text>
35
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='781.0000000000002' y='2420.0'><tspan x='781.0000000000002' y='2420.0' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Exclamatives</tspan>
36
+ <tspan x='781.0000000000002' y='2596.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-assertive</tspan>
37
+ <tspan x='781.0000000000002' y='2772.0' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Boy<tspan style='fill:none;'>■</tspan>did<tspan style='fill:none;'>■</tspan>she<tspan style='fill:none;'>■</tspan>go!</tspan>
38
+ </text>
39
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1429.4' y='1399.2'><tspan x='1429.4' y='1399.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Counterfactual<tspan style='fill:none;'>■</tspan>conditionals</tspan>
40
+ <tspan x='1429.4' y='1575.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NON-POSITIVE</tspan>
41
+ <tspan x='1429.4' y='1663.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">dependent,<tspan style='fill:none;'>■</tspan>non-asserted</tspan>
42
+ <tspan x='1429.4' y='1839.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Had<tspan style='fill:none;'>■</tspan>he<tspan style='fill:none;'>■</tspan>found<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>solution,<tspan style='fill:none;'>■</tspan>he</tspan>
43
+ <tspan x='1429.4' y='1927.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">would<tspan style='fill:none;'>■</tspan>take<tspan style='fill:none;'>■</tspan>time<tspan style='fill:none;'>■</tspan>off<tspan style='fill:none;'>■</tspan>and<tspan style='fill:none;'>■</tspan>relax.</tspan>
44
+ </text>
45
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='2555.8' y='1399.2'><tspan x='2555.8' y='1399.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Initial<tspan style='fill:none;'>■</tspan>negative</tspan>
46
+ <tspan x='2555.8' y='1487.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">adverb<tspan style='fill:none;'>■</tspan>clauses</tspan>
47
+ <tspan x='2555.8' y='1663.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NON-POSITIVE</tspan>
48
+ <tspan x='2555.8' y='1839.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Not<tspan style='fill:none;'>■</tspan>until<tspan style='fill:none;'>■</tspan>yesterday<tspan style='fill:none;'>■</tspan>did</tspan>
49
+ <tspan x='2555.8' y='1927.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">he<tspan style='fill:none;'>■</tspan>take<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>break.</tspan>
50
+ </text>
51
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='3436.2' y='1399.2'><tspan x='3436.2' y='1399.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Negative<tspan style='fill:none;'>■</tspan>rejoinder</tspan>
52
+ <tspan x='3436.2' y='1575.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NON-POSITIVE,</tspan>
53
+ <tspan x='3436.2' y='1663.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">dependent</tspan>
54
+ <tspan x='3436.2' y='1839.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Neither<tspan style='fill:none;'>■</tspan>is<tspan style='fill:none;'>■</tspan>this<tspan style='fill:none;'>■</tspan>construction</tspan>
55
+ <tspan x='3436.2' y='1927.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">unexpected.</tspan>
56
+ </text>
57
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='3446.7' y='2587.2'><tspan x='3446.7' y='2587.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Positive<tspan style='fill:none;'>■</tspan>conjunct<tspan style='fill:none;'>■</tspan>clauses</tspan>
58
+ <tspan x='3446.7' y='2763.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-predicate<tspan style='fill:none;'>■</tspan>focus,</tspan>
59
+ <tspan x='3446.7' y='2851.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">dependent</tspan>
60
+ <tspan x='3446.7' y='3027.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">So<tspan style='fill:none;'>■</tspan>was<tspan style='fill:none;'>■</tspan>I.</tspan>
61
+ </text>
62
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='4445.6' y='1399.2'><tspan x='4445.6' y='1399.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Comparatives</tspan>
63
+ <tspan x='4445.6' y='1575.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-topic-comment,</tspan>
64
+ <tspan x='4445.6' y='1663.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">dependent</tspan>
65
+ <tspan x='4445.6' y='1839.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">He<tspan style='fill:none;'>■</tspan>was<tspan style='fill:none;'>■</tspan>faster<tspan style='fill:none;'>■</tspan>at<tspan style='fill:none;'>■</tspan>it</tspan>
66
+ <tspan x='4445.6' y='1927.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">than<tspan style='fill:none;'>■</tspan>was<tspan style='fill:none;'>■</tspan>she.</tspan>
67
+ </text>
68
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='5211.0' y='1399.2'><tspan x='5211.0' y='1399.2' style="font-weight: bold; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Wishes,<tspan style='fill:none;'>■</tspan>curses</tspan>
69
+ <tspan x='5211.0' y='1575.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NON-POSITIVE,</tspan>
70
+ <tspan x='5211.0' y='1663.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">non-declarative</tspan>
71
+ <tspan x='5211.0' y='1839.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">May<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>million<tspan style='fill:none;'>■</tspan>flies</tspan>
72
+ <tspan x='5211.0' y='1927.2' style="font-style: italic; " text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">infest<tspan style='fill:none;'>■</tspan>his<tspan style='fill:none;'>■</tspan>armpits!</tspan>
73
+ </text>
74
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
75
+ points='689.0500000000002 1289.2 689.0500000000002 1002.1 3102.525 1002.1 3102.525 715.0' />
76
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
77
+ points='1925.4 1289.2 1925.4 1002.1 3102.525 1002.1 3102.525 715.0' />
78
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
79
+ points='2928.8 1289.2 2928.8 1002.1 3102.525 1002.1 3102.525 715.0' />
80
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
81
+ points='3873.7 1289.2 3873.7 1002.1 3102.525 1002.1 3102.525 715.0' />
82
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
83
+ points='4761.1 1289.2 4761.1 1002.1 3102.525 1002.1 3102.525 715.0' />
84
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
85
+ points='5516.0 1289.2 5516.0 1002.1 3102.525 1002.1 3102.525 715.0' />
86
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
87
+ points='340.0999999999999 2310.0 340.0999999999999 2102.1 689.0500000000002 2102.1 689.0500000000002 1894.2' />
88
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
89
+ points='1038.0000000000002 2310.0 1038.0000000000002 2102.1 689.0500000000002 2102.1 689.0500000000002 1894.2' />
90
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
91
+ points='3873.7 2477.2 3873.7 2229.7 3873.7 2229.7 3873.7 1982.2' />
92
+ <line style="stroke:black; stroke-width:2; " x1="2664.025" y1="198.0" x2="3541.025" y2="198.0"></line>
93
+ <line x1='2647.225' y1='33.0' x2='2664.025' y2='33.0' style='fill: none; stroke: black; stroke-width:2' />
94
+ <line x1='2647.225' y1='33.0' x2='2647.225' y2='704.0' style='fill: none; stroke: black; stroke-width:2' />
95
+ <line x1='2647.225' y1='704.0' x2='2664.025' y2='704.0' style='fill: none; stroke: black; stroke-width:2' />
96
+ <line x1='3557.825' y1='33.0' x2='3541.0249999999996' y2='33.0' style='fill: none; stroke: black; stroke-width:2' />
97
+ <line x1='3557.825' y1='33.0' x2='3557.825' y2='704.0' style='fill: none; stroke: black; stroke-width:2' />
98
+ <line x1='3557.825' y1='704.0' x2='3541.0249999999996' y2='704.0' style='fill: none; stroke: black; stroke-width:2' />
99
+ <line style="stroke:black; stroke-width:2; " x1="449.5500000000002" y1="1465.2" x2="928.5500000000002" y2="1465.2"></line>
100
+ <line style="stroke:black; stroke-width:2; " x1="449.5500000000002" y1="1729.2" x2="928.5500000000002" y2="1729.2"></line>
101
+ <line x1='432.75000000000017' y1='1300.2' x2='449.5500000000002' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
102
+ <line x1='432.75000000000017' y1='1300.2' x2='432.75000000000017' y2='1883.2' style='fill: none; stroke: black; stroke-width:2' />
103
+ <line x1='432.75000000000017' y1='1883.2' x2='449.5500000000002' y2='1883.2' style='fill: none; stroke: black; stroke-width:2' />
104
+ <line x1='945.3500000000001' y1='1300.2' x2='928.5500000000002' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
105
+ <line x1='945.3500000000001' y1='1300.2' x2='945.3500000000001' y2='1883.2' style='fill: none; stroke: black; stroke-width:2' />
106
+ <line x1='945.3500000000001' y1='1883.2' x2='928.5500000000002' y2='1883.2' style='fill: none; stroke: black; stroke-width:2' />
107
+ <line style="stroke:black; stroke-width:2; " x1="33.59999999999991" y1="2486.0" x2="646.5999999999999" y2="2486.0"></line>
108
+ <line style="stroke:black; stroke-width:2; " x1="33.59999999999991" y1="2662.0" x2="646.5999999999999" y2="2662.0"></line>
109
+ <line x1='16.79999999999991' y1='2321.0' x2='33.59999999999991' y2='2321.0' style='fill: none; stroke: black; stroke-width:2' />
110
+ <line x1='16.79999999999991' y1='2321.0' x2='16.79999999999991' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
111
+ <line x1='16.79999999999991' y1='2816.0' x2='33.59999999999991' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
112
+ <line x1='663.4' y1='2321.0' x2='646.6' y2='2321.0' style='fill: none; stroke: black; stroke-width:2' />
113
+ <line x1='663.4' y1='2321.0' x2='663.4' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
114
+ <line x1='663.4' y1='2816.0' x2='646.6' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
115
+ <line style="stroke:black; stroke-width:2; " x1="781.0000000000002" y1="2486.0" x2="1295.0000000000002" y2="2486.0"></line>
116
+ <line style="stroke:black; stroke-width:2; " x1="781.0000000000002" y1="2662.0" x2="1295.0000000000002" y2="2662.0"></line>
117
+ <line x1='764.2000000000003' y1='2321.0' x2='781.0000000000002' y2='2321.0' style='fill: none; stroke: black; stroke-width:2' />
118
+ <line x1='764.2000000000003' y1='2321.0' x2='764.2000000000003' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
119
+ <line x1='764.2000000000003' y1='2816.0' x2='781.0000000000002' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
120
+ <line x1='1311.8000000000002' y1='2321.0' x2='1295.0000000000002' y2='2321.0' style='fill: none; stroke: black; stroke-width:2' />
121
+ <line x1='1311.8000000000002' y1='2321.0' x2='1311.8000000000002' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
122
+ <line x1='1311.8000000000002' y1='2816.0' x2='1295.0000000000002' y2='2816.0' style='fill: none; stroke: black; stroke-width:2' />
123
+ <line style="stroke:black; stroke-width:2; " x1="1429.4" y1="1465.2" x2="2421.4" y2="1465.2"></line>
124
+ <line style="stroke:black; stroke-width:2; " x1="1429.4" y1="1729.2" x2="2421.4" y2="1729.2"></line>
125
+ <line x1='1412.6000000000001' y1='1300.2' x2='1429.4' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
126
+ <line x1='1412.6000000000001' y1='1300.2' x2='1412.6000000000001' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
127
+ <line x1='1412.6000000000001' y1='1971.2' x2='1429.4' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
128
+ <line x1='2438.2' y1='1300.2' x2='2421.3999999999996' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
129
+ <line x1='2438.2' y1='1300.2' x2='2438.2' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
130
+ <line x1='2438.2' y1='1971.2' x2='2421.3999999999996' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
131
+ <line style="stroke:black; stroke-width:2; " x1="2555.8" y1="1553.2" x2="3301.8" y2="1553.2"></line>
132
+ <line style="stroke:black; stroke-width:2; " x1="2555.8" y1="1729.2" x2="3301.8" y2="1729.2"></line>
133
+ <line x1='2539.0' y1='1300.2' x2='2555.8' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
134
+ <line x1='2539.0' y1='1300.2' x2='2539.0' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
135
+ <line x1='2539.0' y1='1971.2' x2='2555.8' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
136
+ <line x1='3318.6' y1='1300.2' x2='3301.7999999999997' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
137
+ <line x1='3318.6' y1='1300.2' x2='3318.6' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
138
+ <line x1='3318.6' y1='1971.2' x2='3301.7999999999997' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
139
+ <line style="stroke:black; stroke-width:2; " x1="3436.2" y1="1465.2" x2="4311.2" y2="1465.2"></line>
140
+ <line style="stroke:black; stroke-width:2; " x1="3436.2" y1="1729.2" x2="4311.2" y2="1729.2"></line>
141
+ <line x1='3419.3999999999996' y1='1300.2' x2='3436.2' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
142
+ <line x1='3419.3999999999996' y1='1300.2' x2='3419.3999999999996' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
143
+ <line x1='3419.3999999999996' y1='1971.2' x2='3436.2' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
144
+ <line x1='4328.0' y1='1300.2' x2='4311.2' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
145
+ <line x1='4328.0' y1='1300.2' x2='4328.0' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
146
+ <line x1='4328.0' y1='1971.2' x2='4311.2' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
147
+ <line style="stroke:black; stroke-width:2; " x1="3446.7" y1="2653.2" x2="4300.7" y2="2653.2"></line>
148
+ <line style="stroke:black; stroke-width:2; " x1="3446.7" y1="2917.2" x2="4300.7" y2="2917.2"></line>
149
+ <line x1='3429.8999999999996' y1='2488.2' x2='3446.7' y2='2488.2' style='fill: none; stroke: black; stroke-width:2' />
150
+ <line x1='3429.8999999999996' y1='2488.2' x2='3429.8999999999996' y2='3071.2' style='fill: none; stroke: black; stroke-width:2' />
151
+ <line x1='3429.8999999999996' y1='3071.2' x2='3446.7' y2='3071.2' style='fill: none; stroke: black; stroke-width:2' />
152
+ <line x1='4317.5' y1='2488.2' x2='4300.7' y2='2488.2' style='fill: none; stroke: black; stroke-width:2' />
153
+ <line x1='4317.5' y1='2488.2' x2='4317.5' y2='3071.2' style='fill: none; stroke: black; stroke-width:2' />
154
+ <line x1='4317.5' y1='3071.2' x2='4300.7' y2='3071.2' style='fill: none; stroke: black; stroke-width:2' />
155
+ <line style="stroke:black; stroke-width:2; " x1="4445.6" y1="1465.2" x2="5076.6" y2="1465.2"></line>
156
+ <line style="stroke:black; stroke-width:2; " x1="4445.6" y1="1729.2" x2="5076.6" y2="1729.2"></line>
157
+ <line x1='4428.8' y1='1300.2' x2='4445.6' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
158
+ <line x1='4428.8' y1='1300.2' x2='4428.8' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
159
+ <line x1='4428.8' y1='1971.2' x2='4445.6' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
160
+ <line x1='5093.400000000001' y1='1300.2' x2='5076.6' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
161
+ <line x1='5093.400000000001' y1='1300.2' x2='5093.400000000001' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
162
+ <line x1='5093.400000000001' y1='1971.2' x2='5076.6' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
163
+ <line style="stroke:black; stroke-width:2; " x1="5211.0" y1="1465.2" x2="5821.0" y2="1465.2"></line>
164
+ <line style="stroke:black; stroke-width:2; " x1="5211.0" y1="1729.2" x2="5821.0" y2="1729.2"></line>
165
+ <line x1='5194.2' y1='1300.2' x2='5211.0' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
166
+ <line x1='5194.2' y1='1300.2' x2='5194.2' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
167
+ <line x1='5194.2' y1='1971.2' x2='5211.0' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
168
+ <line x1='5837.8' y1='1300.2' x2='5821.0' y2='1300.2' style='fill: none; stroke: black; stroke-width:2' />
169
+ <line x1='5837.8' y1='1300.2' x2='5837.8' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' />
170
+ <line x1='5837.8' y1='1971.2' x2='5821.0' y2='1971.2' style='fill: none; stroke: black; stroke-width:2' /></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="1902.4" height="1008.0" viewBox="-20, -20, 1922.4, 1028.0" 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="1922.4" height="1028.0" stroke="none" fill="white" />"
19
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='551.15' y='132.0'><tspan x='551.15' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">Reference:</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">[situational]</tspan>
22
+ <tspan x='74.10000000000002' y='519.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">exophora</tspan>
23
+ </text>
24
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1037.7' y='431.2'><tspan x='1074.7' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">[textual]</tspan>
25
+ <tspan x='1037.7' y='519.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">endophora</tspan>
26
+ </text>
27
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='540.0' y='853.6'><tspan x='540.0' y='853.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">[to<tspan style='fill:none;'>■</tspan>preceding<tspan style='fill:none;'>■</tspan>text]</tspan>
28
+ <tspan x='692.5' y='941.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">anaphora</tspan>
29
+ </text>
30
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1275.4' y='853.6'><tspan x='1275.4' y='853.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">[to<tspan style='fill:none;'>■</tspan>following<tspan style='fill:none;'>■</tspan>text]</tspan>
31
+ <tspan x='1414.4' y='941.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">cataphora</tspan>
32
+ </text>
33
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
34
+ points='219.60000000000002 321.2 219.60000000000002 254.1 712.15 254.1 712.15 187.0' />
35
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
36
+ points='1204.7 321.2 1204.7 254.1 712.15 254.1 712.15 187.0' />
37
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
38
+ points='840.5 743.6 840.5 658.9000000000001 1204.7 658.9000000000001 1204.7 574.2' />
39
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
40
+ points='1568.9 743.6 1568.9 658.9000000000001 1204.7 658.9000000000001 1204.7 574.2' />
41
+ </svg>
@@ -0,0 +1,92 @@
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="5044.799999999999" height="1676.8000000000002" viewBox="-20, -20, 5064.799999999999, 1696.8000000000002" 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="5064.799999999999" height="1696.8000000000002" stroke="none" fill="white" />"
19
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1684.375' y='132.0'><tspan x='2202.375' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">REJOINDER</tspan>
20
+ <tspan x='1684.375' y='220.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(any<tspan style='fill:none;'>■</tspan>cohesive<tspan style='fill:none;'>■</tspan>sequel<tspan style='fill:none;'>■</tspan>by<tspan style='fill:none;'>■</tspan>different<tspan style='fill:none;'>■</tspan>speaker)</tspan>
21
+ </text>
22
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='537.625' y='554.4'><tspan x='537.625' y='554.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(following<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>question)</tspan>
23
+ <tspan x='728.125' y='642.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">RESPONSE</tspan>
24
+ </text>
25
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='33.59999999999991' y='976.8'><tspan x='33.59999999999991' y='976.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(answering)</tspan>
26
+ <tspan x='100.59999999999991' y='1064.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">DIRECT</tspan>
27
+ <tspan x='52.09999999999991' y='1152.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">RESPONSE</tspan>
28
+ </text>
29
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1234.15' y='976.8'><tspan x='1316.15' y='976.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(not<tspan style='fill:none;'>■</tspan>answering)</tspan>
30
+ <tspan x='1234.15' y='1064.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">INDIRECT<tspan style='fill:none;'>■</tspan>RESPONSE</tspan>
31
+ </text>
32
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='532.0' y='1399.2'><tspan x='532.0' y='1399.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(attitude<tspan style='fill:none;'>■</tspan>to<tspan style='fill:none;'>■</tspan>answer)</tspan>
33
+ <tspan x='623.0' y='1487.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">COMMENTARY</tspan>
34
+ </text>
35
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1310.3999999999999' y='1399.2'><tspan x='1310.3999999999999' y='1399.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(evading<tspan style='fill:none;'>■</tspan>answer)</tspan>
36
+ <tspan x='1386.8999999999999' y='1487.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">DISCLAIMER</tspan>
37
+ </text>
38
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='1992.8000000000002' y='1399.2'><tspan x='1992.8000000000002' y='1399.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(implying<tspan style='fill:none;'>■</tspan>answer)</tspan>
39
+ <tspan x='2003.8000000000002' y='1487.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">SUPPLEMENTARY</tspan>
40
+ <tspan x='2117.8' y='1575.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">RESPONSE</tspan>
41
+ </text>
42
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='3443.625' y='554.4'><tspan x='3443.625' y='554.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(not<tspan style='fill:none;'>■</tspan>following<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>question)</tspan>
43
+ <tspan x='3586.125' y='642.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">[other<tspan style='fill:none;'>■</tspan>rejoinders]</tspan>
44
+ </text>
45
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='2712.1499999999996' y='976.8'><tspan x='2712.1499999999996' y='976.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(following<tspan style='fill:none;'>■</tspan>a<tspan style='fill:none;'>■</tspan>statement)</tspan>
46
+ </text>
47
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='2704.2' y='1276.0'><tspan x='2704.2' y='1276.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">ASSENT</tspan>
48
+ </text>
49
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='3081.6' y='1276.0'><tspan x='3081.6' y='1276.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">CONTRADICTION</tspan>
50
+ </text>
51
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='3744.0' y='976.8'><tspan x='3756.0' y='976.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(following<tspan style='fill:none;'>■</tspan>a</tspan>
52
+ <tspan x='3744.0' y='1064.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">statement<tspan style='fill:none;'>■</tspan>or</tspan>
53
+ <tspan x='3785.0' y='1152.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">command)</tspan>
54
+ <tspan x='3785.0' y='1240.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">QUESTION</tspan>
55
+ <tspan x='3771.0' y='1328.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">REJOINDER</tspan>
56
+ </text>
57
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='4448.599999999999' y='976.8'><tspan x='4474.599999999999' y='976.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">(following<tspan style='fill:none;'>■</tspan></tspan>
58
+ <tspan x='4448.599999999999' y='1064.8' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">a<tspan style='fill:none;'>■</tspan>command)</tspan>
59
+ </text>
60
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='4286.4' y='1399.2'><tspan x='4286.4' y='1399.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">CONSENT</tspan>
61
+ </text>
62
+ <text white-space='pre' alignment-baseline='text-top' style='fill: black; font-size: 64px;' x='4718.799999999999' y='1399.2'><tspan x='4718.799999999999' y='1399.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">REFUSAL</tspan>
63
+ </text>
64
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
65
+ points='891.625 444.4 891.625 359.7 2379.375 359.7 2379.375 275.0' />
66
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
67
+ points='3867.125 444.4 3867.125 359.7 2379.375 359.7 2379.375 275.0' />
68
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
69
+ points='215.5999999999999 866.8 215.5999999999999 782.0999999999999 891.625 782.0999999999999 891.625 697.4' />
70
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
71
+ points='1567.65 866.8 1567.65 782.0999999999999 891.625 782.0999999999999 891.625 697.4' />
72
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
73
+ points='854.0 1289.2 854.0 1204.5 1567.65 1204.5 1567.65 1119.8' />
74
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
75
+ points='1584.3999999999999 1289.2 1584.3999999999999 1204.5 1567.65 1204.5 1567.65 1119.8' />
76
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
77
+ points='2281.3 1289.2 2281.3 1204.5 1567.65 1204.5 1567.65 1119.8' />
78
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
79
+ points='3085.6499999999996 866.8 3085.6499999999996 782.0999999999999 3867.125 782.0999999999999 3867.125 697.4' />
80
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
81
+ points='3948.0 866.8 3948.0 782.0999999999999 3867.125 782.0999999999999 3867.125 697.4' />
82
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
83
+ points='4648.599999999999 866.8 4648.599999999999 782.0999999999999 3867.125 782.0999999999999 3867.125 697.4' />
84
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
85
+ points='2825.7 1166.0 2825.7 1098.9 3085.6499999999996 1098.9 3085.6499999999996 1031.8' />
86
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
87
+ points='3345.6 1166.0 3345.6 1098.9 3085.6499999999996 1098.9 3085.6499999999996 1031.8' />
88
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
89
+ points='4435.4 1289.2 4435.4 1204.5 4648.599999999999 1204.5 4648.599999999999 1119.8' />
90
+ <polyline style='stroke:black; stroke-width:2; fill:none;'
91
+ points='4861.799999999999 1289.2 4861.799999999999 1204.5 4648.599999999999 1204.5 4648.599999999999 1119.8' />
92
+ </svg>
@@ -0,0 +1,42 @@
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="818.4" height="1069.6" viewBox="-20, -20, 838.4, 1089.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="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="838.4" height="1089.6" stroke="none" fill="white" />"
19
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='348.275' y='132.0'><tspan x='348.275' y='132.0' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NP</tspan>
20
+ </text>
21
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='135.1' y='431.2'><tspan x='135.1' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">NP</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">a<tspan style='fill:none;'>■</tspan>picture</tspan>
24
+ </text>
25
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='566.4499999999999' y='431.2'><tspan x='566.4499999999999' y='431.2' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">PP</tspan>
26
+ </text>
27
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='472.5' y='730.4'><tspan x='472.5' y='730.4' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">P</tspan>
28
+ </text>
29
+ <text white-space='pre' alignment-baseline='text-top' style='fill: green; font-size: 64px;' x='459.0' y='1029.6'><tspan x='459.0' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">of</tspan>
30
+ </text>
31
+ <text white-space='pre' alignment-baseline='text-top' style='fill: blue; font-size: 64px;' x='674.9' y='730.4'><tspan x='674.9' y='730.4' 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: green; font-size: 64px;' x='659.4' y='1029.6'><tspan x='659.4' y='1029.6' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">cats</tspan>
34
+ </text>
35
+ <line style='stroke:black; stroke-width:2;' x1='179.1' y1='321.2' x2='392.275' y2='187.0' />
36
+ <line style='stroke:black; stroke-width:2;' x1='605.4499999999999' y1='321.2' x2='392.275' y2='187.0' />
37
+ <polygon style='fill: none; stroke: black; stroke-width:2;' points='33.60000000000002 620.4 324.6 620.4 179.1 486.2' />
38
+ <line style='stroke:black; stroke-width:2;' x1='492.0' y1='620.4' x2='605.4499999999999' y2='486.2' />
39
+ <line style='stroke:black; stroke-width:2;' x1='718.9' y1='620.4' x2='605.4499999999999' y2='486.2' />
40
+ <line style='stroke:black; stroke-width:2;' x1='492.0' y1='919.6' x2='492.0' y2='785.4' />
41
+ <polygon style='fill: none; stroke: black; stroke-width:2;' points='659.4 919.6 778.4 919.6 718.9 785.4' />
42
+ </svg>
@@ -114,7 +114,7 @@ Here, `---` represents `-` repeated three times or more consecutively.
114
114
 
115
115
  In `auto` mode, the triangle connector shape is applied when the terminal node contains words separated by whitespace. In `bar` and `none` modes, triangles are drawn for the nodes with `^` at the beginning of the leaf text, lie `[NP ^syntax-trees]`.
116
116
 
117
- If a `#` character is placed at the beginning of the leaf text (right after `^` if there is one), the leaf text is enclosed in a paire of square brackets (e.g. `[NP #text]` or `[NP ^#text]`). If `##` is placed at the beginning of the leaf text, a rectangle is drawn instead of brackets.
117
+ If a `#` character is placed at the beginning of a label or leaf text (right after `^` if there is one), the text is enclosed in a pair of square brackets (e.g. `[#NP text]`, `[NP #text]`, `[NP ^#text]`). If `##` is placed at the beginning of the leaf text, a rectangle is drawn instead of brackets.
118
118
 
119
119
  ### Escape Special Characters
120
120
 
@@ -123,7 +123,7 @@ SVG形式を用いる場合,期待通りの表示を得るためには,ご
123
123
 
124
124
  ### リーフを囲む括弧と矩形の描画
125
125
 
126
- リーフとなるテキストの最初に(`^` が存在する場合はその直後に) `#` を付けると,そのテキスト全体を角括弧([ ])で囲みます(例:`[NP #text]` or `[NP ^#text]`). テキストの最初に `##` を付けると,テキスト全体を矩形(ボックス)で囲みます.
126
+ ラベルまたはリーフとなるテキストの最初に(`^` が存在する場合はその直後に) `#` を付けると,そのテキスト全体を角括弧([ ])で囲みます(例:`[#NP text]`, `[NP #text]`, `[NP ^#text]`). テキストの最初に `##` を付けると,テキスト全体を矩形(ボックス)で囲みます.
127
127
 
128
128
  ### 一部の文字を表示するためのエスケープ
129
129
 
data/docs/examples.html CHANGED
@@ -17,7 +17,7 @@ layout: default
17
17
  <h2 id="category-{{category.name | slugify }}"><b>{{ category.name }}</b></h2>
18
18
  {%- for example in all_examples -%}
19
19
  {% if example.category contains category.name %}
20
- <br />
20
+ <h3>{{ example.caption }}</h3>
21
21
  <div style='text-align:left;'>
22
22
  <button onclick="copyToClipBoard('text-{{ example.name }}')" style='margin: 20px 0; font-size: 0.85em;'>
23
23
  Copy to Clipboard
@@ -37,7 +37,9 @@ layout: default
37
37
  <tr><td>Colorization</td><td>{{ example.colorization }}</td></tr>
38
38
  <tr><td>Radical Symmetirization</td><td>{{ example.symmetrization }}</td></tr>
39
39
  <tr><td>Font</td><td>{{ example.font }}</td></tr>
40
- <tr><td>Reference</td><td>{{ example.reference }}</td></tr>
40
+ {% if example.reference %}
41
+ <tr><td>Reference</td><td>{{ example.reference }}</td></tr>
42
+ {% endif %}
41
43
  </tbody>
42
44
  </table>
43
45
  </div>
@@ -78,7 +78,7 @@ module RSyntaxTree
78
78
  parent = @element_list.get_id(target.parent)
79
79
 
80
80
  vertical_indent = if !target.triangle &&
81
- @leafstyle == "nothing" &&
81
+ (@leafstyle == "nothing" || @leafstyle == "none") &&
82
82
  ETYPE_LEAF == target.type &&
83
83
  parent.children.size == 1
84
84
  parent.vertical_indent + parent.content_height
@@ -180,7 +180,7 @@ module RSyntaxTree
180
180
  else
181
181
  line_to_parent(parent, child)
182
182
  end
183
- when "nothing"
183
+ when "nothing", "none"
184
184
  if child.triangle
185
185
  triangle_to_parent(parent, child)
186
186
  elsif ETYPE_LEAF != child.type
@@ -184,7 +184,7 @@ module Markup
184
184
  :none
185
185
  end
186
186
  end
187
- results[:triangle] = h[:triangle].to_s == '^'
187
+ results[:triangle] = h[:triangle].to_s == '^' if h[:triangle]
188
188
  results[:paths] = h[:paths] if h[:paths]
189
189
  results[:contents] << h if h[:type] == :text || h[:type] == :border || h[:type] == :bborder
190
190
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RSyntaxTree
4
- VERSION = "1.1.0"
4
+ VERSION = "1.1.2"
5
5
  end
data/lib/rsyntaxtree.rb CHANGED
@@ -72,7 +72,7 @@ module RSyntaxTree
72
72
  fontset[:cjk] = FONT_DIR + "/NotoSansJP-Regular.otf"
73
73
  fontset[:emoji] = FONT_DIR + "/OpenMoji-Black.ttf"
74
74
  new_params[:fontstyle] = "sans"
75
- when "noto-serif", value == "serif"
75
+ when "noto-serif", "serif"
76
76
  fontset[:normal] = FONT_DIR + "/NotoSerif-Regular.ttf"
77
77
  fontset[:italic] = FONT_DIR + "/NotoSerif-Italic.ttf"
78
78
  fontset[:bold] = FONT_DIR + "/NotoSerif-Bold.ttf"
@@ -115,7 +115,6 @@ module RSyntaxTree
115
115
  @params[:fontsize] = @params[:fontsize] * FONT_SCALING
116
116
  @params[:margin] = @params[:margin] * FONT_SCALING
117
117
  @params[:fontset] = fontset
118
-
119
118
  single_x_metrics = FontMetrics.get_metrics("X", fontset[:normal], @params[:fontsize], :normal, :normal)
120
119
  @global = {}
121
120
  @global[:single_x_metrics] = single_x_metrics
data/rsyntaxtree.gemspec CHANGED
@@ -21,4 +21,6 @@ Gem::Specification.new do |s|
21
21
  s.add_runtime_dependency "parslet"
22
22
  s.add_runtime_dependency "rmagick", "~> 4.2", ">= 4.2.3"
23
23
  s.add_runtime_dependency "rsvg2"
24
+
25
+ s.add_development_dependency "yaml"
24
26
  end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "minitest/autorun"
4
+ require "minitest/pride"
5
+ require "yaml"
6
+ require_relative '../lib/rsyntaxtree'
7
+ require_relative '../lib/rsyntaxtree/utils'
8
+
9
+ class ExampleParserTest < Minitest::Test
10
+ examples_dir = File.expand_path(File.join(__dir__, "..", "docs", "_examples"))
11
+ svg_dir = File.expand_path(File.join(__dir__, "..", "docs", "assets", "svg"))
12
+
13
+ Dir.glob("*.md", base: examples_dir).map do |md|
14
+ md = File.join(examples_dir, md)
15
+ config = YAML.load_file(md)
16
+ rst = File.read(md).scan(/```([^`]+)```/m).last.first
17
+
18
+ opts = {
19
+ format: "png",
20
+ leafstyle: "auto",
21
+ fontstyle: "sans",
22
+ fontsize: 16,
23
+ margin: 1,
24
+ vheight: 2.0,
25
+ color: "on",
26
+ symmetrize: "on",
27
+ transparent: "off",
28
+ polyline: "off"
29
+ }
30
+ name = nil
31
+ config.each do |key, value|
32
+ next if value.to_s == ""
33
+
34
+ case key
35
+ when "name"
36
+ name = value
37
+ when "colorization"
38
+ opts[:color] = value
39
+ when "polyline"
40
+ opts[:polyline] = value
41
+ when "symmetrization"
42
+ opts[:symmetrize] = value
43
+ when "connector"
44
+ opts[:leafstyle] = value
45
+ when "font"
46
+ opts[:fontstyle] = case value
47
+ when /sans/i
48
+ "sans"
49
+ when /serif/i
50
+ "serif"
51
+ when /wqy/i
52
+ "cjk"
53
+ else
54
+ "sans"
55
+ end
56
+ end
57
+ end
58
+
59
+ opts[:data] = rst
60
+ rsg = RSyntaxTree::RSGenerator.new(opts)
61
+
62
+ #################################
63
+ # To test SVG, run the code below
64
+ #################################
65
+ svg = rsg.draw_svg
66
+ opts[:svg] = svg
67
+ svg_path = File.join(svg_dir, "#{name}.svg")
68
+ svg_code = File.read(svg_path)
69
+ puts "Creating example SVG test case: #{name}"
70
+
71
+ define_method "test_#{name}" do
72
+ assert_equal svg_code, opts[:svg]
73
+ end
74
+ end
75
+ end