{"id":13724522,"url":"https://github.com/Lorp/samsa","last_synced_at":"2025-05-07T18:32:46.676Z","repository":{"id":36319471,"uuid":"215353440","full_name":"Lorp/samsa","owner":"Lorp","description":"Variable font inspector","archived":false,"fork":false,"pushed_at":"2025-03-27T01:32:07.000Z","size":16855,"stargazers_count":245,"open_issues_count":42,"forks_count":24,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-04T07:06:50.546Z","etag":null,"topics":["axis-praxis","fonts","node","parametric-fonts","polyfill","variable-fonts","visualization"],"latest_commit_sha":null,"homepage":"https://lorp.github.io/samsa/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lorp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-15T17:05:35.000Z","updated_at":"2025-03-28T21:58:07.000Z","dependencies_parsed_at":"2025-03-20T23:35:53.683Z","dependency_job_id":null,"html_url":"https://github.com/Lorp/samsa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lorp%2Fsamsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lorp%2Fsamsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lorp%2Fsamsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lorp%2Fsamsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lorp","download_url":"https://codeload.github.com/Lorp/samsa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252934258,"owners_count":21827672,"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":["axis-praxis","fonts","node","parametric-fonts","polyfill","variable-fonts","visualization"],"created_at":"2024-08-03T01:01:58.663Z","updated_at":"2025-05-07T18:32:46.662Z","avatar_url":"https://github.com/Lorp.png","language":"JavaScript","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# Samsa\n\n[**Samsa web app**](https://lorp.github.io/samsa/src/samsa-gui.html) ← _click to start_\n\nSamsa is a web app that visualizes how variable fonts (VF) work. Type designers, font developers, front end developers and others can use Samsa to open VFs, then inspect VF glyph outlines and other data as they explore the VF designspace using sliders and other UI controls.\n\n[Detailed video presentation May 2020 (90 mins)](https://www.youtube.com/watch?v=T75bZ7ooiFQ)\n\n![Mutator](screenshots/20191119%20Mutator%20S.png?raw=true)\n\nSamsa uses the [Samsa-Core](https://github.com/Lorp/samsa-core) JavaScript library for processing variable fonts. The library implements much of the [OpenType 1.8 Variations](https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview) specification.\n\nSamsa-Core can also output static TrueType (TTF) fonts, and the Samsa web app provides export of static TTFs from any designspace location. (Note: These are not production ready.)\n\nSamsa is written in ES6 JavaScript with no dependencies. It is normally installed on web servers, but can also be run from any folder with no server setup by double-clicking `samsa-gui.html`.\n\nAlso provided are: a command-line utility, Samsa-CLI (`samsa-cli.js`, for execution via Node.js); and a simple browser VF polyfill, Samsa-Polyfill, `samsa-polyfill.js`. These are both very short scripts that depend on the Samsa-Core library.\n\n## Documentation\n\n* [**Samsa**](docs/samsa-gui.md) is the main web app.\n* [**Samsa-CLI**](docs/samsa-cli.md) is a command-line utility for generating static instances from VFs. It is executed using Node.js.\n* [**Samsa-Core**](docs/samsa-core.md) is the JavaScript library that powers Samsa-GUI and Samsa-CLI.\n* [**Samsa-Polyfill**](docs/samsa-polyfill.md) is a demo that uses Samsa-Core to implement a VF polyfill in browsers.\n\n## Try Samsa\n\nThere are several ways to try Samsa:\n\n* Visit [www.axis-praxis.org/samsa](https://www.axis-praxis.org/samsa/)\n* Visit [lorp.github.io/samsa](https://lorp.github.io/samsa/src/samsa-gui.html)\n* Download the repository and double-click `samsa-gui.html`\n\t* This works well for drag-drop usage, but does not allow fonts to be loaded from a server.\n* Download the files and install on a web server\n\t* You can make a symbolic link from index.html to samsa-gui.html or simply rename samsa-gui.html to index.html\n\t* Edit `samsa-config.js` to change the fonts in the Fonts panel\n\t\n## Try some fonts in Samsa\n\nThere are many open source variable fonts to try in Samsa, including:\n* [Google Fonts](https://fonts.google.com/?vfonly=true) (215 VFs)\n* [IBM Plex Sans Var](https://github.com/IBM/plex/tree/master/IBM-Plex-Sans-Variable) (2 VFs)\n* Adobe [Source Serif, Source Sans, Source Code](https://github.com/adobe-fonts) (6 VFs)\n* [Amstelvar](https://github.com/TypeNetwork/Amstelvar/) (2 VFs, 12 axes each)\n* [Decovar](https://github.com/TypeNetwork/Decovar/) (1 VF, 15 axes)\n* many open source and trial fonts at [Axis-Praxis](https://www.axis-praxis.org) and [V-Fonts.com](https://v-fonts.com/)\n\n## Related apps \u0026 demps\n\n* [Samsa Polyfill Demo](https://lorp.github.io/samsa/src/samsa-polyfill.html) — [_documentation_](docs/samsa-polyfill.md)\n* [avar2 demo](https://lorp.github.io/samsa/src/samsa-avar2.html) — [_documentation_](docs/samsa-avar2.md)\n\n## Background\n\nThe Samsa project grew out of:\n\n* 2013 work on TTJS, a browser-based TTF outline editor in JavaScript\n* 2017 work to write a VF browser polyfill\n* 2017–2018 work to extend [Axis-Praxis](https://www.axis-praxis.org) in order to visualize what happens inside VFs as designspace location changes\n\nAn early version of the VF polyfill was demo’d at TYPO Labs 2017 [[video](https://www.youtube.com/watch?v=16QIZrRxafY\u0026t=45m16s)]. The visualization project took a separate development path from Axis-Praxis, and an early version of Samsa was demo’d at TGA Raabs 2017 and TYPO Labs 2018.\n\nWith support from Google Fonts in 2019, Samsa now has numerous fixes and other improvements including a new UI, and is released under the Apache-2.0 license.\n\nThe name Samsa comes from [Gregor Samsa](https://en.wikipedia.org/wiki/The_Metamorphosis#Gregor_Samsa), the protagonist of Franz Kafka’s story, *The Metamorphosis*.\n\n\t\n## Contributing\n\nFeedback and contributions (UI ideas, feature ideas, code) are welcome. Please use the GitHub issues system to report bugs and to suggest improvements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLorp%2Fsamsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLorp%2Fsamsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLorp%2Fsamsa/lists"}