flo-mat 4.1.3 → 4.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/find-2-prong/get-medial/dd-get-medial-point-coeffs-same-curve.spec.ts +1 -1
- package/__tests__/specific-cases/specific-cases.spec.ts +1 -14
- package/__tests__/specific-cases/test-svgs/achispado.svg +37 -24
- package/browser/index.js +404 -195
- package/browser/index.min.js +1 -1
- package/node/cp-node/fs/insert-cp-node.d.ts +12 -1
- package/node/cp-node/fs/insert-cp-node.js +21 -6
- package/node/cp-node/fs/insert-cp-node.js.map +1 -1
- package/node/cp-node/fs/is-order-correct.d.ts +9 -1
- package/node/cp-node/fs/is-order-correct.js +51 -10
- package/node/cp-node/fs/is-order-correct.js.map +1 -1
- package/node/cp-node/fs/remove-cp-node.js +1 -1
- package/node/cp-node/fs/remove-cp-node.js.map +1 -1
- package/node/debug/functions/check-ordering.d.ts +4 -0
- package/node/debug/functions/check-ordering.js +43 -0
- package/node/debug/functions/check-ordering.js.map +1 -0
- package/node/find-2-prong/add-2-prong.js +4 -2
- package/node/find-2-prong/add-2-prong.js.map +1 -1
- package/node/find-2-prong/find-and-add-2-prongs.js +1 -1
- package/node/find-2-prong/find-and-add-2-prongs.js.map +1 -1
- package/node/find-2-prong/get-initial-bezier-pieces.js +2 -2
- package/node/find-2-prong/get-initial-bezier-pieces.js.map +1 -1
- package/node/find-3-prong/find-3-prong-for-delta3s.d.ts +1 -1
- package/node/find-3-prong/find-3-prong-for-delta3s.js.map +1 -1
- package/node/find-3-prong/find-3-prong.d.ts +1 -1
- package/node/find-3-prong/find-3-prong.js.map +1 -1
- package/node/find-3-prong/find-and-add-3-prong.js +1 -1
- package/node/find-3-prong/find-and-add-3-prong.js.map +1 -1
- package/node/find-3-prong/find-and-add-3-prongs-on-loop.d.ts +1 -1
- package/node/find-3-prong/find-and-add-3-prongs-on-loop.js +6 -2
- package/node/find-3-prong/find-and-add-3-prongs-on-loop.js.map +1 -1
- package/node/find-3-prong/three-prong-info.d.ts +1 -1
- package/node/find-mat/create-initial-cp-tree.js +2 -2
- package/node/find-mat/create-initial-cp-tree.js.map +1 -1
- package/node/find-mat/find-mat.js +2 -2
- package/node/find-mat/find-mat.js.map +1 -1
- package/node/find-mat/get-for-1-prongs-on-loop.js +3 -1
- package/node/find-mat/get-for-1-prongs-on-loop.js.map +1 -1
- package/node/mat/add-to-cp-tree.d.ts +4 -1
- package/node/mat/add-to-cp-tree.js +11 -4
- package/node/mat/add-to-cp-tree.js.map +1 -1
- package/node/mat/get-boundary-piece-beziers.d.ts +2 -2
- package/node/mat/get-boundary-piece-beziers.js +1 -1
- package/node/mat/get-boundary-piece-beziers.js.map +1 -1
- package/node/mat/get-closeby-cp-if-exist.js +2 -2
- package/node/mat/get-closeby-cp-if-exist.js.map +1 -1
- package/node/mat/{get-cp-node-to-left-or-same.d.ts → get-cp-node-neighbors.d.ts} +2 -2
- package/node/mat/get-cp-node-neighbors.js +31 -0
- package/node/mat/get-cp-node-neighbors.js.map +1 -0
- package/package.json +8 -8
- package/src/cp-node/fs/insert-cp-node.ts +22 -7
- package/src/cp-node/fs/is-order-correct copy.ts +60 -0
- package/src/cp-node/fs/is-order-correct.ts +61 -13
- package/src/cp-node/fs/remove-cp-node.ts +1 -1
- package/src/debug/functions/check-ordering.ts +44 -61
- package/src/find-2-prong/add-2-prong.ts +3 -1
- package/src/find-2-prong/find-and-add-2-prongs.ts +1 -1
- package/src/find-2-prong/get-initial-bezier-pieces.ts +2 -2
- package/src/find-3-prong/find-3-prong-for-delta3s.ts +14 -6
- package/src/find-3-prong/find-3-prong.ts +1 -1
- package/src/find-3-prong/find-and-add-3-prong.ts +1 -4
- package/src/find-3-prong/find-and-add-3-prongs-on-loop.ts +6 -3
- package/src/find-3-prong/three-prong-info.ts +1 -1
- package/src/find-mat/create-initial-cp-tree.ts +2 -2
- package/src/find-mat/find-mat.ts +3 -2
- package/src/find-mat/get-for-1-prongs-on-loop.ts +3 -1
- package/src/mat/add-to-cp-tree copy.ts +71 -0
- package/src/mat/add-to-cp-tree.ts +12 -4
- package/src/mat/get-boundary-piece-beziers.ts +2 -2
- package/src/mat/get-closeby-cp-if-exist.ts +2 -2
- package/src/mat/{get-cp-node-to-left-or-same.ts → get-cp-node-neighbors.ts} +12 -10
- package/node/mat/get-cp-node-to-left-or-same.js +0 -30
- package/node/mat/get-cp-node-to-left-or-same.js.map +0 -1
|
@@ -48,7 +48,7 @@ function randomPoint(seed: number): number[] {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
test('dd same-curve coefficients match flo-bezier3 double coefficients', function() {
|
|
51
|
+
test.skip('dd same-curve coefficients match flo-bezier3 double coefficients', function() {
|
|
52
52
|
const epsMain = [2**16];
|
|
53
53
|
const epsD = [2**8];
|
|
54
54
|
const epsH = [2**13];
|
|
@@ -20,6 +20,7 @@ type TestCase = {
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
const testCaseSvgs = [
|
|
23
|
+
"Q_V",
|
|
23
24
|
".notdef", "woodland", "exclam", "testD", "testL", "testO",
|
|
24
25
|
"testComplex", "ampersand", "testComplexish", "quotesingle", "parenleft", "parenright",
|
|
25
26
|
"asterisk", "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two",
|
|
@@ -33,28 +34,18 @@ const testCaseSvgs = [
|
|
|
33
34
|
"Acircumflex", "Atilde", "Adieresis", "Aring", "AE", "Ccedilla", "Eth",
|
|
34
35
|
|
|
35
36
|
"3",
|
|
36
|
-
// "AA", // boolean
|
|
37
|
-
// "aaa", // boolean
|
|
38
37
|
"ae", "exclammm", "MM", "Mt", "Mt2", "Mt3", "Mt4", "Mt5",
|
|
39
38
|
"Mth", "notdef", "onehalf", "yen", "ant", "arab",
|
|
40
|
-
// "BBB",
|
|
41
|
-
// "bb",
|
|
42
39
|
"bump_tube1",
|
|
43
|
-
// "bump_tube2",
|
|
44
|
-
// "china",
|
|
45
40
|
"china1", "circle_in_circle", "circle_in_square", "concave_poly",
|
|
46
41
|
"EEE", "fff", "gecko", "hart",
|
|
47
|
-
// "hat",
|
|
48
42
|
"A-2", "B-2",
|
|
49
43
|
"CCC", "DDD", "E-2", "holepole", "holy_poly", "intersecting", "intersecting1",
|
|
50
|
-
// "intersecting2",
|
|
51
44
|
"koldat", "koldat14", "koldat15", "koldat16", "koldat17", "koldat18",
|
|
52
45
|
"koldat19", "koldat2", "koldat20", "koldat21", "koldat22", "koldat23", "koldat24", "koldat25",
|
|
53
46
|
"koldat26", "koldat3", "koldat4",
|
|
54
|
-
// "koldat51", // just reconstruct that's a bit off
|
|
55
47
|
"koldat52", "koldat53", "koldat54",
|
|
56
48
|
"koldat55", "koldat56", "koldat57", "koldat58", "koldat59",
|
|
57
|
-
// "koldat6",
|
|
58
49
|
"koldat60", "koldat61",
|
|
59
50
|
"koldat62", "koldat63", "koldat64", "koldat7", "Lamda",
|
|
60
51
|
"lb",
|
|
@@ -62,14 +53,10 @@ const testCaseSvgs = [
|
|
|
62
53
|
"new1",
|
|
63
54
|
"new2", "new3", "noobd3v1", "noobd3v2", "OO", "PP", "p1", "p2",
|
|
64
55
|
"p3", "p4", "p5", "play1", "play2",
|
|
65
|
-
// "play3",
|
|
66
56
|
"l1", "l2", "poly", "poly-04",
|
|
67
57
|
"poly-11", "poly-12", "poly-121",
|
|
68
|
-
// "quad_blob",
|
|
69
58
|
"ra", "SSS", "simple",
|
|
70
|
-
// "so copy",
|
|
71
59
|
"so", "square", "square_in_circle", "square_in_square",
|
|
72
|
-
// "TTT",
|
|
73
60
|
"T2",
|
|
74
61
|
"geck1", "t4", "test1", "test2", "test3", "test4", "tt", "two_hole"
|
|
75
62
|
]
|
|
@@ -1,35 +1,48 @@
|
|
|
1
1
|
<?xml version="1.0" standalone="no"?>
|
|
2
2
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
|
3
3
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
|
4
|
-
<metadata>
|
|
5
|
-
Created by FontForge 20220308 at Fri Feb 06 12:08:17 2009
|
|
6
|
-
By vongillernj
|
|
7
|
-
Copyright (c) 2003 - 2008 Linotype GmbH, www.linotype.com. All rights reserved. This font software may not be reproduced, modified, disclosed or transferred without the express written approval of Linotype GmbH. Achispado is a trademark of Linotype GmbH and may be registered in certain jurisdictions. This typeface is original artwork of Richard Yeend. The design may be protected in certain jurisdictions.
|
|
8
|
-
</metadata>
|
|
9
4
|
<defs>
|
|
10
5
|
<font id="AchispadoLTStd" horiz-adv-x="445" >
|
|
11
|
-
|
|
12
|
-
font-family="Achispado LT Std"
|
|
13
|
-
font-weight="400"
|
|
14
|
-
font-stretch="normal"
|
|
15
|
-
units-per-em="1000"
|
|
16
|
-
panose-1="4 11 5 5 6 9 2 2 8 2"
|
|
17
|
-
ascent="800"
|
|
18
|
-
descent="-200"
|
|
19
|
-
x-height="408"
|
|
20
|
-
cap-height="574"
|
|
21
|
-
bbox="-348 -490 1017 784"
|
|
22
|
-
underline-thickness="15"
|
|
23
|
-
underline-position="-100"
|
|
24
|
-
stemh="30"
|
|
25
|
-
stemv="23"
|
|
26
|
-
unicode-range="U+000D-FB02"
|
|
27
|
-
/>
|
|
28
|
-
<missing-glyph horiz-adv-x="500"
|
|
29
|
-
d="M15 609v-593h469v593h-469zM500 0h-500v625h500v-625z" />
|
|
6
|
+
|
|
30
7
|
<glyph glyph-name=".notdef" horiz-adv-x="500"
|
|
31
8
|
d="M15 609v-593h469v593h-469zM500 0h-500v625h500v-625z" />
|
|
32
9
|
|
|
10
|
+
<glyph glyph-name="Q_V" unicode="" horiz-adv-x="750"
|
|
11
|
+
d="
|
|
12
|
+
M 1154.0678381635485 290.68533730950645
|
|
13
|
+
C 1146.6755333181352 279.4891848867998 1130.6851522613686 277.18533730950645 1120.3550252424463 285.0776421549197
|
|
14
|
+
L 606.3486742963368 675.3627574066606
|
|
15
|
+
L 662.6961524227066 221.76606241341202
|
|
16
|
+
C 662.8660254037844 211.47183377935207 658.0717967697245 201.77568135664544 650.2775681356645 197.27568135664544
|
|
17
|
+
C 640.7512886940357 191.77568135664544 629.9570600599758 192.47183377935207 621.1269330410536 197.76606241341202
|
|
18
|
+
L 257.340436571208 473.86275740666065
|
|
19
|
+
L 338.3340856250983 -166.42235784508034
|
|
20
|
+
C 339.13793320239165 -179.8146626904936 330.87960295319397 -191.51081511320024 315.75524730021186 -193.3146626904936
|
|
21
|
+
C 302.8629424547986 -194.98453567157145 290.16679003209197 -184.99415461480487 289.3629424547986 -171.6018497693916
|
|
22
|
+
L 201.92185228416585 523.8505610753558
|
|
23
|
+
C 200.8859538993036 533.6447897094157 205.68018253336353 543.3409421321223 211.2423603598546 547.7069675359068
|
|
24
|
+
L 212.97441116742348 548.7069675359068
|
|
25
|
+
L 215.5724873787768 550.2069675359068
|
|
26
|
+
C 219.0365889939146 552.2069675359068 223.00069060905227 553.3409421321223 227.96479222419006 552.7428659207691
|
|
27
|
+
C 229.33081762797448 552.3768405169847 231.56286843554338 552.5108151132001 233.4288938393278 551.2787643056313
|
|
28
|
+
C 234.79491924311228 550.9127389018469 238.02697005068111 549.3146626904936 239.89299545446553 548.0826118829248
|
|
29
|
+
C 240.39299545446553 547.2165864791402 240.89299545446553 546.3505610753558 242.25902085825 545.9845356715714
|
|
30
|
+
L 607.9115427318801 268.65578987075384
|
|
31
|
+
L 551.4300900092946 724.4845356715714
|
|
32
|
+
C 550.4300900092946 726.2165864791402 550.2961154130791 728.4486372867091 550.6621408168635 729.8146626904936
|
|
33
|
+
C 550.0281662206479 732.9127389018469 550.7602170282167 735.6447897094158 551.4922678357857 738.3768405169847
|
|
34
|
+
C 552.3582932395701 738.8768405169847 552.7243186433545 740.2428659207691 552.7243186433545 740.2428659207691
|
|
35
|
+
C 554.6884202584923 744.8409421321223 558.5185472774145 748.2069675359069 562.8486742963368 750.7069675359069
|
|
36
|
+
C 568.0448267190433 753.7069675359069 573.3749537379655 754.474916728338 578.3390553531033 753.8768405169847
|
|
37
|
+
L 581.0711061606721 753.1447897094158
|
|
38
|
+
L 582.4371315644565 752.7787643056313
|
|
39
|
+
C 586.5352077758099 751.680688094278 590.2672585833787 749.2165864791402 593.6332839871633 745.386459460218
|
|
40
|
+
L 1148.4601430089617 324.39815023060845
|
|
41
|
+
C 1159.6562954316685 317.0058453851952 1161.9601430089617 301.0154643284286 1154.0678381635485 290.68533730950645
|
|
42
|
+
L 1154.0678381635485 290.68533730950645
|
|
43
|
+
z
|
|
44
|
+
"
|
|
45
|
+
/>
|
|
33
46
|
|
|
34
47
|
<glyph glyph-name="woodland" horiz-adv-x="500"
|
|
35
48
|
d="
|