{"id":13777403,"url":"https://github.com/wieslawsoltes/SpiroNet","last_synced_at":"2025-05-11T11:33:25.688Z","repository":{"id":143036168,"uuid":"40016123","full_name":"wieslawsoltes/SpiroNet","owner":"wieslawsoltes","description":"The .NET C# port of libspiro - conversion between spiro control points and bezier's.","archived":true,"fork":false,"pushed_at":"2022-08-20T20:07:31.000Z","size":65039,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-01T22:09:26.275Z","etag":null,"topics":["avalonia","avaloniaui","bezier","c-sharp","control","curve","design","editor","geometry","graphics","gui","libspiro","multi-platform","path","shapes","spiro","spline","wpf","xa","xaml"],"latest_commit_sha":null,"homepage":"http://wieslawsoltes.github.io/SpiroNet/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wieslawsoltes.png","metadata":{"files":{"readme":"README-RaphLevien","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["wieslawsoltes"]}},"created_at":"2015-07-31T17:13:44.000Z","updated_at":"2023-07-06T06:10:35.000Z","dependencies_parsed_at":"2023-04-18T19:07:16.091Z","dependency_job_id":null,"html_url":"https://github.com/wieslawsoltes/SpiroNet","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FSpiroNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FSpiroNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FSpiroNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FSpiroNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wieslawsoltes","download_url":"https://codeload.github.com/wieslawsoltes/SpiroNet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223736885,"owners_count":17194343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avalonia","avaloniaui","bezier","c-sharp","control","curve","design","editor","geometry","graphics","gui","libspiro","multi-platform","path","shapes","spiro","spline","wpf","xa","xaml"],"created_at":"2024-08-03T18:00:42.832Z","updated_at":"2024-11-17T13:30:40.827Z","avatar_url":"https://github.com/wieslawsoltes.png","language":"C#","funding_links":["https://github.com/sponsors/wieslawsoltes"],"categories":["Samples and Projects"],"sub_categories":["Graphics"],"readme":"README for ppedit\n\nRaph Levien\n4 May 2007\n\nppedit is my prototype application for editing curves using my\ncurvature-continuous spirals. While I have used this code to draw many\nfont outlines, it is very rough around the edges, and is far from a\npolished tool.\n\n\n== License and patent grant ==\n\nAll code in this package is released under the terms of the GNU GPL,\nversion 2 or later, at your choice.\n\nFurther, there is a provisional patent application filed for the\nunderlying curve technology. The following patent grant applies to any\npatent which may be issued as a result of that application:\n\nWhereas, Raph Levien (hereinafter \"Inventor\") has obtained patent\nprotection for related technology (hereinafter \"Patented Technology\"),\nInventor wishes to aid the the GNU free software project in achieving\nits goals, and Inventor also wishes to increase public awareness of\nPatented Technology, Inventor hereby grants a fully paid up,\nnonexclusive, irrevocable, royalty free license to practice the\npatents listed below (\"the Patents\") if and only if practiced in\nconjunction with software distributed under the terms of any version\nof the GNU General Public License as published by the Free Software\nFoundation, 59 Temple Place, Suite 330, Boston, MA 02111. Inventor\nreserves all other rights, including without limitation, licensing for\nsoftware not distributed under the GNU General Public License.\n\n== Building ==\n\nThe main build supported right now is the Gtk2/cairo one. There's also\na Mac build and a Gtk1 one, but those aren't guaranteed to work.\n\n1. Make sure you've got ../x3/ in a directory parallel to ppedit. If\n   you've unpacked from a tarball, this should be the case already.\n   From darcs, use: darcs get http://levien.com/garden/x3\n\n2. make\n\n3. The binary is ppedit\n\n== Using ==\n\nThe numeric keys 1-6 select the mode. 1 is selection, 2-6 select\ndifferent point modes:\n\n2: Add G4-continuous curve point\n3: Add corner point\n4: Add left-facing one-way point\n5: Add right-facing one-way point\n6: Add G2-continuous curve point\n\nNote: Dave Crossland has a set of alternate keybindings which are\nprobably faster.\n\n== Plate files ==\n\nCtrl-S saves a plate file in a file of the name 'plate'. Additionally,\na plate file can be given as a command line argument. The file uses\nsimple S-expressions, with a one-character code for each point, then\nthe X and Y coordinates - 0,0 is top left.\n\nHere's the cap U from Inconsolata, for example:\n\n(plate\n  (v 68 78)\n  (v 159 78)\n  (o 158 92)\n  ([ 148 115)\n  (] 148 552)\n  (o 298 744)\n  ([ 459 549)\n  (v 459 78)\n  (v 536 78)\n  (] 536 547)\n  (o 295 813)\n  ([ 68 551)\n  (z)\n)\n\nv: corner\no: g4\nc: g2\n[: left-facing one-way\n]: right-facing one-way\n\n== Conversion to PostScript ==\n\nCtrl-P converts to PostScript, saving '/tmp/foo.ps'. Other utilities\ncan convert that representation into FontForge, and also optimize the\nBeziers.\n\n== Stability ==\n\nThe spline solver in this release is _not_ numerically robust. When\nyou start drawing random points, you'll quickly run into divergence.\nHowever, \"sensible\" plates based on real fonts usually converge. Some\ntips:\n\n1. Huge changes of angle are likely to diverge.\n\n2. For the first two or three points, G4 points are likelier to\n   converge than G2's. For longer segments, G2 is more likely.\n\n3. Start on a curve point.\n\nA more numerically robust approach is in the works.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieslawsoltes%2FSpiroNet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwieslawsoltes%2FSpiroNet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieslawsoltes%2FSpiroNet/lists"}