rsyntaxtree 1.6.3 → 1.7.0
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/CHANGELOG.md +20 -0
- data/CITATION.cff +21 -0
- data/Dockerfile +1 -1
- data/Gemfile +1 -0
- data/README.md +11 -7
- data/docs/assets/img/000.png +0 -0
- data/docs/assets/img/001.png +0 -0
- data/docs/assets/img/002.png +0 -0
- data/docs/assets/img/003.png +0 -0
- data/docs/assets/img/004.png +0 -0
- data/docs/assets/img/005.png +0 -0
- data/docs/assets/img/006.png +0 -0
- data/docs/assets/img/007.png +0 -0
- data/docs/assets/img/008.png +0 -0
- data/docs/assets/img/009.png +0 -0
- data/docs/assets/img/010.png +0 -0
- data/docs/assets/img/011.png +0 -0
- data/docs/assets/img/012.png +0 -0
- data/docs/assets/img/013.png +0 -0
- data/docs/assets/img/014.png +0 -0
- data/docs/assets/img/015.png +0 -0
- data/docs/assets/img/016.png +0 -0
- data/docs/assets/img/017.png +0 -0
- data/docs/assets/img/018.png +0 -0
- data/docs/assets/img/019.png +0 -0
- data/docs/assets/img/020.png +0 -0
- data/docs/assets/img/021.png +0 -0
- data/docs/assets/img/022.png +0 -0
- data/docs/assets/img/023.png +0 -0
- data/docs/assets/img/024.png +0 -0
- data/docs/assets/img/025.png +0 -0
- data/docs/assets/img/026.png +0 -0
- data/docs/assets/img/027.png +0 -0
- data/docs/assets/img/028.png +0 -0
- data/docs/assets/img/029.png +0 -0
- data/docs/assets/img/030.png +0 -0
- data/docs/assets/img/031.png +0 -0
- data/docs/assets/img/032.png +0 -0
- data/docs/assets/img/033.png +0 -0
- data/docs/assets/img/034.png +0 -0
- data/docs/assets/img/035.png +0 -0
- data/docs/assets/img/036.png +0 -0
- data/docs/assets/img/037.png +0 -0
- data/docs/assets/img/038.png +0 -0
- data/docs/assets/img/039.png +0 -0
- data/docs/assets/img/040.png +0 -0
- data/docs/assets/img/041.png +0 -0
- data/docs/assets/img/042.png +0 -0
- data/docs/assets/img/043.png +0 -0
- data/docs/assets/img/044.png +0 -0
- data/docs/assets/img/045.png +0 -0
- data/docs/assets/img/046.png +0 -0
- data/docs/assets/img/047.png +0 -0
- data/docs/assets/img/048.png +0 -0
- data/docs/assets/img/049.png +0 -0
- data/docs/assets/img/050.png +0 -0
- data/docs/assets/img/051.png +0 -0
- data/docs/assets/img/052.png +0 -0
- data/docs/assets/img/053.png +0 -0
- data/docs/assets/img/054.png +0 -0
- data/docs/assets/img/055.png +0 -0
- data/docs/assets/img/056.png +0 -0
- data/docs/assets/img/057.png +0 -0
- data/docs/assets/img/058.png +0 -0
- data/docs/assets/img/059.png +0 -0
- data/docs/assets/img/060.png +0 -0
- data/docs/assets/img/061.png +0 -0
- data/docs/assets/img/062.png +0 -0
- data/docs/assets/img/063.png +0 -0
- data/docs/assets/img/064.png +0 -0
- data/docs/assets/img/065.png +0 -0
- data/docs/assets/svg/000.svg +31 -31
- data/docs/assets/svg/001.svg +19 -19
- data/docs/assets/svg/002.svg +37 -37
- data/docs/assets/svg/003.svg +29 -29
- data/docs/assets/svg/004.svg +41 -41
- data/docs/assets/svg/005.svg +21 -21
- data/docs/assets/svg/006.svg +25 -25
- data/docs/assets/svg/007.svg +31 -31
- data/docs/assets/svg/008.svg +35 -35
- data/docs/assets/svg/009.svg +35 -35
- data/docs/assets/svg/010.svg +50 -50
- data/docs/assets/svg/011.svg +30 -30
- data/docs/assets/svg/012.svg +35 -35
- data/docs/assets/svg/013.svg +116 -116
- data/docs/assets/svg/014.svg +96 -96
- data/docs/assets/svg/015.svg +33 -33
- data/docs/assets/svg/016.svg +397 -397
- data/docs/assets/svg/017.svg +35 -35
- data/docs/assets/svg/018.svg +37 -37
- data/docs/assets/svg/019.svg +95 -95
- data/docs/assets/svg/020.svg +62 -62
- data/docs/assets/svg/021.svg +42 -42
- data/docs/assets/svg/022.svg +75 -75
- data/docs/assets/svg/023.svg +47 -47
- data/docs/assets/svg/024.svg +23 -23
- data/docs/assets/svg/025.svg +99 -99
- data/docs/assets/svg/026.svg +19 -19
- data/docs/assets/svg/027.svg +50 -50
- data/docs/assets/svg/028.svg +21 -21
- data/docs/assets/svg/029.svg +69 -69
- data/docs/assets/svg/030.svg +35 -35
- data/docs/assets/svg/031.svg +15 -15
- data/docs/assets/svg/032.svg +40 -40
- data/docs/assets/svg/033.svg +39 -39
- data/docs/assets/svg/034.svg +40 -40
- data/docs/assets/svg/035.svg +39 -39
- data/docs/assets/svg/036.svg +17 -17
- data/docs/assets/svg/037.svg +29 -29
- data/docs/assets/svg/038.svg +39 -39
- data/docs/assets/svg/039.svg +7 -7
- data/docs/assets/svg/040.svg +67 -67
- data/docs/assets/svg/041.svg +49 -49
- data/docs/assets/svg/042.svg +15 -15
- data/docs/assets/svg/043.svg +146 -146
- data/docs/assets/svg/044.svg +4 -4
- data/docs/assets/svg/045.svg +56 -56
- data/docs/assets/svg/046.svg +647 -647
- data/docs/assets/svg/047.svg +26 -26
- data/docs/assets/svg/048.svg +69 -69
- data/docs/assets/svg/049.svg +44 -44
- data/docs/assets/svg/050.svg +100 -100
- data/docs/assets/svg/051.svg +96 -96
- data/docs/assets/svg/052.svg +50 -50
- data/docs/assets/svg/053.svg +41 -41
- data/docs/assets/svg/054.svg +17 -17
- data/docs/assets/svg/055.svg +19 -19
- data/docs/assets/svg/056.svg +27 -27
- data/docs/assets/svg/057.svg +49 -49
- data/docs/assets/svg/058.svg +42 -42
- data/docs/assets/svg/059.svg +50 -50
- data/docs/assets/svg/060.svg +65 -65
- data/docs/assets/svg/061.svg +96 -96
- data/docs/assets/svg/062.svg +92 -92
- data/docs/assets/svg/063.svg +50 -50
- data/docs/assets/svg/064.svg +30 -30
- data/docs/assets/svg/065.svg +24 -24
- data/lib/rsyntaxtree/element.rb +8 -17
- data/lib/rsyntaxtree/string_parser.rb +4 -1
- data/lib/rsyntaxtree/svg_graph.rb +1 -22
- data/lib/rsyntaxtree/utils.rb +67 -17
- data/lib/rsyntaxtree/version.rb +1 -1
- data/lib/rsyntaxtree.rb +15 -1
- data/rsyntaxtree.gemspec +1 -0
- metadata +16 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b011905bb833561ebbc545ce04c4c6cf104290298fc6b2018d09f8c9ef58383
|
|
4
|
+
data.tar.gz: 7f35db88fa0d6585f6832d6d6621b527e830c5d7772ddb3282ccf1341b990c16
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7d96fe35d241eb21bb3248dd9b566a5dd0603bbed8f7118579f915ef9eecb3d875f10508dbdb4ec09f8fffa53ec2a86cb7d9d3d7458dba86f799ff1505f70fd0
|
|
7
|
+
data.tar.gz: 9e2298a797787e12407e57d0dc05e59cbb444b6b0792c6be1447190ef99fae4899a2ead1df2d40e80f26615d268ce0e3287029db002c02c1344aceed2a5d7bf5
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.7.0] - 2026-08
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- Text measurement now uses Pango, the same engine (and the same fontconfig
|
|
7
|
+
font-fallback resolution) librsvg uses to render the output, instead of
|
|
8
|
+
RMagick with the bundled font files. Labels in any script are measured with
|
|
9
|
+
the font that actually draws them, which fixes off-center labels for scripts
|
|
10
|
+
the bundled fonts do not cover (e.g. Khmer, #14) without bundling per-script
|
|
11
|
+
fonts. Horizontal dimensions of the output may change slightly.
|
|
12
|
+
- Vertical rhythm is now derived deterministically from the font size
|
|
13
|
+
(1.4 x size, matching the previous Latin line height) and is identical
|
|
14
|
+
across scripts; the old engine spaced Japanese text 1.5x and WenQuanYi
|
|
15
|
+
1.25x, so mixed-language documents had inconsistent spacing.
|
|
16
|
+
- The font-family lists used in the SVG output and in measurement are now
|
|
17
|
+
defined in a single place (`FONT_FAMILIES` / `FontFamily`).
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- Runtime dependency on the `pango` gem (ruby-gnome). No new system
|
|
21
|
+
requirements: librsvg already depends on Pango.
|
|
22
|
+
|
|
3
23
|
## [1.6.3] - 2026-07
|
|
4
24
|
|
|
5
25
|
### Fixed
|
data/CITATION.cff
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "If you use RSyntaxTree in your research, please cite it as below."
|
|
3
|
+
type: software
|
|
4
|
+
title: "RSyntaxTree: A graphical syntax tree image generator"
|
|
5
|
+
authors:
|
|
6
|
+
- family-names: "Hasebe"
|
|
7
|
+
given-names: "Yoichiro"
|
|
8
|
+
email: "yohasebe@gmail.com"
|
|
9
|
+
url: "https://yohasebe.com/rsyntaxtree"
|
|
10
|
+
repository-code: "https://github.com/yohasebe/rsyntaxtree"
|
|
11
|
+
# Concept DOI: always resolves to the latest archived version on Zenodo
|
|
12
|
+
doi: "10.5281/zenodo.21916150"
|
|
13
|
+
license: MIT
|
|
14
|
+
version: 1.7.0
|
|
15
|
+
date-released: "2026-08-13"
|
|
16
|
+
keywords:
|
|
17
|
+
- linguistics
|
|
18
|
+
- syntax tree
|
|
19
|
+
- syntactic analysis
|
|
20
|
+
- visualization
|
|
21
|
+
- Ruby
|
data/Dockerfile
CHANGED
|
@@ -5,7 +5,7 @@ WORKDIR $WORKSPACE
|
|
|
5
5
|
RUN apk update && \
|
|
6
6
|
apk upgrade && \
|
|
7
7
|
apk add --no-cache linux-headers libxml2-dev make gcc libc-dev bash && \
|
|
8
|
-
apk add --no-cache librsvg librsvg-dev imagemagick imagemagick-dev xz-dev libbz2 && \
|
|
8
|
+
apk add --no-cache librsvg librsvg-dev pango-dev imagemagick imagemagick-dev xz-dev libbz2 && \
|
|
9
9
|
apk add --no-cache gobject-introspection gobject-introspection-dev && \
|
|
10
10
|
apk add --no-cache -t .build-packages --no-cache build-base curl-dev wget gcompat
|
|
11
11
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -189,16 +189,20 @@ For detailed documentation on syntax and markup:
|
|
|
189
189
|
- [日本語ドキュメント](https://yohasebe.github.io/rsyntaxtree/documentation_ja)
|
|
190
190
|
- [Example Gallery](https://yohasebe.github.io/rsyntaxtree/examples)
|
|
191
191
|
|
|
192
|
-
##
|
|
192
|
+
## How to Cite
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
[](https://doi.org/10.5281/zenodo.21916150)
|
|
195
|
+
|
|
196
|
+
If you use RSyntaxTree in your research, please cite it. You can use the "Cite this repository" button on GitHub (powered by [CITATION.cff](CITATION.cff)), or the following BibTeX entry (adjust `version` to the one you used):
|
|
195
197
|
|
|
196
198
|
```bibtex
|
|
197
|
-
@
|
|
198
|
-
author
|
|
199
|
-
title
|
|
200
|
-
url
|
|
201
|
-
|
|
199
|
+
@software{hasebe_rsyntaxtree,
|
|
200
|
+
author = {Hasebe, Yoichiro},
|
|
201
|
+
title = {RSyntaxTree: A graphical syntax tree image generator},
|
|
202
|
+
url = {https://yohasebe.com/rsyntaxtree},
|
|
203
|
+
doi = {10.5281/zenodo.21916150},
|
|
204
|
+
version = {1.7.0},
|
|
205
|
+
year = {2026}
|
|
202
206
|
}
|
|
203
207
|
```
|
|
204
208
|
|
data/docs/assets/img/000.png
CHANGED
|
Binary file
|
data/docs/assets/img/001.png
CHANGED
|
Binary file
|
data/docs/assets/img/002.png
CHANGED
|
Binary file
|
data/docs/assets/img/003.png
CHANGED
|
Binary file
|
data/docs/assets/img/004.png
CHANGED
|
Binary file
|
data/docs/assets/img/005.png
CHANGED
|
Binary file
|
data/docs/assets/img/006.png
CHANGED
|
Binary file
|
data/docs/assets/img/007.png
CHANGED
|
Binary file
|
data/docs/assets/img/008.png
CHANGED
|
Binary file
|
data/docs/assets/img/009.png
CHANGED
|
Binary file
|
data/docs/assets/img/010.png
CHANGED
|
Binary file
|
data/docs/assets/img/011.png
CHANGED
|
Binary file
|
data/docs/assets/img/012.png
CHANGED
|
Binary file
|
data/docs/assets/img/013.png
CHANGED
|
Binary file
|
data/docs/assets/img/014.png
CHANGED
|
Binary file
|
data/docs/assets/img/015.png
CHANGED
|
Binary file
|
data/docs/assets/img/016.png
CHANGED
|
Binary file
|
data/docs/assets/img/017.png
CHANGED
|
Binary file
|
data/docs/assets/img/018.png
CHANGED
|
Binary file
|
data/docs/assets/img/019.png
CHANGED
|
Binary file
|
data/docs/assets/img/020.png
CHANGED
|
Binary file
|
data/docs/assets/img/021.png
CHANGED
|
Binary file
|
data/docs/assets/img/022.png
CHANGED
|
Binary file
|
data/docs/assets/img/023.png
CHANGED
|
Binary file
|
data/docs/assets/img/024.png
CHANGED
|
Binary file
|
data/docs/assets/img/025.png
CHANGED
|
Binary file
|
data/docs/assets/img/026.png
CHANGED
|
Binary file
|
data/docs/assets/img/027.png
CHANGED
|
Binary file
|
data/docs/assets/img/028.png
CHANGED
|
Binary file
|
data/docs/assets/img/029.png
CHANGED
|
Binary file
|
data/docs/assets/img/030.png
CHANGED
|
Binary file
|
data/docs/assets/img/031.png
CHANGED
|
Binary file
|
data/docs/assets/img/032.png
CHANGED
|
Binary file
|
data/docs/assets/img/033.png
CHANGED
|
Binary file
|
data/docs/assets/img/034.png
CHANGED
|
Binary file
|
data/docs/assets/img/035.png
CHANGED
|
Binary file
|
data/docs/assets/img/036.png
CHANGED
|
Binary file
|
data/docs/assets/img/037.png
CHANGED
|
Binary file
|
data/docs/assets/img/038.png
CHANGED
|
Binary file
|
data/docs/assets/img/039.png
CHANGED
|
Binary file
|
data/docs/assets/img/040.png
CHANGED
|
Binary file
|
data/docs/assets/img/041.png
CHANGED
|
Binary file
|
data/docs/assets/img/042.png
CHANGED
|
Binary file
|
data/docs/assets/img/043.png
CHANGED
|
Binary file
|
data/docs/assets/img/044.png
CHANGED
|
Binary file
|
data/docs/assets/img/045.png
CHANGED
|
Binary file
|
data/docs/assets/img/046.png
CHANGED
|
Binary file
|
data/docs/assets/img/047.png
CHANGED
|
Binary file
|
data/docs/assets/img/048.png
CHANGED
|
Binary file
|
data/docs/assets/img/049.png
CHANGED
|
Binary file
|
data/docs/assets/img/050.png
CHANGED
|
Binary file
|
data/docs/assets/img/051.png
CHANGED
|
Binary file
|
data/docs/assets/img/052.png
CHANGED
|
Binary file
|
data/docs/assets/img/053.png
CHANGED
|
Binary file
|
data/docs/assets/img/054.png
CHANGED
|
Binary file
|
data/docs/assets/img/055.png
CHANGED
|
Binary file
|
data/docs/assets/img/056.png
CHANGED
|
Binary file
|
data/docs/assets/img/057.png
CHANGED
|
Binary file
|
data/docs/assets/img/058.png
CHANGED
|
Binary file
|
data/docs/assets/img/059.png
CHANGED
|
Binary file
|
data/docs/assets/img/060.png
CHANGED
|
Binary file
|
data/docs/assets/img/061.png
CHANGED
|
Binary file
|
data/docs/assets/img/062.png
CHANGED
|
Binary file
|
data/docs/assets/img/063.png
CHANGED
|
Binary file
|
data/docs/assets/img/064.png
CHANGED
|
Binary file
|
data/docs/assets/img/065.png
CHANGED
|
Binary file
|
data/docs/assets/svg/000.svg
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" standalone="no"?>
|
|
2
2
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
3
|
-
<svg width="919.
|
|
3
|
+
<svg width="919.0000000000001" height="809.76" viewBox="-15.200000000000001, 0, 934.2000000000002, 820.96" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
|
4
4
|
<defs>
|
|
5
5
|
<marker id="arrow" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="15.200000000000001" markerHeight="15.200000000000001" orient="auto">
|
|
6
6
|
<path d="M 0 0 L 10 5 L 0 10" fill="#CC79A7"/>
|
|
@@ -24,51 +24,51 @@
|
|
|
24
24
|
<line x1="0" y="0" x2="0" y2="10" stroke="#009E73" stroke-width="4"></line>
|
|
25
25
|
</pattern>
|
|
26
26
|
</defs>
|
|
27
|
-
<rect x="-15.200000000000001" y="0" width="934.
|
|
28
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
27
|
+
<rect x="-15.200000000000001" y="0" width="934.2000000000002" height="820.96" stroke="none" fill="white" />"
|
|
28
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='333.9375' y='67.19999999999999'><tspan x='333.9375' y='67.19999999999999' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">S</tspan>
|
|
29
29
|
</text>
|
|
30
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='113.
|
|
30
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='113.59999999999997' y='237.43999999999997'><tspan x='113.59999999999997' y='237.43999999999997' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">NP</tspan>
|
|
31
31
|
</text>
|
|
32
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='15.199999999999989' y='
|
|
33
|
-
<tspan x='
|
|
34
|
-
<tspan x='
|
|
32
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='15.199999999999989' y='407.67999999999995'><tspan x='27.599999999999987' y='407.67999999999995' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">R</tspan>
|
|
33
|
+
<tspan x='59.999999999999986' y='407.67999999999995' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif"><tspan style='fill:none;'>■</tspan></tspan>
|
|
34
|
+
<tspan x='76.99999999999999' y='407.67999999999995' style="font-weight: bold; fill: #D55E00; " text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">SyntaxTree</tspan>
|
|
35
35
|
</text>
|
|
36
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
36
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='532.775' y='237.43999999999997'><tspan x='532.775' y='237.43999999999997' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">VP</tspan>
|
|
37
37
|
</text>
|
|
38
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
38
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='375.79999999999995' y='407.67999999999995'><tspan x='375.79999999999995' y='407.67999999999995' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">V</tspan>
|
|
39
39
|
</text>
|
|
40
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='
|
|
40
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='315.29999999999995' y='577.92'><tspan x='315.29999999999995' y='577.92' style="font-style: italic; " text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">generates</tspan>
|
|
41
41
|
</text>
|
|
42
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='698.
|
|
42
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='698.75' y='407.67999999999995'><tspan x='698.75' y='407.67999999999995' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">NP</tspan>
|
|
43
43
|
</text>
|
|
44
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='591.
|
|
44
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='591.6' y='577.92'><tspan x='591.6' y='577.92' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">Adj</tspan>
|
|
45
45
|
</text>
|
|
46
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='516.
|
|
47
|
-
<tspan x='516.
|
|
46
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='516.6' y='748.16'><tspan x='516.6' y='748.16' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">+multilingual</tspan>
|
|
47
|
+
<tspan x='516.6' y='792.9599999999999' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">+beautiful</tspan>
|
|
48
48
|
</text>
|
|
49
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
49
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='803.4000000000001' y='577.92'><tspan x='803.4000000000001' y='577.92' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">NP</tspan>
|
|
50
50
|
</text>
|
|
51
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='775.
|
|
52
|
-
<tspan x='786.
|
|
51
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='775.4000000000001' y='748.16'><tspan x='775.4000000000001' y='748.16' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">syntax</tspan>
|
|
52
|
+
<tspan x='786.4000000000001' y='792.9599999999999' style="" text-decoration="" font-family="'Noto Sans', 'Noto Sans JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', sans-serif">trees</tspan>
|
|
53
53
|
</text>
|
|
54
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
55
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
56
|
-
<polygon style='fill: none; stroke: black; stroke-width:2; stroke-linejoin:round;stroke-linecap:round;' points='15.199999999999989
|
|
57
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
58
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
59
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
60
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='615.
|
|
61
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
62
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='615.
|
|
63
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='824.
|
|
54
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='134.09999999999997' y1='181.43999999999997' x2='342.9375' y2='95.19999999999999' />
|
|
55
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='551.775' y1='181.43999999999997' x2='342.9375' y2='95.19999999999999' />
|
|
56
|
+
<polygon style='fill: none; stroke: black; stroke-width:2; stroke-linejoin:round;stroke-linecap:round;' points='15.199999999999989 351.67999999999995 254.0 351.67999999999995 134.09999999999997 265.44' />
|
|
57
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='384.29999999999995' y1='351.67999999999995' x2='551.775' y2='265.44' />
|
|
58
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='719.25' y1='351.67999999999995' x2='551.775' y2='265.44' />
|
|
59
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='384.79999999999995' y1='521.92' x2='384.29999999999995' y2='435.67999999999995' />
|
|
60
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='615.6' y1='521.92' x2='719.25' y2='435.67999999999995' />
|
|
61
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='823.9000000000001' y1='521.92' x2='719.25' y2='435.67999999999995' />
|
|
62
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='615.6' y1='692.16' x2='615.6' y2='605.92' />
|
|
63
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='824.4000000000001' y1='692.16' x2='823.9000000000001' y2='605.92' />
|
|
64
64
|
<rect style='stroke: #009E73; stroke-linejoin:round; stroke-width:2;'
|
|
65
|
-
x='15.199999999999989' y='
|
|
66
|
-
width='
|
|
65
|
+
x='15.199999999999989' y='371.84'
|
|
66
|
+
width='44.8' height='44.8'
|
|
67
67
|
fill='none' />
|
|
68
68
|
|
|
69
69
|
<polyline style='stroke:#009E73; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
|
|
70
|
-
points='516.
|
|
70
|
+
points='516.6,697.7599999999999 509.0,697.7599999999999 509.0,815.3599999999999 516.6,815.3599999999999' />
|
|
71
71
|
|
|
72
72
|
<polyline style='stroke:#009E73; stroke-width:2; fill:none; stroke-linejoin:round; stroke-linecap:round;'
|
|
73
|
-
points='714.
|
|
73
|
+
points='714.6,697.7599999999999 722.2,697.7599999999999 722.2,815.3599999999999 714.6,815.3599999999999' />
|
|
74
74
|
</svg>
|
data/docs/assets/svg/001.svg
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<?xml version="1.0" standalone="no"?>
|
|
2
2
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
3
|
-
<svg width="
|
|
3
|
+
<svg width="353.80000000000007" height="334.88000000000005" viewBox="-16.8, 0, 370.6000000000001, 346.08000000000004" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
|
4
4
|
<defs>
|
|
5
|
-
<marker id="arrow" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="
|
|
5
|
+
<marker id="arrow" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="10" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
|
|
6
6
|
<path d="M 0 0 L 10 5 L 0 10" fill="#CC79A7"/>
|
|
7
7
|
</marker>
|
|
8
|
-
<marker id="arrowBackward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="
|
|
8
|
+
<marker id="arrowBackward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
|
|
9
9
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="#CC79A7"/>
|
|
10
10
|
</marker>
|
|
11
|
-
<marker id="arrowForward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="
|
|
11
|
+
<marker id="arrowForward" markerUnits="userSpaceOnUse" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="16.8" markerHeight="16.8" orient="auto">
|
|
12
12
|
<path d="M 10 0 L 0 5 L 10 10 z" fill="#CC79A7"/>
|
|
13
13
|
</marker>
|
|
14
|
-
<marker id="arrowBothways" markerUnits="userSpaceOnUse" viewBox="0 0 30 10" refX="15" refY="5" markerWidth="
|
|
14
|
+
<marker id="arrowBothways" markerUnits="userSpaceOnUse" viewBox="0 0 30 10" refX="15" refY="5" markerWidth="50.400000000000006" markerHeight="16.8" orient="auto">
|
|
15
15
|
<path d="M 0 5 L 10 0 L 10 5 L 20 5 L 20 0 L 30 5 L 20 10 L 20 5 L 10 5 L 10 10 z" fill="#CC79A7"/>
|
|
16
16
|
</marker>
|
|
17
17
|
<pattern id="hatchBlack" x="10" y="10" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
|
|
@@ -24,25 +24,25 @@
|
|
|
24
24
|
<line x1="0" y="0" x2="0" y2="10" stroke="#009E73" stroke-width="4"></line>
|
|
25
25
|
</pattern>
|
|
26
26
|
</defs>
|
|
27
|
-
<rect x="-
|
|
28
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
27
|
+
<rect x="-16.8" y="0" width="370.6000000000001" height="346.08000000000004" stroke="none" fill="white" />"
|
|
28
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='148.60000000000002' y='67.19999999999999'><tspan x='148.60000000000002' y='67.19999999999999' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">A</tspan>
|
|
29
29
|
</text>
|
|
30
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
30
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='62.400000000000006' y='192.63999999999996'><tspan x='62.400000000000006' y='192.63999999999996' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">B</tspan>
|
|
31
31
|
</text>
|
|
32
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='17.
|
|
32
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='17.30000000000001' y='318.08000000000004'><tspan x='17.30000000000001' y='318.08000000000004' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">D</tspan>
|
|
33
33
|
</text>
|
|
34
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='
|
|
34
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='107.0' y='318.08000000000004'><tspan x='107.0' y='318.08000000000004' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">E</tspan>
|
|
35
35
|
</text>
|
|
36
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='
|
|
36
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #0072B2; storoke-width: 0; font-size: 32px;' x='237.3' y='192.63999999999996'><tspan x='237.3' y='192.63999999999996' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">C</tspan>
|
|
37
37
|
</text>
|
|
38
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='
|
|
38
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='194.70000000000002' y='318.08000000000004'><tspan x='194.70000000000002' y='318.08000000000004' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">F</tspan>
|
|
39
39
|
</text>
|
|
40
|
-
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='
|
|
40
|
+
<text white-space='pre' alignment-baseline='text-top' style='fill: #009E73; storoke-width: 0; font-size: 32px;' x='280.90000000000003' y='318.08000000000004'><tspan x='280.90000000000003' y='318.08000000000004' style="" text-decoration="" font-family="'Noto Serif', 'Noto Serif JP', OpenMoji, 'OpenMoji Color', 'OpenMoji Black', serif">G</tspan>
|
|
41
41
|
</text>
|
|
42
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
43
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
44
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
45
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
46
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
47
|
-
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='
|
|
42
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='71.9' y1='136.64' x2='159.10000000000002' y2='95.19999999999999' />
|
|
43
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='247.3' y1='136.64' x2='159.10000000000002' y2='95.19999999999999' />
|
|
44
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='27.80000000000001' y1='262.08' x2='71.9' y2='220.63999999999996' />
|
|
45
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='117.0' y1='262.08' x2='71.9' y2='220.63999999999996' />
|
|
46
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='203.20000000000002' y1='262.08' x2='247.3' y2='220.63999999999996' />
|
|
47
|
+
<line style='fill: none; stroke:black; stroke-width:2; stroke-linejoin:round; stroke-linecap:round;' x1='291.40000000000003' y1='262.08' x2='247.3' y2='220.63999999999996' />
|
|
48
48
|
</svg>
|