commit afcdf52b0ecfc85c580f6399579f31abc58120af Author: Gabrielle Date: Fri Jun 5 18:44:54 2026 +0200 on y est presque diff --git a/biblio.html b/biblio.html new file mode 100644 index 0000000..529d1b8 --- /dev/null +++ b/biblio.html @@ -0,0 +1,59 @@ + + + + + Bibliothèque de dessins + + + +
+ +
+ +
+

Ma Bibliothèque de Dessins

+ +
+ + + + diff --git a/biblio.js b/biblio.js new file mode 100644 index 0000000..e69de29 diff --git a/create.html b/create.html new file mode 100644 index 0000000..66c3327 --- /dev/null +++ b/create.html @@ -0,0 +1,51 @@ + + + + + + Créer un paysage + + + + + + + + +
+ +
+ + +
+
+

Panneaux de contrôles

+ + + + +

+ + + +

+ + +
+ + +
+ + + + diff --git a/images/a.png b/images/a.png new file mode 100644 index 0000000..275f283 Binary files /dev/null and b/images/a.png differ diff --git a/images/a.svg b/images/a.svg new file mode 100644 index 0000000..954a2b3 --- /dev/null +++ b/images/a.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/b.png b/images/b.png new file mode 100644 index 0000000..f6459b3 Binary files /dev/null and b/images/b.png differ diff --git a/images/b.svg b/images/b.svg new file mode 100644 index 0000000..ae397f0 --- /dev/null +++ b/images/b.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/c.png b/images/c.png new file mode 100644 index 0000000..d7aec2f Binary files /dev/null and b/images/c.png differ diff --git a/images/c.svg b/images/c.svg new file mode 100644 index 0000000..32988a0 --- /dev/null +++ b/images/c.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/d.png b/images/d.png new file mode 100644 index 0000000..4222762 Binary files /dev/null and b/images/d.png differ diff --git a/images/d.svg b/images/d.svg new file mode 100644 index 0000000..ec5fdb5 --- /dev/null +++ b/images/d.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/e.png b/images/e.png new file mode 100644 index 0000000..16c5050 Binary files /dev/null and b/images/e.png differ diff --git a/images/e.svg b/images/e.svg new file mode 100644 index 0000000..180c093 --- /dev/null +++ b/images/e.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/f.png b/images/f.png new file mode 100644 index 0000000..af0d468 Binary files /dev/null and b/images/f.png differ diff --git a/images/f.svg b/images/f.svg new file mode 100644 index 0000000..4ab4049 --- /dev/null +++ b/images/f.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/g.png b/images/g.png new file mode 100644 index 0000000..3e92ae2 Binary files /dev/null and b/images/g.png differ diff --git a/images/g.svg b/images/g.svg new file mode 100644 index 0000000..7727432 --- /dev/null +++ b/images/g.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/h.png b/images/h.png new file mode 100644 index 0000000..b88e8dc Binary files /dev/null and b/images/h.png differ diff --git a/images/h.svg b/images/h.svg new file mode 100644 index 0000000..3b161c0 --- /dev/null +++ b/images/h.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/i.png b/images/i.png new file mode 100644 index 0000000..7d8e7ca Binary files /dev/null and b/images/i.png differ diff --git a/images/i.svg b/images/i.svg new file mode 100644 index 0000000..afcaaaf --- /dev/null +++ b/images/i.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/j.png b/images/j.png new file mode 100644 index 0000000..1745851 Binary files /dev/null and b/images/j.png differ diff --git a/images/j.svg b/images/j.svg new file mode 100644 index 0000000..c6a481a --- /dev/null +++ b/images/j.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/k.png b/images/k.png new file mode 100644 index 0000000..e187365 Binary files /dev/null and b/images/k.png differ diff --git a/images/k.svg b/images/k.svg new file mode 100644 index 0000000..7b0d129 --- /dev/null +++ b/images/k.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/l.png b/images/l.png new file mode 100644 index 0000000..83eb994 Binary files /dev/null and b/images/l.png differ diff --git a/images/l.svg b/images/l.svg new file mode 100644 index 0000000..f00f352 --- /dev/null +++ b/images/l.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/m.png b/images/m.png new file mode 100644 index 0000000..99bec12 Binary files /dev/null and b/images/m.png differ diff --git a/images/m.svg b/images/m.svg new file mode 100644 index 0000000..cd37bd6 --- /dev/null +++ b/images/m.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/n.png b/images/n.png new file mode 100644 index 0000000..bbe95a1 Binary files /dev/null and b/images/n.png differ diff --git a/images/n.svg b/images/n.svg new file mode 100644 index 0000000..d365c46 --- /dev/null +++ b/images/n.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/o.png b/images/o.png new file mode 100644 index 0000000..1d3e48e Binary files /dev/null and b/images/o.png differ diff --git a/images/o.svg b/images/o.svg new file mode 100644 index 0000000..45e7390 --- /dev/null +++ b/images/o.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/p.png b/images/p.png new file mode 100644 index 0000000..41edb78 Binary files /dev/null and b/images/p.png differ diff --git a/images/p.svg b/images/p.svg new file mode 100644 index 0000000..084f749 --- /dev/null +++ b/images/p.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/paysage_typo (1).png b/images/paysage_typo (1).png new file mode 100644 index 0000000..75bdbac Binary files /dev/null and b/images/paysage_typo (1).png differ diff --git a/images/paysage_typo.png b/images/paysage_typo.png new file mode 100644 index 0000000..6e86957 Binary files /dev/null and b/images/paysage_typo.png differ diff --git a/images/q.png b/images/q.png new file mode 100644 index 0000000..c06b5a6 Binary files /dev/null and b/images/q.png differ diff --git a/images/q.svg b/images/q.svg new file mode 100644 index 0000000..7343be1 --- /dev/null +++ b/images/q.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/r.png b/images/r.png new file mode 100644 index 0000000..52bd2e7 Binary files /dev/null and b/images/r.png differ diff --git a/images/r.svg b/images/r.svg new file mode 100644 index 0000000..de16081 --- /dev/null +++ b/images/r.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/s.png b/images/s.png new file mode 100644 index 0000000..0ba4ec8 Binary files /dev/null and b/images/s.png differ diff --git a/images/s.svg b/images/s.svg new file mode 100644 index 0000000..1611484 --- /dev/null +++ b/images/s.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/t.png b/images/t.png new file mode 100644 index 0000000..92a668d Binary files /dev/null and b/images/t.png differ diff --git a/images/t.svg b/images/t.svg new file mode 100644 index 0000000..8762782 --- /dev/null +++ b/images/t.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/u.png b/images/u.png new file mode 100644 index 0000000..d0930ab Binary files /dev/null and b/images/u.png differ diff --git a/images/u.svg b/images/u.svg new file mode 100644 index 0000000..2083ed0 --- /dev/null +++ b/images/u.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/v.png b/images/v.png new file mode 100644 index 0000000..e4a1ef4 Binary files /dev/null and b/images/v.png differ diff --git a/images/v.svg b/images/v.svg new file mode 100644 index 0000000..a0a4578 --- /dev/null +++ b/images/v.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/w.png b/images/w.png new file mode 100644 index 0000000..0c7b513 Binary files /dev/null and b/images/w.png differ diff --git a/images/w.svg b/images/w.svg new file mode 100644 index 0000000..dd2d33f --- /dev/null +++ b/images/w.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/x.png b/images/x.png new file mode 100644 index 0000000..f21ec5e Binary files /dev/null and b/images/x.png differ diff --git a/images/x.svg b/images/x.svg new file mode 100644 index 0000000..16f85f1 --- /dev/null +++ b/images/x.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/y.png b/images/y.png new file mode 100644 index 0000000..57e09d3 Binary files /dev/null and b/images/y.png differ diff --git a/images/y.svg b/images/y.svg new file mode 100644 index 0000000..a8b38ff --- /dev/null +++ b/images/y.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/images/z.png b/images/z.png new file mode 100644 index 0000000..965e255 Binary files /dev/null and b/images/z.png differ diff --git a/images/z.svg b/images/z.svg new file mode 100644 index 0000000..8c6e113 --- /dev/null +++ b/images/z.svg @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..a1f23d8 --- /dev/null +++ b/index.html @@ -0,0 +1,33 @@ + + + + + + Paysages Typographiques + + + + + +
+
+ + + + + + +
+

Créer ton "paysage"

+

Explore cet univers typographique et transforme les lettres en paysages perceptifs.

+ Commencer +
+ + + \ No newline at end of file diff --git a/json b/json new file mode 100644 index 0000000..d62424e --- /dev/null +++ b/json @@ -0,0 +1,73 @@ +paper.install(window); + +window.onload = function() { + var canvas = document.getElementById('myCanvas'); + paper.setup(canvas); + + var firstPoint = new Point(20, 40); + var secondPoint = new Point(200,300); + console.log(secondPoint); // { x: 20, y: 40 } + + secondPoint.y = 20; + console.log(secondPoint); // { x: 20, y: 20 } + + console.log(firstPoint); // { x: 20, y: 40 } + // console.log("Line from", firstPoint, "to", secondPoint); + var path = new Path.Line(firstPoint, secondPoint); + path.strokeColor = 'black'; + console.log(Path.Line); + + paper.view.draw(); +}; + +// comme 0 = haut gauche de ma page en js, et que le 0 de ma lettre est diff je dois rajouter au x de ma lettre la diff +// qu'il y a par rapport à l'endroit ou je veux que ma lettre soit et faire la même chose avec y (mais soustraire) + +const letterAnchors = { + A: { begin: new Point(0, 228), end: new Point(142, 0) }, + B: { begin: new Point(0, 228), end: new Point(122, 0) }, + C: { begin: new Point(0, 225), end: new Point(149, 0) }, + D: { begin: new Point(0, 151), end: new Point(183, 0) }, + E: { begin: new Point(0, 155), end: new Point(156, 0) }, + F: { begin: new Point(0, 161), end: new Point(117, 0) }, + G: { begin: new Point(0, 232), end: new Point(204, 0) }, + H: { begin: new Point(0, 228), end: new Point(136, 0) }, + I: { begin: new Point(0, 156), end: new Point(105, 0) }, + J: { begin: new Point(0, 152), end: new Point(100, 0) }, + K: { begin: new Point(0, 229), end: new Point(146, 0) }, + L: { begin: new Point(0, 172), end: new Point(151, 0) }, + M: { begin: new Point(0, 155), end: new Point(118, 0) }, + N: { begin: new Point(0, 82), end: new Point(142, 0) }, + O: { begin: new Point(0, 129), end: new Point(173, 0) }, + P: { begin: new Point(0, 122), end: new Point(207, 0) }, + Q: { begin: new Point(0, 184), end: new Point(146, 0) }, + R: { begin: new Point(0, 157), end: new Point(151, 0) }, + S: { begin: new Point(0, 65), end: new Point(118, 0) }, + T: { begin: new Point(0, 82), end: new Point(142, 0) }, + U: { begin: new Point(0, 129), end: new Point(173, 0) }, + V: { begin: new Point(0, 122), end: new Point(207, 0) }, + W: { begin: new Point(0, 184), end: new Point(146, 0) }, + X: { begin: new Point(0, 157), end: new Point(151, 0) }, + Y: { begin: new Point(0, 65), end: new Point(118, 0) }, + Z: { begin: new Point(0, 82), end: new Point(142, 0) }, + }; + + sequence = scheme.split("").map(s => lettersMap[s]); + + currentPoint = startingPoint; // début du tracé + +sequence.forEach(letter => { + let anchors = letterAnchors[letter]; + let img = new Raster(letterImages[letter]); + + // translation pour rattachement + offset = currentPoint.subtract(anchors.begin); + img.position = img.position.add(offset); + + // rotation si nécessaire + angle = Math.atan2(anchors.end.y - anchors.begin.y, anchors.end.x - anchors.begin.x) * 180/Math.PI; + img.rotate(angle); + + // mettre à jour le point pour la lettre suivante + currentPoint = currentPoint.add(anchors.end.subtract(anchors.begin)); +}); \ No newline at end of file diff --git a/letters/D^1.json b/letters/D^1.json new file mode 100644 index 0000000..2b032e1 --- /dev/null +++ b/letters/D^1.json @@ -0,0 +1,114 @@ +{ +"name": "D", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 283, +"y": 466 +}, +{ +"x": 53, +"y": 445, +"type": "cubic" +}, +{ +"x": -52, +"y": 44, +"type": "cubic" +}, +{ +"x": 37, +"y": 13, +"smooth": true +}, +{ +"x": 127, +"y": -18, +"type": "cubic" +}, +{ +"x": 244, +"y": 158, +"type": "cubic" +}, +{ +"x": 334, +"y": 348, +"smooth": true +}, +{ +"x": 422, +"y": 534, +"type": "cubic" +}, +{ +"x": 487, +"y": 735, +"type": "cubic" +}, +{ +"x": 489, +"y": 748, +"smooth": true +}, +{ +"x": 495, +"y": 782, +"type": "cubic" +}, +{ +"x": 264, +"y": 70, +"type": "cubic" +}, +{ +"x": 417, +"y": 9, +"smooth": true +}, +{ +"x": 472, +"y": -13, +"type": "cubic" +}, +{ +"x": 585, +"y": 79, +"type": "cubic" +}, +{ +"x": 657, +"y": 140 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "92dca7e3-f3b2-4c0e-83a3-5df2ca8a8424", +"transformation": { +"translateX": -471, +"translateY": -783, +"scaleX": 0.5307927923335285, +"scaleY": 0.5307927923335285 +}, +"opacity": 0.27889825406381696 +} +} +} +} +} diff --git a/letters/E^1.json b/letters/E^1.json new file mode 100644 index 0000000..1097f65 --- /dev/null +++ b/letters/E^1.json @@ -0,0 +1,99 @@ +{ +"name": "E", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 503, +"y": 103 +}, +{ +"x": 423, +"y": -14, +"type": "cubic" +}, +{ +"x": 297, +"y": -6, +"type": "cubic" +}, +{ +"x": 243, +"y": 33, +"smooth": true +}, +{ +"x": 95, +"y": 141, +"type": "cubic" +}, +{ +"x": 274, +"y": 556, +"type": "cubic" +}, +{ +"x": 372, +"y": 494, +"smooth": true +}, +{ +"x": 462, +"y": 437, +"type": "cubic" +}, +{ +"x": 235, +"y": 193, +"type": "cubic" +}, +{ +"x": 89, +"y": 179, +"smooth": true +}, +{ +"x": 51, +"y": 175, +"type": "cubic" +}, +{ +"x": 17, +"y": 195, +"type": "cubic" +}, +{ +"x": 2, +"y": 220 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "310aefcd-7f69-4388-84bb-5040f1267909", +"transformation": { +"translateX": -867, +"translateY": -940, +"scaleX": 0.7360509737576577, +"scaleY": 0.7360509737576577 +}, +"opacity": 0.09542444310656228 +} +} +} +} +} diff --git a/letters/F^1.json b/letters/F^1.json new file mode 100644 index 0000000..595e268 --- /dev/null +++ b/letters/F^1.json @@ -0,0 +1,105 @@ +{ +"name": "F", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -87, +"y": 54 +}, +{ +"x": 10, +"y": -71, +"type": "cubic" +}, +{ +"x": 644, +"y": 577, +"type": "cubic" +}, +{ +"x": 477, +"y": 738, +"smooth": true +}, +{ +"x": 319, +"y": 889, +"type": "cubic" +}, +{ +"x": -139, +"y": -260, +"type": "cubic" +}, +{ +"x": 65, +"y": -250, +"smooth": true +}, +{ +"x": 169, +"y": -245, +"type": "cubic" +}, +{ +"x": 109, +"y": 267, +"type": "cubic" +}, +{ +"x": 24, +"y": 227, +"smooth": true +}, +{ +"x": -76, +"y": 180, +"type": "cubic" +}, +{ +"x": 136, +"y": -15, +"type": "cubic" +}, +{ +"x": 381, +"y": 136, +"smooth": true +}, +{ +"x": 622, +"y": 284, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "addf0ac2-6425-45db-8fe3-872e06e00a27", +"transformation": { +"translateX": -795, +"translateY": -1064, +"scaleX": 0.6507308890037773, +"scaleY": 0.6507308890037772 +}, +"opacity": 0.16721854304635797 +} +} +} +} +} diff --git a/letters/G^1.json b/letters/G^1.json new file mode 100644 index 0000000..a11ef2f --- /dev/null +++ b/letters/G^1.json @@ -0,0 +1,165 @@ +{ +"name": "G", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 304, +"y": 239 +}, +{ +"x": 349, +"y": 303, +"type": "cubic" +}, +{ +"x": 419, +"y": 481, +"type": "cubic" +}, +{ +"x": 349, +"y": 495, +"smooth": true +}, +{ +"x": 235, +"y": 517, +"type": "cubic" +}, +{ +"x": -50, +"y": 68, +"type": "cubic" +}, +{ +"x": 164, +"y": 5, +"smooth": true +}, +{ +"x": 301, +"y": -35, +"type": "cubic" +}, +{ +"x": 435, +"y": 346, +"type": "cubic" +}, +{ +"x": 453, +"y": 367, +"smooth": true +}, +{ +"x": 461, +"y": 376, +"type": "cubic" +}, +{ +"x": 381, +"y": 175, +"type": "cubic" +}, +{ +"x": 323, +"y": 0, +"smooth": true +}, +{ +"x": 267, +"y": -165, +"type": "cubic" +}, +{ +"x": 219, +"y": -325, +"type": "cubic" +}, +{ +"x": 201, +"y": -324, +"smooth": true +}, +{ +"x": 165, +"y": -322, +"type": "cubic" +}, +{ +"x": 133, +"y": -192, +"type": "cubic" +}, +{ +"x": 159, +"y": -135, +"smooth": true +}, +{ +"x": 168, +"y": -115, +"type": "cubic" +}, +{ +"x": 207, +"y": -74, +"type": "cubic" +}, +{ +"x": 262, +"y": -34, +"smooth": true +}, +{ +"x": 343, +"y": 26, +"type": "cubic" +}, +{ +"x": 455, +"y": 81, +"type": "cubic" +}, +{ +"x": 505, +"y": 86, +"smooth": true +}, +{ +"x": 591, +"y": 94, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "768dfa66-514b-4c93-be01-a6b29089416e", +"transformation": { +"translateX": -282.6412073990309, +"translateY": -646.4024532370369, +"scaleX": 0.3692065644038946, +"scaleY": 0.3692065644038945 +}, +"opacity": 0.13531005418422604 +} +} +} +} +} diff --git a/letters/H^1.json b/letters/H^1.json new file mode 100644 index 0000000..10cea9e --- /dev/null +++ b/letters/H^1.json @@ -0,0 +1,129 @@ +{ +"name": "H", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -68, +"y": 198 +}, +{ +"x": 8, +"y": 215, +"type": "cubic" +}, +{ +"x": 541, +"y": 671, +"type": "cubic" +}, +{ +"x": 467, +"y": 738, +"smooth": true +}, +{ +"x": 383, +"y": 814, +"type": "cubic" +}, +{ +"x": -313, +"y": 82, +"type": "cubic" +}, +{ +"x": -236, +"y": 16, +"smooth": true +}, +{ +"x": -216, +"y": -2, +"type": "cubic" +}, +{ +"x": -121, +"y": 95, +"type": "cubic" +}, +{ +"x": -7, +"y": 175, +"smooth": true +}, +{ +"x": 130, +"y": 271, +"type": "cubic" +}, +{ +"x": 268, +"y": 331, +"type": "cubic" +}, +{ +"x": 327, +"y": 303, +"smooth": true +}, +{ +"x": 398, +"y": 270, +"type": "cubic" +}, +{ +"x": 175, +"y": 80, +"type": "cubic" +}, +{ +"x": 249, +"y": 20, +"smooth": true +}, +{ +"x": 294, +"y": -17, +"type": "cubic" +}, +{ +"x": 398, +"y": 50, +"type": "cubic" +}, +{ +"x": 521, +"y": 123 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "15b906af-0836-4c17-b5b4-703841ca2fbe", +"transformation": { +"translateX": -1016, +"translateY": -1173, +"scaleX": 0.8031566583955416, +"scaleY": 0.8031566583955416 +}, +"opacity": 0.143287176399759 +} +} +} +} +} diff --git a/letters/I^1.json b/letters/I^1.json new file mode 100644 index 0000000..dfd7ba9 --- /dev/null +++ b/letters/I^1.json @@ -0,0 +1,125 @@ +{ +"name": "I", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 20, +"y": 259 +}, +{ +"x": 148, +"y": 412, +"type": "cubic" +}, +{ +"x": 236, +"y": 507, +"type": "cubic" +}, +{ +"x": 342, +"y": 497, +"smooth": true +}, +{ +"x": 429, +"y": 489, +"type": "cubic" +}, +{ +"x": 181, +"y": 41, +"type": "cubic" +}, +{ +"x": 220, +"y": 2, +"smooth": true +}, +{ +"x": 259, +"y": -37, +"type": "cubic" +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 449, +"y": 641, +"smooth": true +}, +{ +"x": 473, +"y": 666, +"type": "cubic" +}, +{ +"x": 515, +"y": 652, +"type": "cubic" +}, +{ +"x": 482, +"y": 616, +"smooth": true +}, +{ +"x": 461, +"y": 594, +"type": "cubic" +}, +{ +"x": 453, +"y": 594, +"type": "cubic" +}, +{ +"x": 444, +"y": 597, +"smooth": true +}, +{ +"x": 431, +"y": 601, +"type": "cubic" +}, +{ +"x": 435, +"y": 624, +"type": "cubic" +} +], +"isClosed": true +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "e2c65bfc-01e3-476e-988e-ac4a1ac1beec", +"transformation": { +"translateX": -701, +"translateY": -898, +"scaleX": 0.6254863695447641, +"scaleY": 0.6254863695447641 +}, +"opacity": 0.13531005418422604 +} +} +} +} +} diff --git a/letters/J^1.json b/letters/J^1.json new file mode 100644 index 0000000..c5be6e4 --- /dev/null +++ b/letters/J^1.json @@ -0,0 +1,154 @@ +{ +"name": "J", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 18, +"y": 145 +}, +{ +"x": -1, +"y": 185, +"type": "cubic" +}, +{ +"x": 134, +"y": 471, +"type": "cubic" +}, +{ +"x": 269, +"y": 500, +"smooth": true +}, +{ +"x": 418, +"y": 532, +"type": "cubic" +}, +{ +"x": 205, +"y": -289, +"type": "cubic" +}, +{ +"x": 73, +"y": -249, +"smooth": true +}, +{ +"x": -83, +"y": -202, +"type": "cubic" +}, +{ +"x": 213, +"y": 349, +"type": "cubic" +}, +{ +"x": 439, +"y": 349, +"smooth": true +}, +{ +"x": 665, +"y": 349, +"type": "cubic" +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 318, +"y": 610, +"smooth": true +}, +{ +"x": 318, +"y": 627, +"type": "cubic" +}, +{ +"x": 351, +"y": 622, +"type": "cubic" +}, +{ +"x": 348, +"y": 608, +"smooth": true +}, +{ +"x": 344, +"y": 594, +"type": "cubic" +}, +{ +"x": 317, +"y": 594, +"type": "cubic" +} +], +"isClosed": true +}, +{ +"points": [ +{ +"x": 111, +"y": 215 +}, +{ +"x": 210, +"y": 132, +"type": "cubic" +}, +{ +"x": 147, +"y": 95, +"type": "cubic" +}, +{ +"x": 238, +"y": 132, +"smooth": true +}, +{ +"x": 328, +"y": 168, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "7bbed696-7312-4922-a50e-2e3ae8fc2b5d", +"transformation": { +"translateX": -405.8652874351421, +"translateY": -632, +"scaleX": 0.4698650913607194, +"scaleY": 0.46986509136071947 +}, +"opacity": 0.08744732089102947 +} +} +} +} +} diff --git a/letters/L^1.json b/letters/L^1.json new file mode 100644 index 0000000..642135b --- /dev/null +++ b/letters/L^1.json @@ -0,0 +1,114 @@ +{ +"name": "L", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 1, +"y": 220 +}, +{ +"x": 94, +"y": 273, +"type": "cubic" +}, +{ +"x": 167, +"y": 332, +"type": "cubic" +}, +{ +"x": 223, +"y": 383, +"smooth": true +}, +{ +"x": 460, +"y": 600, +"type": "cubic" +}, +{ +"x": 526, +"y": 755, +"type": "cubic" +}, +{ +"x": 480, +"y": 746, +"smooth": true +}, +{ +"x": 428, +"y": 736, +"type": "cubic" +}, +{ +"x": 248, +"y": 320, +"type": "cubic" +}, +{ +"x": 235, +"y": 286, +"smooth": true +}, +{ +"x": 148, +"y": 54, +"type": "cubic" +}, +{ +"x": 185, +"y": 18, +"type": "cubic" +}, +{ +"x": 223, +"y": 11, +"smooth": true +}, +{ +"x": 301, +"y": -3, +"type": "cubic" +}, +{ +"x": 399, +"y": 140, +"type": "cubic" +}, +{ +"x": 502, +"y": 207 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "d4fab780-e8a5-46a7-827e-4a0b559af23d", +"transformation": { +"translateX": -379, +"translateY": -491, +"scaleX": 0.440680231655746, +"scaleY": 0.440680231655746 +}, +"opacity": 0.132751354605659 +} +} +} +} +} diff --git a/letters/M^1.json b/letters/M^1.json new file mode 100644 index 0000000..dd9cfe9 --- /dev/null +++ b/letters/M^1.json @@ -0,0 +1,165 @@ +{ +"name": "M", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 25, +"y": 250 +}, +{ +"x": 86, +"y": 371, +"type": "cubic" +}, +{ +"x": 158, +"y": 485, +"type": "cubic" +}, +{ +"x": 220, +"y": 494, +"smooth": true +}, +{ +"x": 324, +"y": 509, +"type": "cubic" +}, +{ +"x": 103, +"y": 84, +"type": "cubic" +}, +{ +"x": 121, +"y": 116, +"smooth": true +}, +{ +"x": 122, +"y": 119, +"type": "cubic" +}, +{ +"x": 194, +"y": 288, +"type": "cubic" +}, +{ +"x": 255, +"y": 392, +"smooth": true +}, +{ +"x": 288, +"y": 448, +"type": "cubic" +}, +{ +"x": 335, +"y": 474, +"type": "cubic" +}, +{ +"x": 361, +"y": 451, +"smooth": true +}, +{ +"x": 400, +"y": 416, +"type": "cubic" +}, +{ +"x": 238, +"y": 172, +"type": "cubic" +}, +{ +"x": 248, +"y": 182, +"smooth": true +}, +{ +"x": 253, +"y": 187, +"type": "cubic" +}, +{ +"x": 299, +"y": 282, +"type": "cubic" +}, +{ +"x": 354, +"y": 337, +"smooth": true +}, +{ +"x": 400, +"y": 383, +"type": "cubic" +}, +{ +"x": 470, +"y": 420, +"type": "cubic" +}, +{ +"x": 485, +"y": 365, +"smooth": true +}, +{ +"x": 500, +"y": 309, +"type": "cubic" +}, +{ +"x": 365, +"y": 62, +"type": "cubic" +}, +{ +"x": 355, +"y": 1, +"smooth": true +}, +{ +"x": 345, +"y": -62, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "f096e289-4fb3-47c4-a0be-c9279144cce7", +"transformation": { +"translateX": -194, +"translateY": -374, +"scaleX": 0.3163475915741544, +"scaleY": 0.3163475915741544 +}, +"opacity": 0.20499698976520198 +} +} +} +} +} diff --git a/letters/N^1.json b/letters/N^1.json new file mode 100644 index 0000000..afe9e2b --- /dev/null +++ b/letters/N^1.json @@ -0,0 +1,17 @@ +{ +"name": "N", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"xAdvance": 500 +} +} +} +} diff --git a/letters/O^1.json b/letters/O^1.json new file mode 100644 index 0000000..71d5620 --- /dev/null +++ b/letters/O^1.json @@ -0,0 +1,81 @@ +{ +"name": "O", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 389, +"y": 511, +"smooth": true +}, +{ +"x": 305, +"y": 528, +"type": "cubic" +}, +{ +"x": 71, +"y": 265, +"type": "cubic" +}, +{ +"x": 108, +"y": 49, +"smooth": true +}, +{ +"x": 145, +"y": -172, +"type": "cubic" +}, +{ +"x": 426, +"y": 201, +"type": "cubic" +}, +{ +"x": 439, +"y": 409, +"smooth": true +}, +{ +"x": 442, +"y": 461, +"type": "cubic" +}, +{ +"x": 431, +"y": 502, +"type": "cubic" +} +], +"isClosed": true +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "3b953f00-e859-45f0-ae6c-0c7ef30e7cc1", +"transformation": { +"translateX": -257.5653433932131, +"translateY": -451.7964791389, +"scaleX": 0.35436763915845854, +"scaleY": 0.3543676391584586 +}, +"opacity": 0.132751354605659 +} +} +} +} +} diff --git a/letters/P^1.json b/letters/P^1.json new file mode 100644 index 0000000..1fd7728 --- /dev/null +++ b/letters/P^1.json @@ -0,0 +1,150 @@ +{ +"name": "P", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 4, +"y": 220 +}, +{ +"x": 151, +"y": 220, +"type": "cubic" +}, +{ +"x": 418, +"y": 534, +"type": "cubic" +}, +{ +"x": 385, +"y": 499, +"smooth": true +}, +{ +"x": 347, +"y": 459, +"type": "cubic" +}, +{ +"x": -27, +"y": -255, +"type": "cubic" +}, +{ +"x": -12, +"y": -231, +"smooth": true +}, +{ +"x": -3, +"y": -217, +"type": "cubic" +}, +{ +"x": 186, +"y": 170, +"type": "cubic" +}, +{ +"x": 323, +"y": 303, +"smooth": true +}, +{ +"x": 355, +"y": 334, +"type": "cubic" +}, +{ +"x": 471, +"y": 428, +"type": "cubic" +}, +{ +"x": 523, +"y": 360, +"smooth": true +}, +{ +"x": 579, +"y": 288, +"type": "cubic" +}, +{ +"x": 309, +"y": 78, +"type": "cubic" +}, +{ +"x": 283, +"y": 133, +"smooth": true +}, +{ +"x": 276, +"y": 148, +"type": "cubic" +}, +{ +"x": 315, +"y": 191, +"type": "cubic" +}, +{ +"x": 377, +"y": 220, +"smooth": true +}, +{ +"x": 421, +"y": 241, +"type": "cubic" +}, +{ +"x": 475, +"y": 247, +"type": "cubic" +}, +{ +"x": 476, +"y": 244, +"smooth": true +}, +{ +"x": 576, +"y": 73, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "b377d5db-c9d9-48fd-8de7-fb1725aecc84", +"transformation": { +"translateX": -322, +"translateY": -567, +"scaleX": 0.3786910236378584, +"scaleY": 0.37869102363785834 +}, +"opacity": 0.19777242624924707 +} +} +} +} +} diff --git a/letters/Q^1.json b/letters/Q^1.json new file mode 100644 index 0000000..a0ca2a7 --- /dev/null +++ b/letters/Q^1.json @@ -0,0 +1,105 @@ +{ +"name": "Q", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 354, +"y": 414 +}, +{ +"x": 354, +"y": 434, +"type": "cubic" +}, +{ +"x": 377, +"y": 484, +"type": "cubic" +}, +{ +"x": 337, +"y": 497, +"smooth": true +}, +{ +"x": 254, +"y": 524, +"type": "cubic" +}, +{ +"x": -71, +"y": 83, +"type": "cubic" +}, +{ +"x": 25, +"y": 10, +"smooth": true +}, +{ +"x": 129, +"y": -69, +"type": "cubic" +}, +{ +"x": 474, +"y": 458, +"type": "cubic" +}, +{ +"x": 465, +"y": 445, +"smooth": true +}, +{ +"x": 435, +"y": 399, +"type": "cubic" +}, +{ +"x": 42, +"y": -496, +"type": "cubic" +}, +{ +"x": 42, +"y": -575, +"smooth": true +}, +{ +"x": 42, +"y": -654, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "9061f319-c95a-44ad-8c65-cd5bdf3fb068", +"transformation": { +"translateX": -855, +"translateY": -1286, +"scaleX": 0.6833237030400487, +"scaleY": 0.6833237030400489 +}, +"opacity": 0.31878386514148094 +} +} +} +} +} diff --git a/letters/R^1.json b/letters/R^1.json new file mode 100644 index 0000000..657ef61 --- /dev/null +++ b/letters/R^1.json @@ -0,0 +1,159 @@ +{ +"name": "R", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 61, +"y": 319 +}, +{ +"x": 68, +"y": 326, +"type": "cubic" +}, +{ +"x": 115, +"y": 355, +"type": "cubic" +}, +{ +"x": 159, +"y": 393, +"smooth": true +}, +{ +"x": 201, +"y": 429, +"type": "cubic" +}, +{ +"x": 230, +"y": 479, +"type": "cubic" +}, +{ +"x": 239, +"y": 492, +"smooth": true +}, +{ +"x": 244, +"y": 499, +"type": "cubic" +}, +{ +"x": 234, +"y": 483, +"type": "cubic" +}, +{ +"x": 218, +"y": 457, +"smooth": true +}, +{ +"x": 207, +"y": 441, +"type": "cubic" +}, +{ +"x": 188, +"y": 416, +"type": "cubic" +}, +{ +"x": 193, +"y": 405, +"smooth": true +}, +{ +"x": 200, +"y": 390, +"type": "cubic" +}, +{ +"x": 250, +"y": 423, +"type": "cubic" +}, +{ +"x": 274, +"y": 387, +"smooth": true +}, +{ +"x": 299, +"y": 349, +"type": "cubic" +}, +{ +"x": 231, +"y": 252, +"type": "cubic" +}, +{ +"x": 194, +"y": 159, +"smooth": true +}, +{ +"x": 168, +"y": 96, +"type": "cubic" +}, +{ +"x": 160, +"y": 49, +"type": "cubic" +}, +{ +"x": 188, +"y": 23, +"smooth": true +}, +{ +"x": 219, +"y": -6, +"type": "cubic" +}, +{ +"x": 295, +"y": 18, +"type": "cubic" +}, +{ +"x": 442, +"y": 103 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "a23b0c58-dde2-45b3-931e-d267b78377c0", +"transformation": { +"translateX": -343, +"translateY": -371, +"scaleX": 0.33629282384340853, +"scaleY": 0.33629282384340853 +}, +"opacity": 0.20710415412402194 +} +} +} +} +} diff --git a/letters/T^1.json b/letters/T^1.json new file mode 100644 index 0000000..3b6125e --- /dev/null +++ b/letters/T^1.json @@ -0,0 +1,107 @@ +{ +"name": "T", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 62, +"y": 217 +}, +{ +"x": 296, +"y": 451, +"type": "cubic" +}, +{ +"x": 432, +"y": 750, +"type": "cubic" +}, +{ +"x": 420, +"y": 749, +"smooth": true +}, +{ +"x": 412, +"y": 748, +"type": "cubic" +}, +{ +"x": 80, +"y": 87, +"type": "cubic" +}, +{ +"x": 147, +"y": 18, +"smooth": true +}, +{ +"x": 187, +"y": -24, +"type": "cubic" +}, +{ +"x": 256, +"y": 17, +"type": "cubic" +}, +{ +"x": 324, +"y": 89 +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 150, +"y": 463 +}, +{ +"x": 183, +"y": 463, +"type": "cubic" +}, +{ +"x": 274, +"y": 476, +"type": "cubic" +}, +{ +"x": 425, +"y": 502 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "21194c1a-0b38-4b02-9401-ea0cb631a1c3", +"transformation": { +"translateX": -287, +"translateY": -243, +"scaleX": 0.38582321012375126, +"scaleY": 0.38582321012375126 +}, +"opacity": 0.358669476219145 +} +} +} +} +} diff --git a/letters/V^1.json b/letters/V^1.json new file mode 100644 index 0000000..7562e33 --- /dev/null +++ b/letters/V^1.json @@ -0,0 +1,99 @@ +{ +"name": "V", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 200, +"y": 496 +}, +{ +"x": 143, +"y": 439, +"type": "cubic" +}, +{ +"x": -19, +"y": 58, +"type": "cubic" +}, +{ +"x": 78, +"y": 6, +"smooth": true +}, +{ +"x": 176, +"y": -47, +"type": "cubic" +}, +{ +"x": 480, +"y": 468, +"type": "cubic" +}, +{ +"x": 402, +"y": 500, +"smooth": true +}, +{ +"x": 357, +"y": 518, +"type": "cubic" +}, +{ +"x": 226, +"y": 285, +"type": "cubic" +}, +{ +"x": 283, +"y": 231, +"smooth": true +}, +{ +"x": 310, +"y": 206, +"type": "cubic" +}, +{ +"x": 341, +"y": 216, +"type": "cubic" +}, +{ +"x": 382, +"y": 234 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "b0a4cabc-5e9e-4210-a269-db48853c7443", +"transformation": { +"translateX": -341, +"translateY": -408, +"scaleX": 0.36185689418165, +"scaleY": 0.36185689418165007 +}, +"opacity": 0.36664659843467806 +} +} +} +} +} diff --git a/letters/W^1.json b/letters/W^1.json new file mode 100644 index 0000000..efd41ad --- /dev/null +++ b/letters/W^1.json @@ -0,0 +1,135 @@ +{ +"name": "W", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -1, +"y": 344 +}, +{ +"x": 59, +"y": 404, +"type": "cubic" +}, +{ +"x": 221, +"y": 508, +"type": "cubic" +}, +{ +"x": 212, +"y": 489, +"smooth": true +}, +{ +"x": 203, +"y": 469, +"type": "cubic" +}, +{ +"x": -42, +"y": 33, +"type": "cubic" +}, +{ +"x": 31, +"y": 3, +"smooth": true +}, +{ +"x": 108, +"y": -29, +"type": "cubic" +}, +{ +"x": 335, +"y": 401, +"type": "cubic" +}, +{ +"x": 335, +"y": 397, +"smooth": true +}, +{ +"x": 335, +"y": 393, +"type": "cubic" +}, +{ +"x": 172, +"y": 73, +"type": "cubic" +}, +{ +"x": 230, +"y": 47, +"smooth": true +}, +{ +"x": 289, +"y": 20, +"type": "cubic" +}, +{ +"x": 508, +"y": 480, +"type": "cubic" +}, +{ +"x": 496, +"y": 468, +"smooth": true +}, +{ +"x": 484, +"y": 456, +"type": "cubic" +}, +{ +"x": 441, +"y": 362, +"type": "cubic" +}, +{ +"x": 466, +"y": 337, +"smooth": true +}, +{ +"x": 491, +"y": 312, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "f7bda038-1c1e-4fd7-8509-d0e37c8a9743", +"transformation": { +"translateX": -486, +"translateY": -601, +"scaleX": 0.4944705090612771, +"scaleY": 0.494470509061277 +}, +"opacity": 0.08744732089102947 +} +} +} +} +} diff --git a/letters/X^1.json b/letters/X^1.json new file mode 100644 index 0000000..44bdb45 --- /dev/null +++ b/letters/X^1.json @@ -0,0 +1,134 @@ +{ +"name": "X", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -79, +"y": 172 +}, +{ +"x": -219, +"y": 51, +"type": "cubic" +}, +{ +"x": 107, +"y": 15, +"type": "cubic" +}, +{ +"x": 242, +"y": 233, +"smooth": true +}, +{ +"x": 377, +"y": 451, +"type": "cubic" +}, +{ +"x": 167, +"y": 550, +"type": "cubic" +}, +{ +"x": 125, +"y": 472, +"smooth": true +}, +{ +"x": 69, +"y": 369, +"type": "cubic" +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 180, +"y": 277 +}, +{ +"x": 241, +"y": 295, +"type": "cubic" +}, +{ +"x": 471, +"y": 381, +"type": "cubic" +}, +{ +"x": 419, +"y": 435, +"smooth": true +}, +{ +"x": 371, +"y": 486, +"type": "cubic" +}, +{ +"x": 168, +"y": 132, +"type": "cubic" +}, +{ +"x": 222, +"y": 49, +"smooth": true +}, +{ +"x": 274, +"y": -33, +"type": "cubic" +}, +{ +"x": 372, +"y": -7, +"type": "cubic" +}, +{ +"x": 529, +"y": 68, +"smooth": true +}, +{ +"x": 699, +"y": 149, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "18930060-a42f-4671-9a6e-385fdbe4b9bd", +"transformation": { +"translateX": -329, +"translateY": -467, +"scaleX": 0.40627446639434445, +"scaleY": 0.40627446639434445 +}, +"opacity": 0.11137868753762803 +} +} +} +} +} diff --git a/letters/Y^1.json b/letters/Y^1.json new file mode 100644 index 0000000..3fd2776 --- /dev/null +++ b/letters/Y^1.json @@ -0,0 +1,120 @@ +{ +"name": "Y", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -1, +"y": 435 +}, +{ +"x": 45, +"y": 481, +"type": "cubic" +}, +{ +"x": 115, +"y": 509, +"type": "cubic" +}, +{ +"x": 136, +"y": 494, +"smooth": true +}, +{ +"x": 197, +"y": 452, +"type": "cubic" +}, +{ +"x": -21, +"y": 135, +"type": "cubic" +}, +{ +"x": 73, +"y": 72, +"smooth": true +}, +{ +"x": 172, +"y": 6, +"type": "cubic" +}, +{ +"x": 454, +"y": 493, +"type": "cubic" +}, +{ +"x": 447, +"y": 491, +"smooth": true +}, +{ +"x": 444, +"y": 490, +"type": "cubic" +}, +{ +"x": 259, +"y": -314, +"type": "cubic" +}, +{ +"x": 173, +"y": -252, +"smooth": true +}, +{ +"x": 3, +"y": -129, +"type": "cubic" +}, +{ +"x": 333, +"y": 224, +"type": "cubic" +}, +{ +"x": 631, +"y": 291, +"smooth": true +}, +{ +"x": 895, +"y": 351, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "762cfb70-8eec-45e1-86c7-1fcc4e9df509", +"transformation": { +"translateX": -491.54654906395433, +"translateY": -656.6976202122326, +"scaleX": 0.46698913344766774, +"scaleY": 0.46698913344766774 +}, +"opacity": 0.11137868753762803 +} +} +} +} +} diff --git a/letters/Z^1.json b/letters/Z^1.json new file mode 100644 index 0000000..5ccda2b --- /dev/null +++ b/letters/Z^1.json @@ -0,0 +1,150 @@ +{ +"name": "Z", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 46, +"y": 445 +}, +{ +"x": 37, +"y": 376, +"type": "cubic" +}, +{ +"x": 143, +"y": 234, +"type": "cubic" +}, +{ +"x": 487, +"y": 493, +"smooth": true +}, +{ +"x": 525, +"y": 521, +"type": "cubic" +}, +{ +"x": 335, +"y": 395, +"type": "cubic" +}, +{ +"x": 184, +"y": 270, +"smooth": true +}, +{ +"x": 64, +"y": 171, +"type": "cubic" +}, +{ +"x": -30, +"y": 73, +"type": "cubic" +}, +{ +"x": -36, +"y": 67, +"smooth": true +}, +{ +"x": -50, +"y": 53, +"type": "cubic" +}, +{ +"x": 320, +"y": 330, +"type": "cubic" +}, +{ +"x": 445, +"y": 188, +"smooth": true +}, +{ +"x": 539, +"y": 81, +"type": "cubic" +}, +{ +"x": 136, +"y": -319, +"type": "cubic" +}, +{ +"x": 47, +"y": -224, +"smooth": true +}, +{ +"x": -38, +"y": -133, +"type": "cubic" +}, +{ +"x": 155, +"y": 10, +"type": "cubic" +}, +{ +"x": 334, +"y": 80, +"smooth": true +}, +{ +"x": 436, +"y": 120, +"type": "cubic" +}, +{ +"x": 528, +"y": 132, +"type": "cubic" +}, +{ +"x": 551, +"y": 128, +"smooth": true +}, +{ +"x": 620, +"y": 115, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "fd4daa61-8760-4b7a-9bae-d5b9e04487ec", +"transformation": { +"translateX": -465, +"translateY": -702, +"scaleX": 0.47082374399840393, +"scaleY": 0.4708237439984038 +}, +"opacity": 0.239012642986153 +} +} +} +} +} diff --git a/letters/a.json b/letters/a.json new file mode 100644 index 0000000..1030c07 --- /dev/null +++ b/letters/a.json @@ -0,0 +1,174 @@ +{ +"name": "A", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 0, +"y": 149 +}, +{ +"x": 46, +"y": 210, +"type": "cubic" +}, +{ +"x": 219, +"y": 457, +"type": "cubic" +}, +{ +"x": 218, +"y": 445, +"smooth": true +}, +{ +"x": 218, +"y": 438, +"type": "cubic" +}, +{ +"x": 170, +"y": 368, +"type": "cubic" +}, +{ +"x": 132, +"y": 281, +"smooth": true +}, +{ +"x": 81, +"y": 160, +"type": "cubic" +}, +{ +"x": 35, +"y": 21, +"type": "cubic" +}, +{ +"x": 109, +"y": 6, +"smooth": true +}, +{ +"x": 222.1844940663987, +"y": -15.324614824104106, +"type": "cubic" +}, +{ +"x": 342, +"y": 290, +"type": "cubic" +}, +{ +"x": 355, +"y": 328, +"smooth": true +}, +{ +"x": 376, +"y": 388, +"type": "cubic" +}, +{ +"x": 377, +"y": 510, +"type": "cubic" +}, +{ +"x": 289, +"y": 493, +"smooth": true +}, +{ +"x": 219, +"y": 480, +"type": "cubic" +}, +{ +"x": 204, +"y": 418, +"type": "cubic" +}, +{ +"x": 208, +"y": 413, +"smooth": true +}, +{ +"x": 220, +"y": 400, +"type": "cubic" +}, +{ +"x": 406, +"y": 480, +"type": "cubic" +}, +{ +"x": 408, +"y": 445, +"smooth": true +}, +{ +"x": 410, +"y": 411, +"type": "cubic" +}, +{ +"x": 206, +"y": -12, +"type": "cubic" +}, +{ +"x": 347, +"y": -20, +"smooth": true +}, +{ +"x": 379, +"y": -22, +"type": "cubic" +}, +{ +"x": 473, +"y": 27, +"type": "cubic" +}, +{ +"x": 535, +"y": 90 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "59e239c1-d8f0-4c2c-84cd-3683407500d2", +"transformation": { +"translateX": -240, +"translateY": -405, +"scaleX": 0.6068034911083972, +"scaleY": 0.6068034911083972 +}, +"opacity": 0.18096313017306198 +} +} +} +} +} diff --git a/letters/aa.json b/letters/aa.json new file mode 100644 index 0000000..0f09f72 --- /dev/null +++ b/letters/aa.json @@ -0,0 +1,230 @@ +{ + "name": "a", + "sources": [ + { + "name": "", + "layerName": "f1362c35", + "locationBase": "f1362c35" + } + ], + "layers": { + "f1362c35": { + "glyph": { + "path": { + "contours": [ + { + "points": [ + { + "x": 440, + "y": 20, + "type": "cubic" + }, + { + "x": 372, + "y": -21, + "type": "cubic" + }, + { + "x": 328, + "y": -11, + "smooth": true + }, + { + "x": 296, + "y": -4, + "type": "cubic" + }, + { + "x": 287, + "y": 24, + "type": "cubic" + }, + { + "x": 284, + "y": 44, + "smooth": true + }, + { + "x": 275.7615153755458, + "y": 103.72901352729276, + "type": "cubic" + }, + { + "x": 303, + "y": 179, + "type": "cubic" + }, + { + "x": 321, + "y": 235, + "smooth": true + }, + { + "x": 336, + "y": 284, + "type": "cubic" + }, + { + "x": 357, + "y": 339, + "type": "cubic" + }, + { + "x": 374, + "y": 376, + "smooth": true + }, + { + "x": 380, + "y": 388, + "type": "cubic" + }, + { + "x": 396, + "y": 422, + "type": "cubic" + }, + { + "x": 410, + "y": 405, + "smooth": true + }, + { + "x": 421, + "y": 391, + "type": "cubic" + }, + { + "x": 408, + "y": 358, + "type": "cubic" + }, + { + "x": 400, + "y": 337, + "smooth": true + }, + { + "x": 397, + "y": 329, + "type": "cubic" + }, + { + "x": 384, + "y": 302, + "type": "cubic" + }, + { + "x": 365, + "y": 273, + "smooth": true + }, + { + "x": 341, + "y": 236, + "type": "cubic" + }, + { + "x": 309, + "y": 191, + "type": "cubic" + }, + { + "x": 289, + "y": 164, + "smooth": true + }, + { + "x": 247, + "y": 108, + "type": "cubic" + }, + { + "x": 141.46099159187946, + "y": -6.496999353221498, + "type": "cubic" + }, + { + "x": 70, + "y": -1 + }, + { + "x": -15.6771591568439, + "y": 7.924704078837907, + "type": "cubic" + }, + { + "x": 16, + "y": 147, + "type": "cubic" + }, + { + "x": 38, + "y": 196, + "smooth": true + }, + { + "x": 75, + "y": 282, + "type": "cubic" + }, + { + "x": 160, + "y": 391, + "type": "cubic" + }, + { + "x": 220, + "y": 441, + "smooth": true + }, + { + "x": 238, + "y": 456, + "type": "cubic" + }, + { + "x": 261, + "y": 474, + "type": "cubic" + }, + { + "x": 280, + "y": 485, + "smooth": true + }, + { + "x": 299.98775661021176, + "y": 496.9926539661271, + "type": "cubic" + }, + { + "x": 342, + "y": 511, + "type": "cubic" + }, + { + "x": 355, + "y": 484, + "smooth": true + } + ], + "isClosed": false + } + ] + }, + "xAdvance": 500, + "backgroundImage": { + "identifier": "584806c1-f7e5-4412-9b1d-b88af350ab4e", + "transformation": { + "translateX": -164, + "translateY": -326, + "scaleX": 0.5120314807467685, + "scaleY": 0.5120314807467684 + }, + "opacity": 0.26523702031602703 + } + } + } + } +} \ No newline at end of file diff --git a/letters/b.json b/letters/b.json new file mode 100644 index 0000000..4b2b395 --- /dev/null +++ b/letters/b.json @@ -0,0 +1,102 @@ +{ +"name": "B", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ + +{ +"x": 57, +"y": 242, +"type": "cubic" +}, +{ +"x": 247, +"y": 491, +"type": "cubic" +}, +{ +"x": 326, +"y": 422, +"smooth": true +}, +{ +"x": 417, +"y": 342, +"type": "cubic" +}, +{ +"x": 106, +"y": -71, +"type": "cubic" +}, +{ +"x": 24, +"y": 11, +"smooth": true +}, +{ +"x": -58, +"y": 93, +"type": "cubic" +}, +{ +"x": 295, +"y": 752, +"type": "cubic" +}, +{ +"x": 332, +"y": 752, +"smooth": true +}, +{ +"x": 369, +"y": 752, +"type": "cubic" +}, +{ +"x": 150, +"y": 419, +"type": "cubic" +}, +{ +"x": 119, +"y": 419, +"smooth": true +}, +{ +"x": 88, +"y": 419, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "acf0e848-5701-40ed-9309-046d867c3e31", +"transformation": { +"translateX": -512, +"translateY": -608, +"scaleX": 0.4673086843268955, +"scaleY": 0.4673086843268955 +}, +"opacity": 0.191149909692956 +} +} +} +} +} diff --git a/letters/bb.json b/letters/bb.json new file mode 100644 index 0000000..1f91867 --- /dev/null +++ b/letters/bb.json @@ -0,0 +1,200 @@ +{ +"name": "b", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 0, +"y": 284 +}, +{ +"x": 31, +"y": 308, +"type": "cubic" +}, +{ +"x": 110, +"y": 370, +"type": "cubic" +}, +{ +"x": 180, +"y": 449, +"smooth": true +}, +{ +"x": 281, +"y": 564, +"type": "cubic" +}, +{ +"x": 373, +"y": 705, +"type": "cubic" +}, +{ +"x": 380, +"y": 722, +"smooth": true +}, +{ +"x": 408, +"y": 786, +"type": "cubic" +}, +{ +"x": 362, +"y": 755, +"type": "cubic" +}, +{ +"x": 235, +"y": 510, +"smooth": true +}, +{ +"x": 183, +"y": 408, +"type": "cubic" +}, +{ +"x": 6, +"y": 100, +"type": "cubic" +}, +{ +"x": 133, +"y": 15, +"smooth": true +}, +{ +"x": 133, +"y": 15, +"type": "cubic" +}, +{ +"x": 133, +"y": 15, +"type": "cubic" +}, +{ +"x": 133, +"y": 15 +}, +{ +"x": 213, +"y": -38, +"type": "cubic" +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 133, +"y": 15 +}, +{ +"x": 189, +"y": -21, +"type": "cubic" +}, +{ +"x": 250, +"y": 24, +"type": "cubic" +}, +{ +"x": 300, +"y": 63 +}, +{ +"x": 370.7542958506688, +"y": 121.6742941200668, +"type": "cubic" +}, +{ +"x": 456, +"y": 234, +"type": "cubic" +}, +{ +"x": 481, +"y": 311 +}, +{ +"x": 510, +"y": 385, +"type": "cubic" +}, +{ +"x": 491, +"y": 421, +"type": "cubic" +}, +{ +"x": 461, +"y": 431 +}, +{ +"x": 411, +"y": 448, +"type": "cubic" +}, +{ +"x": 342, +"y": 415, +"type": "cubic" +}, +{ +"x": 276, +"y": 356, +"smooth": true +}, +{ +"x": 237.41457148749305, +"y": 320.63002386353526, +"type": "cubic" +}, +{ +"x": 190, +"y": 260, +"type": "cubic" +}, +{ +"x": 164, +"y": 207, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "0a23f722-91ea-403e-ae2f-9b9a2150ba39", +"transformation": { +"translateX": -251.83655536028112, +"translateY": -419.78207381370817, +"scaleX": 0.363300295033348, +"scaleY": 0.36330029503334793 +}, +"opacity": 0.150865312264861 +} +} +} +} +} diff --git a/letters/c.json b/letters/c.json new file mode 100644 index 0000000..8601b4e --- /dev/null +++ b/letters/c.json @@ -0,0 +1,128 @@ +{ +"name": "c", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 272, +"y": 334 +}, +{ +"x": 347, +"y": 345, +"type": "cubic" +}, +{ +"x": 429, +"y": 469, +"type": "cubic" +}, +{ +"x": 362, +"y": 496, +"smooth": true +}, +{ +"x": 308, +"y": 518, +"type": "cubic" +}, +{ +"x": 203, +"y": 430, +"type": "cubic" +}, +{ +"x": 132, +"y": 343, +"smooth": true +}, +{ +"x": 82, +"y": 281, +"type": "cubic" +}, +{ +"x": 49, +"y": 206, +"type": "cubic" +}, +{ +"x": 41, +"y": 144 +}, +{ +"x": 31, +"y": 70, +"type": "cubic" +}, +{ +"x": 64, +"y": 29, +"type": "cubic" +}, +{ +"x": 94, +"y": 13, +"smooth": true +}, +{ +"x": 137, +"y": -10, +"type": "cubic" +}, +{ +"x": 230, +"y": 1, +"type": "cubic" +}, +{ +"x": 312, +"y": 43, +"smooth": true +}, +{ +"x": 389, +"y": 83, +"type": "cubic" +}, +{ +"x": 432, +"y": 120, +"type": "cubic" +}, +{ +"x": 437, +"y": 125 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "3702db95-9440-48c1-97ee-4cb98a277f25", +"transformation": { +"translateX": -167.32517514401965, +"translateY": -272.3751257232086, +"scaleX": 0.2889957506637987, +"scaleY": 0.2889957506637987 +}, +"opacity": 0.27727614747930796 +} +} +} +} +} diff --git a/letters/d.json b/letters/d.json new file mode 100644 index 0000000..1d8ef2f --- /dev/null +++ b/letters/d.json @@ -0,0 +1,189 @@ +{ +"name": "d", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 244, +"y": 436 +}, +{ +"x": 122, +"y": 561, +"type": "cubic" +}, +{ +"x": -132, +"y": 314, +"type": "cubic" +}, +{ +"x": -117, +"y": 98, +"smooth": true +}, +{ +"x": -116, +"y": 74, +"type": "cubic" +}, +{ +"x": -108, +"y": 50, +"type": "cubic" +}, +{ +"x": -94, +"y": 30, +"smooth": true +}, +{ +"x": -68, +"y": -3, +"type": "cubic" +}, +{ +"x": -3, +"y": -5, +"type": "cubic" +}, +{ +"x": 41, +"y": 18, +"smooth": true +}, +{ +"x": 107, +"y": 54, +"type": "cubic" +}, +{ +"x": 156, +"y": 101, +"type": "cubic" +}, +{ +"x": 178, +"y": 128, +"smooth": true +}, +{ +"x": 199, +"y": 155, +"type": "cubic" +}, +{ +"x": 326, +"y": 313, +"type": "cubic" +}, +{ +"x": 405, +"y": 465, +"smooth": true +}, +{ +"x": 454, +"y": 560, +"type": "cubic" +}, +{ +"x": 506, +"y": 698, +"type": "cubic" +}, +{ +"x": 505, +"y": 740, +"smooth": true +}, +{ +"x": 504, +"y": 774, +"type": "cubic" +}, +{ +"x": 453, +"y": 661, +"type": "cubic" +}, +{ +"x": 439, +"y": 624, +"smooth": true +}, +{ +"x": 429, +"y": 597, +"type": "cubic" +}, +{ +"x": 406, +"y": 543, +"type": "cubic" +}, +{ +"x": 367, +"y": 421, +"smooth": true +}, +{ +"x": 323, +"y": 284, +"type": "cubic" +}, +{ +"x": 241, +"y": 21, +"type": "cubic" +}, +{ +"x": 374, +"y": 14, +"smooth": true +}, +{ +"x": 449, +"y": 9, +"type": "cubic" +}, +{ +"x": 526, +"y": 93, +"type": "cubic" +}, +{ +"x": 588, +"y": 158 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "6eda54fa-58ea-4dea-988a-87628c5078c6", +"transformation": { +"translateX": -301, +"translateY": -478, +"scaleX": 0.3719145377038379, +"scaleY": 0.37191453770383787 +}, +"opacity": 0.19300225733634302 +} +} +} +} +} diff --git a/letters/e.json b/letters/e.json new file mode 100644 index 0000000..f7ab946 --- /dev/null +++ b/letters/e.json @@ -0,0 +1,186 @@ +{ +"name": "e", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 18, +"y": 291 +}, +{ +"x": 23, +"y": 262, +"type": "cubic" +}, +{ +"x": 59, +"y": 245, +"type": "cubic" +}, +{ +"x": 99, +"y": 239 +}, +{ +"x": 181, +"y": 231, +"type": "cubic" +}, +{ +"x": 257.01446794266116, +"y": 251.86696038966292, +"type": "cubic" +}, +{ +"x": 325, +"y": 298, +"smooth": true +}, +{ +"x": 376, +"y": 333, +"type": "cubic" +}, +{ +"x": 435, +"y": 389, +"type": "cubic" +}, +{ +"x": 451, +"y": 417 +}, +{ +"x": 473, +"y": 450, +"type": "cubic" +}, +{ +"x": 476, +"y": 478, +"type": "cubic" +}, +{ +"x": 454, +"y": 494, +"smooth": true +}, +{ +"x": 382, +"y": 546, +"type": "cubic" +}, +{ +"x": 170, +"y": 295, +"type": "cubic" +}, +{ +"x": 170, +"y": 283, +"smooth": true +}, +{ +"x": 170, +"y": 271, +"type": "cubic" +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 170, +"y": 284 +}, +{ +"x": 119, +"y": 206, +"type": "cubic" +}, +{ +"x": 101, +"y": 151, +"type": "cubic" +}, +{ +"x": 101, +"y": 107, +"smooth": true +}, +{ +"x": 101, +"y": 90, +"type": "cubic" +}, +{ +"x": 106, +"y": 70, +"type": "cubic" +}, +{ +"x": 114, +"y": 55, +"smooth": true +}, +{ +"x": 140.90712847614816, +"y": 7.395080388353264, +"type": "cubic" +}, +{ +"x": 191, +"y": 2, +"type": "cubic" +}, +{ +"x": 229, +"y": 2, +"smooth": true +}, +{ +"x": 286, +"y": 2, +"type": "cubic" +}, +{ +"x": 358.124613950106, +"y": 28.212758408954436, +"type": "cubic" +}, +{ +"x": 396, +"y": 75 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "6c1dfb8c-4dc2-4d11-927b-c1a5df6afa1c", +"transformation": { +"translateX": -175.70826010544818, +"translateY": -350.1195079086116, +"scaleX": 0.5980002388793146, +"scaleY": 0.5980002388793146 +}, +"opacity": 0.150865312264861 +} +} +} +} +} diff --git a/letters/f.json b/letters/f.json new file mode 100644 index 0000000..81517c3 --- /dev/null +++ b/letters/f.json @@ -0,0 +1,159 @@ +{ +"name": "f", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -78, +"y": 47 +}, +{ +"x": -28, +"y": 7, +"type": "cubic" +}, +{ +"x": 431, +"y": 340, +"type": "cubic" +}, +{ +"x": 504, +"y": 645, +"smooth": true +}, +{ +"x": 513, +"y": 688, +"type": "cubic" +}, +{ +"x": 519, +"y": 745, +"type": "cubic" +}, +{ +"x": 478, +"y": 751, +"smooth": true +}, +{ +"x": 439, +"y": 756, +"type": "cubic" +}, +{ +"x": 415, +"y": 703, +"type": "cubic" +}, +{ +"x": 393, +"y": 636, +"smooth": true +}, +{ +"x": 338, +"y": 456, +"type": "cubic" +}, +{ +"x": 163, +"y": -102, +"type": "cubic" +}, +{ +"x": 147, +"y": -258, +"smooth": true +}, +{ +"x": 129, +"y": -432, +"type": "cubic" +}, +{ +"x": 144, +"y": -556, +"type": "cubic" +}, +{ +"x": 234, +"y": -550, +"smooth": true +}, +{ +"x": 301, +"y": -545, +"type": "cubic" +}, +{ +"x": 349, +"y": -374, +"type": "cubic" +}, +{ +"x": 322, +"y": -179, +"smooth": true +}, +{ +"x": 300, +"y": -42, +"type": "cubic" +}, +{ +"x": 242, +"y": 42, +"type": "cubic" +}, +{ +"x": 168, +"y": 62, +"smooth": true +}, +{ +"x": 81, +"y": 84, +"type": "cubic" +}, +{ +"x": 239, +"y": -106, +"type": "cubic" +}, +{ +"x": 574, +"y": 100 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "1f67c4d6-023e-4ce6-a027-abc9534ee2a8", +"transformation": { +"translateX": -179, +"translateY": -529, +"scaleX": 0.3174114988701983, +"scaleY": 0.31741149887019837 +}, +"opacity": 0.13280662151994 +} +} +} +} +} diff --git a/letters/g.json b/letters/g.json new file mode 100644 index 0000000..ec5dabe --- /dev/null +++ b/letters/g.json @@ -0,0 +1,219 @@ +{ +"name": "g", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 371, +"y": 223 +}, +{ +"x": 460, +"y": 358, +"type": "cubic" +}, +{ +"x": 482, +"y": 420, +"type": "cubic" +}, +{ +"x": 468, +"y": 458, +"smooth": true +}, +{ +"x": 458, +"y": 491, +"type": "cubic" +}, +{ +"x": 430, +"y": 499, +"type": "cubic" +}, +{ +"x": 404, +"y": 499, +"smooth": true +}, +{ +"x": 357, +"y": 501, +"type": "cubic" +}, +{ +"x": 307, +"y": 482, +"type": "cubic" +}, +{ +"x": 203, +"y": 370, +"smooth": true +}, +{ +"x": 173, +"y": 335, +"type": "cubic" +}, +{ +"x": -62, +"y": 31, +"type": "cubic" +}, +{ +"x": 42, +"y": 1, +"smooth": true +}, +{ +"x": 70, +"y": -7, +"type": "cubic" +}, +{ +"x": 125, +"y": 35, +"type": "cubic" +}, +{ +"x": 168, +"y": 61, +"smooth": true +}, +{ +"x": 211, +"y": 88, +"type": "cubic" +}, +{ +"x": 437, +"y": 207, +"type": "cubic" +}, +{ +"x": 547, +"y": 111, +"smooth": true +}, +{ +"x": 618, +"y": 52, +"type": "cubic" +}, +{ +"x": 545, +"y": -138, +"type": "cubic" +}, +{ +"x": 543, +"y": -146, +"smooth": true +}, +{ +"x": 524, +"y": -207, +"type": "cubic" +}, +{ +"x": 362, +"y": -531, +"type": "cubic" +}, +{ +"x": 271, +"y": -551, +"smooth": true +}, +{ +"x": 203, +"y": -563, +"type": "cubic" +}, +{ +"x": 149, +"y": -386, +"type": "cubic" +}, +{ +"x": 170, +"y": -321, +"smooth": true +}, +{ +"x": 213, +"y": -177, +"type": "cubic" +}, +{ +"x": 333, +"y": -86, +"type": "cubic" +}, +{ +"x": 360, +"y": -64, +"smooth": true +}, +{ +"x": 388, +"y": -41, +"type": "cubic" +}, +{ +"x": 579, +"y": 84, +"type": "cubic" +}, +{ +"x": 652, +"y": 35, +"smooth": true +}, +{ +"x": 667, +"y": 26, +"type": "cubic" +}, +{ +"x": 672, +"y": 21, +"type": "cubic" +}, +{ +"x": 678, +"y": 9 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "262645fb-efbf-4f1c-ab65-8d9ba0ef5de1", +"transformation": { +"translateX": -130, +"translateY": -477.02282468936824, +"scaleX": 0.3403685343933509, +"scaleY": 0.34036853439335096 +}, +"opacity": 0.186982693754703 +} +} +} +} +} diff --git a/letters/h.json b/letters/h.json new file mode 100644 index 0000000..1046b64 --- /dev/null +++ b/letters/h.json @@ -0,0 +1,174 @@ +{ +"name": "h", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -100, +"y": 176 +}, +{ +"x": -94, +"y": 176, +"type": "cubic" +}, +{ +"x": -90, +"y": 162, +"type": "cubic" +}, +{ +"x": -55, +"y": 181 +}, +{ +"x": -5, +"y": 208, +"type": "cubic" +}, +{ +"x": 87, +"y": 279, +"type": "cubic" +}, +{ +"x": 151, +"y": 344, +"smooth": true +}, +{ +"x": 310, +"y": 508, +"type": "cubic" +}, +{ +"x": 533, +"y": 721, +"type": "cubic" +}, +{ +"x": 484, +"y": 750, +"smooth": true +}, +{ +"x": 437, +"y": 778, +"type": "cubic" +}, +{ +"x": 305, +"y": 620, +"type": "cubic" +}, +{ +"x": 219, +"y": 516, +"smooth": true +}, +{ +"x": 176, +"y": 463, +"type": "cubic" +}, +{ +"x": -66, +"y": 103, +"type": "cubic" +}, +{ +"x": -97, +"y": 17, +"smooth": true +}, +{ +"x": -99, +"y": 10, +"type": "cubic" +}, +{ +"x": -93, +"y": 5, +"type": "cubic" +}, +{ +"x": -58, +"y": 38, +"smooth": true +}, +{ +"x": -20, +"y": 74, +"type": "cubic" +}, +{ +"x": 65, +"y": 158, +"type": "cubic" +}, +{ +"x": 113, +"y": 194, +"smooth": true +}, +{ +"x": 157, +"y": 227, +"type": "cubic" +}, +{ +"x": 395, +"y": 386, +"type": "cubic" +}, +{ +"x": 429, +"y": 301, +"smooth": true +}, +{ +"x": 462, +"y": 220, +"type": "cubic" +}, +{ +"x": 315, +"y": 28, +"type": "cubic" +}, +{ +"x": 324, +"y": -10, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "edc72160-2b2f-4240-a346-85e3930c331b", +"transformation": { +"translateX": -591.7390593788814, +"translateY": -662.3041583436836, +"scaleX": 0.5465616211342136, +"scaleY": 0.5465616211342137 +}, +"opacity": 0.253197893152746 +} +} +} +} +} diff --git a/letters/i.json b/letters/i.json new file mode 100644 index 0000000..95e1c7e --- /dev/null +++ b/letters/i.json @@ -0,0 +1,131 @@ +{ +"name": "i", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 65, +"y": 173, +"smooth": true +}, +{ +"x": 148, +"y": 160, +"type": "cubic" +}, +{ +"x": 407, +"y": 445, +"type": "cubic" +}, +{ +"x": 384, +"y": 497, +"smooth": true +}, +{ +"x": 372, +"y": 524, +"type": "cubic" +}, +{ +"x": 288, +"y": 326, +"type": "cubic" +}, +{ +"x": 285, +"y": 318, +"smooth": true +}, +{ +"x": 270, +"y": 275, +"type": "cubic" +}, +{ +"x": 229, +"y": 191, +"type": "cubic" +}, +{ +"x": 218, +"y": 120, +"smooth": true +}, +{ +"x": 210, +"y": 64, +"type": "cubic" +}, +{ +"x": 232, +"y": 32, +"type": "cubic" +}, +{ +"x": 248, +"y": 20, +"smooth": true +}, +{ +"x": 276, +"y": -1, +"type": "cubic" +}, +{ +"x": 297, +"y": 0, +"type": "cubic" +}, +{ +"x": 310, +"y": 0, +"smooth": true +}, +{ +"x": 393, +"y": 2, +"type": "cubic" +}, +{ +"x": 475, +"y": 85, +"type": "cubic" +}, +{ +"x": 488, +"y": 109, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "d72bc156-7bc1-4aea-8fda-b89bd8573d03", +"transformation": { +"translateX": -302, +"translateY": -438, +"scaleX": 0.40336708790135833, +"scaleY": 0.4033670879013584 +}, +"opacity": 0.17494356659142196 +} +} +} +} +} diff --git a/letters/j.json b/letters/j.json new file mode 100644 index 0000000..ccb19c7 --- /dev/null +++ b/letters/j.json @@ -0,0 +1,160 @@ +{ + "name": "j", + "sources": [ + { + "name": "", + "layerName": "f1362c35", + "locationBase": "f1362c35" + } + ], + "layers": { + "f1362c35": { + "glyph": { + "path": { + "contours": [ + { + "points": [ + { + "x": 13, + "y": 450 + }, + { + "x": 13, + "y": 232, + "type": "cubic" + }, + { + "x": 88, + "y": 196, + "type": "cubic" + }, + { + "x": 141, + "y": 206, + "smooth": true + }, + { + "x": 244, + "y": 225, + "type": "cubic" + }, + { + "x": 392, + "y": 505, + "type": "cubic" + }, + { + "x": 345, + "y": 499, + "smooth": true + }, + { + "x": 299, + "y": 493, + "type": "cubic" + }, + { + "x": 299, + "y": 51, + "type": "cubic" + }, + { + "x": 234, + "y": -124, + "smooth": true + }, + { + "x": 212, + "y": -184, + "type": "cubic" + }, + { + "x": 186, + "y": -237, + "type": "cubic" + }, + { + "x": 140, + "y": -241, + "smooth": true + }, + { + "x": 69, + "y": -247, + "type": "cubic" + }, + { + "x": 42, + "y": -137, + "type": "cubic" + }, + { + "x": 53, + "y": -85, + "smooth": true + }, + { + "x": 64, + "y": -34, + "type": "cubic" + }, + { + "x": 95, + "y": 20, + "type": "cubic" + }, + { + "x": 153, + "y": 90, + "smooth": true + }, + { + "x": 195, + "y": 141, + "type": "cubic" + }, + { + "x": 250, + "y": 197, + "type": "cubic" + }, + { + "x": 299, + "y": 228, + "smooth": true + }, + { + "x": 370, + "y": 274, + "type": "cubic" + }, + { + "x": 435, + "y": 284, + "type": "cubic" + }, + { + "x": 476, + "y": 289, + "smooth": true + } + ], + "isClosed": false + } + ] + }, + "xAdvance": 500, + "backgroundImage": { + "identifier": "4a339b73-34dc-4339-a84a-a526028a8d10", + "transformation": { + "translateX": -508, + "translateY": -753, + "scaleX": 0.5175468495979267, + "scaleY": 0.5175468495979267 + }, + "opacity": 0.212221553281156 + } + } + } + } +} \ No newline at end of file diff --git a/letters/k.json b/letters/k.json new file mode 100644 index 0000000..1b08067 --- /dev/null +++ b/letters/k.json @@ -0,0 +1,158 @@ +{ +"name": "K", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 41, +"y": 262 +}, +{ +"x": 68, +"y": 273, +"type": "cubic" +}, +{ +"x": 114, +"y": 309, +"type": "cubic" +}, +{ +"x": 150, +"y": 342, +"smooth": true +}, +{ +"x": 398, +"y": 575, +"type": "cubic" +}, +{ +"x": 522, +"y": 729, +"type": "cubic" +}, +{ +"x": 475, +"y": 743, +"smooth": true +}, +{ +"x": 436, +"y": 755, +"type": "cubic" +}, +{ +"x": 275, +"y": 497, +"type": "cubic" +}, +{ +"x": 1, +"y": 17 +}, +{ +"x": 56, +"y": 108, +"type": "cubic" +}, +{ +"x": 190, +"y": 269, +"type": "cubic" +}, +{ +"x": 227, +"y": 303, +"smooth": true +}, +{ +"x": 306, +"y": 376, +"type": "cubic" +}, +{ +"x": 392, +"y": 427, +"type": "cubic" +}, +{ +"x": 420, +"y": 416, +"smooth": true +}, +{ +"x": 465, +"y": 398, +"type": "cubic" +}, +{ +"x": 213, +"y": 177, +"type": "cubic" +}, +{ +"x": 202, +"y": 177, +"smooth": true +}, +{ +"x": 191, +"y": 177, +"type": "cubic" +}, +{ +"x": 456, +"y": 327, +"type": "cubic" +}, +{ +"x": 489, +"y": 237, +"smooth": true +}, +{ +"x": 506, +"y": 190, +"type": "cubic" +}, +{ +"x": 456, +"y": 105, +"type": "cubic" +}, +{ +"x": 389, +"y": 17 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "b4889cc8-6b80-4583-b1ff-195056970a9e", +"transformation": { +"translateX": -483, +"translateY": -715, +"scaleX": 0.5090454724983307, +"scaleY": 0.5090454724983307 +}, +"opacity": 0.176098735701385 +} +} +} +} +} diff --git a/letters/kk.json b/letters/kk.json new file mode 100644 index 0000000..4deafed --- /dev/null +++ b/letters/kk.json @@ -0,0 +1,193 @@ +{ + "name": "k", + "sources": [ + { + "name": "", + "layerName": "f1362c35", + "locationBase": "f1362c35" + } + ], + "layers": { + "f1362c35": { + "glyph": { + "path": { + "contours": [ + { + "points": [ + { + "x": 513, + "y": 53, + "type": "cubic" + }, + { + "x": 484, + "y": 34, + "type": "cubic" + }, + { + "x": 454, + "y": 21, + "smooth": true + }, + { + "x": 440, + "y": 15, + "type": "cubic" + }, + { + "x": 412, + "y": 8, + "type": "cubic" + }, + { + "x": 387, + "y": 21, + "smooth": true + }, + { + "x": 311, + "y": 60, + "type": "cubic" + }, + { + "x": 425, + "y": 201, + "type": "cubic" + }, + { + "x": 382, + "y": 239, + "smooth": true + }, + { + "x": 350, + "y": 267, + "type": "cubic" + }, + { + "x": 321, + "y": 241, + "type": "cubic" + }, + { + "x": 228, + "y": 173 + }, + { + "x": 289, + "y": 220, + "type": "cubic" + }, + { + "x": 322, + "y": 241, + "type": "cubic" + }, + { + "x": 351, + "y": 266, + "smooth": true + }, + { + "x": 440, + "y": 342, + "type": "cubic" + }, + { + "x": 435, + "y": 372, + "type": "cubic" + }, + { + "x": 416, + "y": 389, + "smooth": true + }, + { + "x": 346, + "y": 453, + "type": "cubic" + }, + { + "x": 21, + "y": 40, + "type": "cubic" + }, + { + "x": 18, + "y": 3, + "smooth": true + }, + { + "x": 17, + "y": -11, + "type": "cubic" + }, + { + "x": 364, + "y": 768, + "type": "cubic" + }, + { + "x": 451, + "y": 750, + "smooth": true + }, + { + "x": 518, + "y": 736, + "type": "cubic" + }, + { + "x": 390, + "y": 533, + "type": "cubic" + }, + { + "x": 251, + "y": 392, + "smooth": true + }, + { + "x": 155, + "y": 295, + "type": "cubic" + }, + { + "x": 49, + "y": 236, + "type": "cubic" + }, + { + "x": 10, + "y": 222 + } + ], + "isClosed": false + }, + { + "points": [ + { + "x": 644, + "y": 196 + } + ], + "isClosed": false + } + ] + }, + "xAdvance": 654, + "backgroundImage": { + "identifier": "27213d8a-1eca-405a-8d81-ff29763aaf89", + "transformation": { + "translateX": -332.8059976302204, + "translateY": -461.12449304753517, + "scaleX": 0.4170652952679792, + "scaleY": 0.41706529526797914 + }, + "opacity": 0.16887417218543 + } + } + } + } +} \ No newline at end of file diff --git a/letters/l.json b/letters/l.json new file mode 100644 index 0000000..e75c603 --- /dev/null +++ b/letters/l.json @@ -0,0 +1,85 @@ +{ +"name": "l", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 8, +"y": 201 +}, +{ +"x": 255, +"y": 297, +"type": "cubic" +}, +{ +"x": 537, +"y": 680, +"type": "cubic" +}, +{ +"x": 491, +"y": 734, +"smooth": true +}, +{ +"x": 451, +"y": 781, +"type": "cubic" +}, +{ +"x": 337, +"y": 650, +"type": "cubic" +}, +{ +"x": 260, +"y": 496, +"smooth": true +}, +{ +"x": 175, +"y": 325, +"type": "cubic" +}, +{ +"x": 123, +"y": 102, +"type": "cubic" +}, +{ +"x": 168, +"y": 5, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "14883cce-0b6d-4be8-82cf-7b8be5045366", +"transformation": { +"translateX": -298, +"translateY": -435, +"scaleX": 0.3770379780907148, +"scaleY": 0.37703797809071476 +}, +"opacity": 0.2700180614087899 +} +} +} +} +} diff --git a/letters/m.json b/letters/m.json new file mode 100644 index 0000000..d876dc2 --- /dev/null +++ b/letters/m.json @@ -0,0 +1,145 @@ +{ +"name": "m", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -50, +"y": 350, +"smooth": true +}, +{ +"x": -28, +"y": 419, +"type": "cubic" +}, +{ +"x": 56, +"y": 509, +"type": "cubic" +}, +{ +"x": 99, +"y": 491, +"smooth": true +}, +{ +"x": 182, +"y": 456, +"type": "cubic" +}, +{ +"x": 19, +"y": 17, +"type": "cubic" +}, +{ +"x": 22, +"y": 17, +"smooth": true +}, +{ +"x": 25, +"y": 17, +"type": "cubic" +}, +{ +"x": 167, +"y": 478, +"type": "cubic" +}, +{ +"x": 277, +"y": 479, +"smooth": true +}, +{ +"x": 376, +"y": 480, +"type": "cubic" +}, +{ +"x": 228, +"y": 32, +"type": "cubic" +}, +{ +"x": 231, +"y": 37, +"smooth": true +}, +{ +"x": 244, +"y": 65, +"type": "cubic" +}, +{ +"x": 363, +"y": 487, +"type": "cubic" +}, +{ +"x": 434, +"y": 404, +"smooth": true +}, +{ +"x": 481, +"y": 350, +"type": "cubic" +}, +{ +"x": 371, +"y": 50, +"type": "cubic" +}, +{ +"x": 419, +"y": 13, +"smooth": true +}, +{ +"x": 453, +"y": -13, +"type": "cubic" +}, +{ +"x": 504, +"y": 80, +"type": "cubic" +}, +{ +"x": 551, +"y": 142 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "8852ea64-dcd6-49e0-873d-ac06e676b6fd", +"transformation": { +"translateX": -259, +"translateY": -353, +"scaleX": 0.34681085951437335, +"scaleY": 0.34681085951437335 +}, +"opacity": 0.298916315472607 +} +} +} +} +} diff --git a/letters/n.json b/letters/n.json new file mode 100644 index 0000000..b22bc83 --- /dev/null +++ b/letters/n.json @@ -0,0 +1,114 @@ +{ +"name": "n", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 4, +"y": 390 +}, +{ +"x": 49, +"y": 435, +"type": "cubic" +}, +{ +"x": 87, +"y": 493, +"type": "cubic" +}, +{ +"x": 141, +"y": 490, +"smooth": true +}, +{ +"x": 230, +"y": 485, +"type": "cubic" +}, +{ +"x": -18, +"y": -4, +"type": "cubic" +}, +{ +"x": 26, +"y": 20, +"smooth": true +}, +{ +"x": 46, +"y": 31, +"type": "cubic" +}, +{ +"x": 298, +"y": 530, +"type": "cubic" +}, +{ +"x": 394, +"y": 497, +"smooth": true +}, +{ +"x": 466, +"y": 472, +"type": "cubic" +}, +{ +"x": 200, +"y": 47, +"type": "cubic" +}, +{ +"x": 321, +"y": 3, +"smooth": true +}, +{ +"x": 369, +"y": -14, +"type": "cubic" +}, +{ +"x": 455, +"y": 50, +"type": "cubic" +}, +{ +"x": 519, +"y": 145 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "b865f36f-f8ab-41bd-85c4-179aff9f4eb8", +"transformation": { +"translateX": -473, +"translateY": -623, +"scaleX": 0.44238371574711016, +"scaleY": 0.44238371574711005 +}, +"opacity": 0.17519566526189 +} +} +} +} +} diff --git a/letters/o.json b/letters/o.json new file mode 100644 index 0000000..7050dbf --- /dev/null +++ b/letters/o.json @@ -0,0 +1,115 @@ +{ + "name": "o", + "sources": [ + { + "name": "", + "layerName": "f1362c35", + "locationBase": "f1362c35" + } + ], + "layers": { + "f1362c35": { + "glyph": { + "path": { + "contours": [ + { + "points": [ + { + "x": 235, + "y": 464 + }, + { + "x": 213, + "y": 478, + "type": "cubic" + }, + { + "x": 47, + "y": 340, + "type": "cubic" + }, + { + "x": 67, + "y": 125, + "smooth": true + }, + { + "x": 76, + "y": 27, + "type": "cubic" + }, + { + "x": 129, + "y": -12, + "type": "cubic" + }, + { + "x": 177, + "y": -13, + "smooth": true + }, + { + "x": 273, + "y": -14, + "type": "cubic" + }, + { + "x": 427, + "y": 200, + "type": "cubic" + }, + { + "x": 409, + "y": 393, + "smooth": true + }, + { + "x": 398, + "y": 507, + "type": "cubic" + }, + { + "x": 341, + "y": 520, + "type": "cubic" + }, + { + "x": 308, + "y": 492, + "smooth": true + }, + { + "x": 255, + "y": 448, + "type": "cubic" + }, + { + "x": 277, + "y": 295, + "type": "cubic" + }, + { + "x": 433, + "y": 303, + "smooth": true + } + ], + "isClosed": false + } + ] + }, + "xAdvance": 500, + "backgroundImage": { + "identifier": "c77393ff-1932-48fc-aba0-ec2917c92ded", + "transformation": { + "translateX": -282.63699083462916, + "translateY": -478.703403287428, + "scaleX": 0.37054387058407884, + "scaleY": 0.3705438705840789 + }, + "opacity": 0.18332329921733903 + } + } + } + } +} \ No newline at end of file diff --git a/letters/p.json b/letters/p.json new file mode 100644 index 0000000..a5ee193 --- /dev/null +++ b/letters/p.json @@ -0,0 +1,155 @@ +{ + "name": "p", + "sources": [ + { + "name": "", + "layerName": "f1362c35", + "locationBase": "f1362c35" + } + ], + "layers": { + "f1362c35": { + "glyph": { + "path": { + "contours": [ + { + "points": [ + { + "x": 32, + "y": 205, + "type": "cubic" + }, + { + "x": 271, + "y": 558, + "type": "cubic" + }, + { + "x": 304, + "y": 500, + "smooth": true + }, + { + "x": 317, + "y": 477, + "type": "cubic" + }, + { + "x": 238, + "y": 321, + "type": "cubic" + }, + { + "x": 169, + "y": 160, + "smooth": true + }, + { + "x": 85, + "y": -35, + "type": "cubic" + }, + { + "x": 6, + "y": -239, + "type": "cubic" + }, + { + "x": 6, + "y": -243, + "smooth": true + }, + { + "x": 6, + "y": -248, + "type": "cubic" + }, + { + "x": 107, + "y": 40, + "type": "cubic" + }, + { + "x": 215, + "y": 254, + "smooth": true + }, + { + "x": 294, + "y": 409, + "type": "cubic" + }, + { + "x": 394, + "y": 509, + "type": "cubic" + }, + { + "x": 419, + "y": 500, + "smooth": true + }, + { + "x": 470, + "y": 481, + "type": "cubic" + }, + { + "x": 353, + "y": 305, + "type": "cubic" + }, + { + "x": 349, + "y": 215, + "smooth": true + }, + { + "x": 348, + "y": 182, + "type": "cubic" + }, + { + "x": 358, + "y": 170, + "type": "cubic" + }, + { + "x": 378, + "y": 172, + "smooth": true + }, + { + "x": 410, + "y": 176, + "type": "cubic" + }, + { + "x": 477, + "y": 263, + "type": "cubic" + }, + { + "x": 505, + "y": 314 + } + ], + "isClosed": false + } + ] + }, + "xAdvance": 500, + "backgroundImage": { + "identifier": "21d44467-0474-43d0-8291-4b50f3575f94", + "transformation": { + "translateX": -513, + "translateY": -799, + "scaleX": 0.473977291962497, + "scaleY": 0.473977291962497 + }, + "opacity": 0.544551475015051 + } + } + } + } +} \ No newline at end of file diff --git a/letters/q.json b/letters/q.json new file mode 100644 index 0000000..9ff3156 --- /dev/null +++ b/letters/q.json @@ -0,0 +1,160 @@ +{ +"name": "q", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -1, +"y": 89 +}, +{ +"x": 53, +"y": 143, +"type": "cubic" +}, +{ +"x": 265, +"y": 417, +"type": "cubic" +}, +{ +"x": 251, +"y": 394, +"smooth": true +}, +{ +"x": 242, +"y": 380, +"type": "cubic" +}, +{ +"x": 149, +"y": 151, +"type": "cubic" +}, +{ +"x": 142, +"y": 84, +"smooth": true +}, +{ +"x": 134, +"y": 14, +"type": "cubic" +}, +{ +"x": 164, +"y": -6, +"type": "cubic" +}, +{ +"x": 195, +"y": 8, +"smooth": true +}, +{ +"x": 277, +"y": 45, +"type": "cubic" +}, +{ +"x": 533, +"y": 476, +"type": "cubic" +}, +{ +"x": 448, +"y": 493, +"smooth": true +}, +{ +"x": 354, +"y": 512, +"type": "cubic" +}, +{ +"x": 250, +"y": 372, +"type": "cubic" +}, +{ +"x": 267, +"y": 330, +"smooth": true +}, +{ +"x": 291, +"y": 271, +"type": "cubic" +}, +{ +"x": 413, +"y": 407, +"type": "cubic" +}, +{ +"x": 464, +"y": 402, +"smooth": true +}, +{ +"x": 583, +"y": 390, +"type": "cubic" +}, +{ +"x": 278, +"y": -244, +"type": "cubic" +}, +{ +"x": 251, +"y": -340, +"smooth": true +}, +{ +"x": 234, +"y": -401, +"type": "cubic" +}, +{ +"x": 234, +"y": -424, +"type": "cubic" +}, +{ +"x": 234, +"y": -434, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "d34295a8-6e05-4b90-993b-735d724dde8e", +"transformation": { +"translateX": -718, +"translateY": -1167, +"scaleX": 0.6414071909517628, +"scaleY": 0.6414071909517628 +}, +"opacity": 0.19054786273329305 +} +} +} +} +} diff --git a/letters/r.json b/letters/r.json new file mode 100644 index 0000000..57d76f8 --- /dev/null +++ b/letters/r.json @@ -0,0 +1,159 @@ +{ +"name": "r", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 90, +"y": 189 +}, +{ +"x": 286, +"y": 385, +"type": "cubic" +}, +{ +"x": 346, +"y": 480, +"type": "cubic" +}, +{ +"x": 333, +"y": 501, +"smooth": true +}, +{ +"x": 326, +"y": 512, +"type": "cubic" +}, +{ +"x": 302, +"y": 491, +"type": "cubic" +}, +{ +"x": 281, +"y": 456, +"smooth": true +}, +{ +"x": 257, +"y": 415, +"type": "cubic" +}, +{ +"x": 231, +"y": 342, +"type": "cubic" +}, +{ +"x": 247, +"y": 329, +"smooth": true +}, +{ +"x": 253, +"y": 324, +"type": "cubic" +}, +{ +"x": 266, +"y": 322, +"type": "cubic" +}, +{ +"x": 280, +"y": 327, +"smooth": true +}, +{ +"x": 306, +"y": 336, +"type": "cubic" +}, +{ +"x": 362, +"y": 393, +"type": "cubic" +}, +{ +"x": 371, +"y": 370, +"smooth": true +}, +{ +"x": 377, +"y": 354, +"type": "cubic" +}, +{ +"x": 316, +"y": 276, +"type": "cubic" +}, +{ +"x": 276, +"y": 188, +"smooth": true +}, +{ +"x": 232, +"y": 90, +"type": "cubic" +}, +{ +"x": 200, +"y": 12, +"type": "cubic" +}, +{ +"x": 268, +"y": 2, +"smooth": true +}, +{ +"x": 299, +"y": -3, +"type": "cubic" +}, +{ +"x": 387, +"y": 42, +"type": "cubic" +}, +{ +"x": 433, +"y": 104 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "5c2a59ec-673b-411e-9bd0-c01632e0df78", +"transformation": { +"translateX": -204, +"translateY": -325, +"scaleX": 0.3088114482297994, +"scaleY": 0.30881144822979933 +}, +"opacity": 0.22305839855508702 +} +} +} +} +} diff --git a/letters/s.json b/letters/s.json new file mode 100644 index 0000000..9c8d4b3 --- /dev/null +++ b/letters/s.json @@ -0,0 +1,130 @@ +{ +"name": "s", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 42, +"y": 170 +}, +{ +"x": 65, +"y": 193, +"type": "cubic" +}, +{ +"x": 177, +"y": 291, +"type": "cubic" +}, +{ +"x": 254, +"y": 373, +"smooth": true +}, +{ +"x": 312, +"y": 434, +"type": "cubic" +}, +{ +"x": 342, +"y": 486, +"type": "cubic" +}, +{ +"x": 314, +"y": 495, +"smooth": true +}, +{ +"x": 286, +"y": 504, +"type": "cubic" +}, +{ +"x": 236, +"y": 445, +"type": "cubic" +}, +{ +"x": 245, +"y": 411, +"smooth": true +}, +{ +"x": 256, +"y": 370, +"type": "cubic" +}, +{ +"x": 354, +"y": 333, +"type": "cubic" +}, +{ +"x": 363, +"y": 272, +"smooth": true +}, +{ +"x": 375, +"y": 191, +"type": "cubic" +}, +{ +"x": 205, +"y": -31, +"type": "cubic" +}, +{ +"x": 163, +"y": 14, +"smooth": true +}, +{ +"x": 104, +"y": 76, +"type": "cubic" +}, +{ +"x": 317, +"y": 286, +"type": "cubic" +}, +{ +"x": 360, +"y": 292, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "3c63627f-2582-4aab-9120-5c9ab25e15ce", +"transformation": { +"translateX": -258, +"translateY": -310, +"scaleX": 0.3481162063748453, +"scaleY": 0.3481162063748453 +}, +"opacity": 0.151264298615292 +} +} +} +} +} diff --git a/letters/t.json b/letters/t.json new file mode 100644 index 0000000..6746524 --- /dev/null +++ b/letters/t.json @@ -0,0 +1,108 @@ +{ +"name": "t", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 120, +"y": 516 +}, +{ +"x": 217, +"y": 613, +"type": "cubic" +}, +{ +"x": 413, +"y": 748, +"type": "cubic" +}, +{ +"x": 423, +"y": 748, +"smooth": true +}, +{ +"x": 433, +"y": 748, +"type": "cubic" +}, +{ +"x": -87, +"y": 149, +"type": "cubic" +}, +{ +"x": 24, +"y": 37, +"smooth": true +}, +{ +"x": 96, +"y": -36, +"type": "cubic" +}, +{ +"x": 206, +"y": 17, +"type": "cubic" +}, +{ +"x": 378, +"y": 139 +} +], +"isClosed": false +}, +{ +"points": [ +{ +"x": 128, +"y": 403 +}, +{ +"x": 187, +"y": 388, +"type": "cubic" +}, +{ +"x": 456, +"y": 388, +"type": "cubic" +}, +{ +"x": 488, +"y": 420, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "c273bfb5-08c8-439c-b56d-8b5c922ac2ab", +"transformation": { +"translateX": -524, +"translateY": -636, +"scaleX": 0.48009071949601617, +"scaleY": 0.4800907194960163 +}, +"opacity": 0.07149307645996394 +} +} +} +} +} diff --git a/letters/u.json b/letters/u.json new file mode 100644 index 0000000..eeaa06b --- /dev/null +++ b/letters/u.json @@ -0,0 +1,114 @@ +{ +"name": "u", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 4, +"y": 289 +}, +{ +"x": 100, +"y": 385, +"type": "cubic" +}, +{ +"x": 203, +"y": 522, +"type": "cubic" +}, +{ +"x": 200, +"y": 494, +"smooth": true +}, +{ +"x": 197, +"y": 464, +"type": "cubic" +}, +{ +"x": -29, +"y": 41, +"type": "cubic" +}, +{ +"x": 78, +"y": 4, +"smooth": true +}, +{ +"x": 180, +"y": -32, +"type": "cubic" +}, +{ +"x": 461, +"y": 457, +"type": "cubic" +}, +{ +"x": 492, +"y": 457, +"smooth": true +}, +{ +"x": 523, +"y": 457, +"type": "cubic" +}, +{ +"x": 251, +"y": 43, +"type": "cubic" +}, +{ +"x": 385, +"y": -47, +"smooth": true +}, +{ +"x": 408, +"y": -62, +"type": "cubic" +}, +{ +"x": 444, +"y": -50, +"type": "cubic" +}, +{ +"x": 474, +"y": -17 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "650f104e-0cec-449d-9817-767f4232f99d", +"transformation": { +"translateX": -601, +"translateY": -882, +"scaleX": 0.5737191271098255, +"scaleY": 0.5737191271098254 +}, +"opacity": 0.19912703190848902 +} +} +} +} +} diff --git a/letters/underscore.json b/letters/underscore.json new file mode 100644 index 0000000..501bc26 --- /dev/null +++ b/letters/underscore.json @@ -0,0 +1,49 @@ +{ +"name": "underscore", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 69, +"y": 347 +}, +{ +"x": 269, +"y": 185, +"smooth": true +}, +{ +"x": 307, +"y": 155, +"type": "cubic" +}, +{ +"x": 383, +"y": 175, +"type": "cubic" +}, +{ +"x": 400, +"y": 207 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500 +} +} +} +} diff --git a/letters/v.json b/letters/v.json new file mode 100644 index 0000000..b8614c9 --- /dev/null +++ b/letters/v.json @@ -0,0 +1,130 @@ +{ +"name": "v", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 80, +"y": 385 +}, +{ +"x": 137, +"y": 464, +"type": "cubic" +}, +{ +"x": 176, +"y": 501, +"type": "cubic" +}, +{ +"x": 186, +"y": 484, +"smooth": true +}, +{ +"x": 198, +"y": 464, +"type": "cubic" +}, +{ +"x": 150, +"y": 340, +"type": "cubic" +}, +{ +"x": 118, +"y": 223, +"smooth": true +}, +{ +"x": 89, +"y": 118, +"type": "cubic" +}, +{ +"x": 73, +"y": 18, +"type": "cubic" +}, +{ +"x": 109, +"y": 4, +"smooth": true +}, +{ +"x": 205, +"y": -32, +"type": "cubic" +}, +{ +"x": 442, +"y": 479, +"type": "cubic" +}, +{ +"x": 424, +"y": 502, +"smooth": true +}, +{ +"x": 412, +"y": 518, +"type": "cubic" +}, +{ +"x": 375, +"y": 410, +"type": "cubic" +}, +{ +"x": 371, +"y": 367, +"smooth": true +}, +{ +"x": 363.7458695178253, +"y": 285.3910320755352, +"type": "cubic" +}, +{ +"x": 427, +"y": 281, +"type": "cubic" +}, +{ +"x": 470, +"y": 295, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "ca165411-0f35-4a38-945d-232b685ed208", +"transformation": { +"translateX": -334, +"translateY": -473, +"scaleX": 0.3717629714377186, +"scaleY": 0.3717629714377187 +}, +"opacity": 0.13531005418422604 +} +} +} +} +} diff --git a/letters/w.json b/letters/w.json new file mode 100644 index 0000000..b63b8c3 --- /dev/null +++ b/letters/w.json @@ -0,0 +1,114 @@ +{ +"name": "w", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 189, +"y": 476 +}, +{ +"x": 19, +"y": 217, +"type": "cubic" +}, +{ +"x": -17, +"y": 6, +"type": "cubic" +}, +{ +"x": 43, +"y": 2, +"smooth": true +}, +{ +"x": 120, +"y": -3, +"type": "cubic" +}, +{ +"x": 291, +"y": 339, +"type": "cubic" +}, +{ +"x": 279, +"y": 347, +"smooth": true +}, +{ +"x": 261, +"y": 358, +"type": "cubic" +}, +{ +"x": 112, +"y": 36, +"type": "cubic" +}, +{ +"x": 191, +"y": 5, +"smooth": true +}, +{ +"x": 308, +"y": -41, +"type": "cubic" +}, +{ +"x": 525, +"y": 511, +"type": "cubic" +}, +{ +"x": 458, +"y": 496, +"smooth": true +}, +{ +"x": 416, +"y": 486, +"type": "cubic" +}, +{ +"x": 329, +"y": 219, +"type": "cubic" +}, +{ +"x": 448, +"y": 234 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "6103091b-92cd-4128-8e4a-a44d488d21c7", +"transformation": { +"translateX": -285, +"translateY": -519, +"scaleX": 0.34555979934102127, +"scaleY": 0.3455597993410212 +}, +"opacity": 0.23103552077062006 +} +} +} +} +} diff --git a/letters/x.json b/letters/x.json new file mode 100644 index 0000000..ddd0c29 --- /dev/null +++ b/letters/x.json @@ -0,0 +1,129 @@ +{ +"name": "x", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": -86, +"y": 329 +}, +{ +"x": -57, +"y": 329, +"type": "cubic" +}, +{ +"x": 202, +"y": 529, +"type": "cubic" +}, +{ +"x": 226, +"y": 502, +"smooth": true +}, +{ +"x": 252, +"y": 474, +"type": "cubic" +}, +{ +"x": 333, +"y": 49, +"type": "cubic" +}, +{ +"x": 10, +"y": 3, +"smooth": true +}, +{ +"x": -44, +"y": -5, +"type": "cubic" +}, +{ +"x": -75, +"y": 17, +"type": "cubic" +}, +{ +"x": -65, +"y": 50, +"smooth": true +}, +{ +"x": -22, +"y": 191, +"type": "cubic" +}, +{ +"x": 598, +"y": 406, +"type": "cubic" +}, +{ +"x": 528, +"y": 485, +"smooth": true +}, +{ +"x": 463, +"y": 559, +"type": "cubic" +}, +{ +"x": 57, +"y": 160, +"type": "cubic" +}, +{ +"x": 326, +"y": 11, +"smooth": true +}, +{ +"x": 407, +"y": -34, +"type": "cubic" +}, +{ +"x": 492, +"y": 78, +"type": "cubic" +}, +{ +"x": 497, +"y": 84 +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "ed08ddd9-d042-48b2-9474-78765c9e3c6f", +"transformation": { +"translateX": -623.2020688472867, +"translateY": -892.5388502594312, +"scaleX": 0.5807492464528416, +"scaleY": 0.5807492464528416 +}, +"opacity": 0.15924142083082504 +} +} +} +} +} diff --git a/letters/y.json b/letters/y.json new file mode 100644 index 0000000..868c865 --- /dev/null +++ b/letters/y.json @@ -0,0 +1,100 @@ +{ +"name": "y", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 92, +"y": 470 +}, +{ +"x": -60, +"y": 274, +"type": "cubic" +}, +{ +"x": -130, +"y": 8, +"type": "cubic" +}, +{ +"x": 11, +"y": 8, +"smooth": true +}, +{ +"x": 124, +"y": 8, +"type": "cubic" +}, +{ +"x": 513, +"y": 519, +"type": "cubic" +}, +{ +"x": 489, +"y": 495, +"smooth": true +}, +{ +"x": 465, +"y": 471, +"type": "cubic" +}, +{ +"x": 38, +"y": -460, +"type": "cubic" +}, +{ +"x": 4, +"y": -430, +"smooth": true +}, +{ +"x": -185, +"y": -264, +"type": "cubic" +}, +{ +"x": 355, +"y": 124, +"type": "cubic" +}, +{ +"x": 479, +"y": 124, +"smooth": true +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "4c3b980b-984e-4905-9d12-142ec2a836ce", +"transformation": { +"translateX": -833, +"translateY": -1109, +"scaleX": 0.6149411905302393, +"scaleY": 0.6149411905302393 +}, +"opacity": 0.09542444310656228 +} +} +} +} +} diff --git a/letters/z.json b/letters/z.json new file mode 100644 index 0000000..128e744 --- /dev/null +++ b/letters/z.json @@ -0,0 +1,165 @@ +{ +"name": "z", +"sources": [ +{ +"name": "", +"layerName": "f1362c35", +"locationBase": "f1362c35" +} +], +"layers": { +"f1362c35": { +"glyph": { +"path": { +"contours": [ +{ +"points": [ +{ +"x": 58, +"y": 467, +"smooth": true +}, +{ +"x": 90, +"y": 458, +"type": "cubic" +}, +{ +"x": 176, +"y": 482, +"type": "cubic" +}, +{ +"x": 269, +"y": 493, +"smooth": true +}, +{ +"x": 387, +"y": 507, +"type": "cubic" +}, +{ +"x": 514, +"y": 495, +"type": "cubic" +}, +{ +"x": 500, +"y": 431, +"smooth": true +}, +{ +"x": 486, +"y": 364, +"type": "cubic" +}, +{ +"x": 342, +"y": 284, +"type": "cubic" +}, +{ +"x": 16, +"y": 208 +}, +{ +"x": 51, +"y": 208, +"type": "cubic" +}, +{ +"x": 177, +"y": 223, +"type": "cubic" +}, +{ +"x": 288, +"y": 183, +"smooth": true +}, +{ +"x": 380, +"y": 150, +"type": "cubic" +}, +{ +"x": 501, +"y": 84, +"type": "cubic" +}, +{ +"x": 501, +"y": -8, +"smooth": true +}, +{ +"x": 501, +"y": -190, +"type": "cubic" +}, +{ +"x": 37, +"y": -306, +"type": "cubic" +}, +{ +"x": -36, +"y": -225, +"smooth": true +}, +{ +"x": -67, +"y": -191, +"type": "cubic" +}, +{ +"x": -3, +"y": -89, +"type": "cubic" +}, +{ +"x": 104, +"y": -25, +"smooth": true +}, +{ +"x": 270, +"y": 75, +"type": "cubic" +}, +{ +"x": 519, +"y": 143, +"type": "cubic" +}, +{ +"x": 636, +"y": 96, +"smooth": true +}, +{ +"x": 829, +"y": 16, +"type": "cubic" +} +], +"isClosed": false +} +] +}, +"xAdvance": 500, +"backgroundImage": { +"identifier": "e15c3b53-782c-4a3f-975c-e4cd6a5f8362", +"transformation": { +"translateX": -506, +"translateY": -794, +"scaleX": 0.47849296509987616, +"scaleY": 0.47849296509987616 +}, +"opacity": 0.159241420830825 +} +} +} +} +} diff --git a/scripttypo.js b/scripttypo.js new file mode 100644 index 0000000..2e23a91 --- /dev/null +++ b/scripttypo.js @@ -0,0 +1,563 @@ +paper.install(window); + +const debug = false; +// canvas + +const canvas = document.getElementById("canvas-typo"); +const ctx = canvas.getContext("2d"); + +canvas.width = window.innerWidth - 280; +canvas.height = window.innerHeight; + +// pour exporter en png + +function exporterPNG() { + + redrawAll(); + + const link = document.createElement("a"); + link.download = "dessin-typographique.png"; + link.href = canvas.toDataURL("image/png"); + + link.click(); +} + +/* bouton export (sécurisé) */ +const exportBtn = document.getElementById("export"); +if (exportBtn) { + exportBtn.onclick = exporterPNG; +} + +// img + +// const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +const alphabet = "abcdefghijklmnopqrstuvwxyz"; + +const letterImages = {}; + +let imagesReady = false; +let loadedImages = 0; + +alphabet.split("").forEach(letter => { + + const img = new Image(); + + img.onload = () => { + loadedImages++; + if (loadedImages === alphabet.length) { + imagesReady = true; + } + }; + + img.src = `images/${letter.toLowerCase()}.svg`; + letterImages[letter] = img; +}); + +/* ================= STATE ================= */ + +let drawing = false; + +let currentPath = []; +let drawings = []; + +let scheme = ""; +let lettersMap = {}; +let sequence = []; + + +const lettersData = {}; + + +async function loadLetter(letter) { + const res = await fetch(`./letters/${letter}.json`); + if (!res.ok) throw new Error(`Erreur chargement ${letter}: ${res.status}`); + return await res.json(); +} + +window.onload = async function() { + paper.setup(canvas); + + // Charger toutes les lettres + for (let char of alphabet) { + lettersData[char] = await loadLetter(char); + } + + generateSchema(); + + +} + +// schémas + +function generateMiniScheme(length = 4) { + + const symbols = ["A"]; + let result = ["A"]; + + for (let i = 1; i < length; i++) { + + let choices = [...symbols]; + + if (symbols.length < 10) { + choices.push(String.fromCharCode(65 + symbols.length)); + } + + const next = choices[Math.floor(Math.random() * choices.length)]; + + result.push(next); + + if (!symbols.includes(next)) { + symbols.push(next); + } + } + + return result.join(""); +} + +function generateFakeSentence() { + + const wordsCount = 3 + Math.floor(Math.random() * 4); + let words = []; + + for (let i = 0; i < wordsCount; i++) { + const len = 3 + Math.floor(Math.random() * 4); + words.push(generateMiniScheme(len)); + } + + return words.join(" "); +} + +// lettres + +function generateLettersForScheme(text) { + + lettersMap = {}; + const used = []; + const words = text.split(" "); + + words.forEach(word => { + + const local = {}; + const unique = [...new Set(word)]; + + unique.forEach(symbol => { + + let letter; + + do { + letter = alphabet[Math.floor(Math.random() * alphabet.length)]; + } while (used.includes(letter)); + + used.push(letter); + local[symbol] = letter; + }); + + Object.keys(local).forEach(symbol => { + lettersMap[word + "_" + symbol] = local[symbol]; + }); + }); +} + +// séquences + +function buildSequence() { + + sequence = []; + + const words = scheme.split(" "); + + words.forEach((word, wi) => { + + for (let char of word) { + sequence.push(lettersMap[word + "_" + char]); + } + + if (wi < words.length - 1) { + sequence.push(" "); + } + }); +} + +// affichage séquence + schéma + +function drawHeaderText() { + + if (!scheme || !sequence.length) return; + + ctx.save(); + + const text1 = "Schéma : " + scheme; + const text2 = "Séquence : " + sequence.join(""); + + ctx.font = "11px Arial"; + + const w = Math.max( + ctx.measureText(text1).width, + ctx.measureText(text2).width + ); + + const x = 10; + const y = canvas.height - 10; + + ctx.fillStyle = "rgba(255,255,255,0.75)"; + ctx.fillRect(x - 8, y - 36, w + 16, 36); + + ctx.fillStyle = "#000"; + ctx.fillText(text1, x, y - 18); + ctx.fillText(text2, x, y); + + ctx.restore(); +} + +// lettres + +// Choisir le contour d'entrée : celui qui commence le plus à gauche +// function getEntryPoint(contours) { +// let entryPt = null; +// let minX = Infinity; +// contours.forEach(contour => { +// if (!contour.points || contour.points.length === 0) return; +// const firstPt = contour.points[0]; +// if (firstPt.x < minX) { +// minX = firstPt.x; +// entryPt = new Point(firstPt.x, -firstPt.y); +// } +// }); +// return entryPt; +// } + +// Choisir le contour de sortie : celui qui termine le plus à droite +function getExitPoint(contours) { + console.log('getExitPoint', contours); + let exitPt = null; + console.log('Infinity', Infinity); + let maxX = -Infinity; + contours.forEach(contour => { + console.log('contour', contour); + if (!contour.points || contour.points.length === 0) return; + const lastPt = contour.points[contour.points.length - 1]; + if (lastPt.x > maxX) { + maxX = lastPt.x; + exitPt = new Point(lastPt.x, -lastPt.y); + } + }); + return exitPt; +} + +// Dessine la lettre et retourne les points d'entrée et de sortie optimisés +function drawGlyph(data) { + console.log('drawGlyph: data', data); + // on chope la clef du layer 1 + const layerKey = Object.keys(data.layers)[0]; + const contours = data.layers[layerKey].glyph.path.contours; + const group = new Group(); + let pt; + + contours.forEach(contour => { + const pts = contour.points; + if (!pts || pts.length === 0) return; + + const path = new Path(); + path.strokeColor = 'black'; + let offCurves = []; + + let offset = new Point(pts[0].x, -pts[0].y); + // path.moveTo(new Point(pts[0].x, -pts[0].y)); + path.moveTo(new Point(0,0)); + + for (let i = 1; i < pts.length; i++) { + const p = pts[i]; + pt = new Point(p.x, -p.y).subtract(offset); + + if (p.type === "cubic") { + offCurves.push(p); + } else if (offCurves.length === 2) { + path.cubicCurveTo( + new Point(offCurves[0].x, -offCurves[0].y).subtract(offset), + new Point(offCurves[1].x, -offCurves[1].y).subtract(offset), + pt + ); + offCurves = []; + } else if (offCurves.length === 1) { + path.quadraticCurveTo( + new Point(offCurves[0].x, -offCurves[0].y).subtract(offset), + pt + ); + offCurves = []; + } + // else { + // path.lineTo(pt); + // } + } + + path.closed = contour.isClosed; + group.addChild(path); + + + }); + let scale = 0.05; + lastPt = new Point(pt.x*scale, pt.y*scale); + + group.pivot = new Point(0,0); + group.scale(scale); + + if (debug) { + var repere_entree = new Path.Circle(new Point(0, 0), 5); + repere_entree.strokeColor = 'red'; + group.addChild(repere_entree); + + var repere_sortie = new Path.Circle(new Point(pt.x*scale, pt.y*scale), 5); + repere_sortie.strokeColor = 'green'; + group.addChild(repere_sortie); + } + + return { group, lastPt }; +} + +// function rotatePoint(point, angleDegrees) { +// const angleRadians = angleDegrees * (Math.PI / 180); // Convertir en radians +// const cos = Math.cos(angleRadians); +// const sin = Math.sin(angleRadians); + +// const newX = point.x * cos - point.y * sin; +// const newY = point.x * sin + point.y * cos; + +// return { x: newX, y: newY }; +// } + +function drawLetters(draw) { + console.log("drawLetters: draw", draw); + if (!imagesReady) return; + + const path = draw.path; + const sequence = draw.sequence; + + let letterIndex = 0; + let remaining = 0; + let previousRightPt; + + for (let i = 0; i < path.length - 1; i++) { + + const p1 = path[i]; + const p2 = path[i + 1]; + + const dx = p2.x - p1.x; + const dy = p2.y - p1.y; + + const len = Math.hypot(dx, dy); + + let t = remaining / len; + + while (t <= 1) { + + const c = sequence[letterIndex]; + console.log('letterIndex', letterIndex); + + if (c !== " ") { + + // TODO replace by own svg + // const img = letterImages[c]; + console.log('c', c, 'lettersData', lettersData); + let { group, lastPt } = drawGlyph(lettersData[c]); + console.log('group', group, 'lastPt', lastPt); + + + + // // Décaler la lettre pour que son point d'entrée coïncide avec la sortie précédente + + // Créer une ligature fluide + // createLigature(previousRightPt, entryPt.add(offset)); + let pos; + if (previousRightPt) { + // FOR ALL POINTS EXCEPT FOR THE FIRST + // hopping to follow the line more or less + pos = previousRightPt; + + }else{ + // ONLY FOR THE FIRST POINT + // TODO adatape x and y to connect letters + const x = p1.x + dx * t; + const y = p1.y + dy * t; + pos = new Point(x,y); + + // ctx.translate(x, y); + } + group.position = pos; + + + // angle sould be ok + const angle = Math.atan2(dy, dx); + // ctx.rotate(angle); + group.rotate(angle * (180/Math.PI)); + + + previousRightPt = pos.add(lastPt.rotate(angle * (180/Math.PI))); + + if (debug) { + var repere_pos_group = new Path.Circle(pos, 2); + repere_pos_group.strokeColor = 'blue'; + + var repere_prevrightpoint = new Path.Circle(previousRightPt, 2); + repere_prevrightpoint.strokeColor = 'orange'; + } + + t += (32 * 0.85) / len; + + } else { + t += (32 * 1.8) / len; + } + + letterIndex = (letterIndex + 1) % sequence.length; + } + + remaining = (t - 1) * len; + } +} + +// l'ensenble/rendu global apres maj + +function redrawAll() { + + // ctx.clearRect(0, 0, canvas.width, canvas.height); + paper.project.clear(); + + drawings.forEach(draw => { + drawLetters(draw); + }); + + if (drawing && currentPath.length > 1) { + + ctx.strokeStyle = "#aaa"; + ctx.lineWidth = 2; + + ctx.beginPath(); + + currentPath.forEach((p, i) => { + if (i === 0) ctx.moveTo(p.x, p.y); + else ctx.lineTo(p.x, p.y); + }); + + ctx.stroke(); + } + + drawHeaderText(); +} + +// souris + +canvas.addEventListener("mousedown", e => { + + if (!sequence.length) { + alert("Génère un schéma !"); + return; + } + + drawing = true; + currentPath = [{ x: e.offsetX, y: e.offsetY }]; +}); + +canvas.addEventListener("mousemove", e => { + + if (!drawing) return; + + currentPath.push({ x: e.offsetX, y: e.offsetY }); + redrawAll(); +}); + +canvas.addEventListener("mouseup", () => { + + drawing = false; + + if (currentPath.length > 1) { + + drawings.push({ + path: currentPath, + sequence: [...sequence], + scheme + }); + } + + currentPath = []; + redrawAll(); +}); + +// formes + +function generateShape(type) { + + if (!sequence.length) return; + + const newDraw = { + path: [], + sequence: [...sequence], + scheme + }; + + const cx = canvas.width / 2; + const cy = canvas.height / 2; + + if (type === "circle") { + + const r = 150; + + for (let a = 0; a < 360; a += 5) { + newDraw.path.push({ + x: cx + Math.cos(a * Math.PI / 180) * r, + y: cy + Math.sin(a * Math.PI / 180) * r + }); + } + } + + if (type === "spiral") { + + let r = 20; + let a = 0; + + for (let i = 0; i < 300; i++) { + newDraw.path.push({ + x: cx + Math.cos(a) * r, + y: cy + Math.sin(a) * r + }); + + a += 0.2; + r += 0.5; + } + } + + drawings.push(newDraw); + redrawAll(); +} + +// interactions : boutons etc + +document.getElementById("draw-scheme").addEventListener('click', generateSchema); + +function generateSchema(){ + scheme = generateFakeSentence(); + + generateLettersForScheme(scheme); + buildSequence(); + + redrawAll(); +} + +// efface + +document.getElementById("clear").onclick = () => { + + drawings = []; + currentPath = []; + + scheme = ""; + sequence = []; + lettersMap = {}; + + ctx.clearRect(0, 0, canvas.width, canvas.height); +}; + +// selection forme + +document.getElementById("shape").addEventListener("change", e => { + if (e.target.value !== "free") generateShape(e.target.value); +}); + diff --git a/style.css b/style.css new file mode 100644 index 0000000..e16ad7d --- /dev/null +++ b/style.css @@ -0,0 +1,145 @@ +/* Reset */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: "Helvetica Neue", Arial, sans-serif; + background: #111; + color: #eee; +} + + +header { + background: #111; + border-bottom: 1px solid #333; + padding: 15px 30px; +} + +.menu { + list-style: none; + display: flex; + gap: 30px; +} + +.menu a { + color: #bbb; + text-decoration: none; + font-weight: 500; + letter-spacing: 0.05em; + text-transform: uppercase; + font-size: 0.9rem; +} + +.menu a.active, +.menu a:hover { + color: #f5f5f5; +} + +.home { + height: calc(100vh - 60px); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + gap: 25px; +} + +.home h1 { + font-size: 3.5rem; + font-weight: 600; +} + +.home p { + max-width: 600px; + color: #aaa; +} + +.home .btn { + padding: 12px 28px; + border: 1px solid #eee; + color: #eee; + text-decoration: none; + letter-spacing: 0.1em; + text-transform: uppercase; + transition: all 0.3s; +} + +.home .btn:hover { + background: #eee; + color: #111; +} + +#app { + display: flex; + height: calc(100vh - 60px); +} + +/* panneau paramètres */ +#controls { + width: 280px; + padding: 30px; + background: #151515; + border-right: 1px solid #333; + display: flex; + flex-direction: column; + gap: 20px; +} + +#controls h2 { + font-size: 1.2rem; + font-weight: 500; + letter-spacing: 0.1em; + text-transform: uppercase; + margin-bottom: 10px; +} + +/* choisir une forme */ +label { + font-size: 0.75rem; + color: rgb(161, 161, 161); + text-transform: uppercase; + letter-spacing: 0.1em; +} + +select, +button { + background: transparent; + border: 1px solid #444; + color: rgb(255, 255, 255); + padding: 10px; + font-size: 0.9rem; + cursor: pointer; +} + +/* options libre etc */ +select option { + background-color: #111; + color: #eee; +} +/* bord quand selection */ +select:hover, +button:hover { + border-color: #eee; +} + +button { + text-transform: uppercase; + letter-spacing: 0.1em; +} + + + +/* canvas */ +canvas { + flex: 1; + background: rgb(255, 255, 255); + cursor: crosshair; +} + + + +