All Projects → Lorp → Samsa

Lorp / Samsa

Licence: apache-2.0
Variable font inspector

Projects that are alternatives of or similar to Samsa

Document.scrollingelement
A polyfill for document.scrollingElement as defined in the CSSOM specification.
Stars: ✭ 122 (-20.26%)
Mutual labels:  polyfill
Linux Dotfiles
I configure lots of things, sorting them out here
Stars: ✭ 137 (-10.46%)
Mutual labels:  fonts
Source Serif
Typeface for setting text in many sizes, weights, and languages. Designed to complement Source Sans.
Stars: ✭ 1,848 (+1107.84%)
Mutual labels:  fonts
Kv Storage Polyfill
A polyfill for the kv-storage built-in module.
Stars: ✭ 130 (-15.03%)
Mutual labels:  polyfill
Google Sans Fonts
Stars: ✭ 136 (-11.11%)
Mutual labels:  fonts
Micropython Font To Py
A Python 3 utility to convert fonts to Python source capable of being frozen as bytecode
Stars: ✭ 141 (-7.84%)
Mutual labels:  fonts
Touch Action
Disable 300ms delay on mobile using CSS touch-action or asynchronously download FastClick as polyfill
Stars: ✭ 119 (-22.22%)
Mutual labels:  polyfill
Imagecapture Polyfill
MediaStream ImageCapture polyfill. Take photos from the browser as easy as .takePhoto().then(processPhoto)
Stars: ✭ 150 (-1.96%)
Mutual labels:  polyfill
Figma Linux Font Helper
Font Helper for Figma for Linux x64 platform
Stars: ✭ 136 (-11.11%)
Mutual labels:  fonts
Handwrite
Handwrite generates a custom font based on your handwriting sample.
Stars: ✭ 145 (-5.23%)
Mutual labels:  fonts
Gftools
Misc tools for working with the Google Fonts library
Stars: ✭ 132 (-13.73%)
Mutual labels:  fonts
History.js
History.js gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState. Supports jQuery, MooTools and Prototype. For HTML5 browsers this means that you can modify the URL directly, without needing to use hashes anymore. For HTML4 browsers it wi…
Stars: ✭ 10,761 (+6933.33%)
Mutual labels:  polyfill
Font Playground
A fun place to play with variable fonts.
Stars: ✭ 143 (-6.54%)
Mutual labels:  fonts
Opentype Svg Font Editor
A user-friendly tool for adding SVG to OpenType fonts
Stars: ✭ 126 (-17.65%)
Mutual labels:  fonts
Inkwell
An inkwell to use custom fonts on the fly.
Stars: ✭ 146 (-4.58%)
Mutual labels:  fonts
Ts Polyfill
Runtime polyfills for TypeScript libs, powered by core-js! 🔋 🔩
Stars: ✭ 122 (-20.26%)
Mutual labels:  polyfill
San Francisco Family
All the fonts in San Francisco family font, developed by Apple. Including new SF Camera font from iOS 13!
Stars: ✭ 141 (-7.84%)
Mutual labels:  fonts
Navigator.sendbeacon
Polyfill for Navigator.sendBeacon()
Stars: ✭ 151 (-1.31%)
Mutual labels:  polyfill
Iconfontsimagelist
Components to simplify use of "Icon fonts": resize, color, opacity and more... with full support for High-DPI apps. Rendering optimized with GDI+
Stars: ✭ 147 (-3.92%)
Mutual labels:  fonts
React Af
Allows you to code using certain React.next features today! Perfect for component library maintainers.
Stars: ✭ 143 (-6.54%)
Mutual labels:  polyfill

Samsa

Samsa web appclick to start

Samsa 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.

Detailed video presentation May 2020 (90 mins)

Mutator

Samsa uses the Samsa-Core JavaScript library for processing variable fonts. The library implements much of the OpenType 1.8 Variations specification.

Samsa-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.)

Samsa 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.

Also 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.

Documentation

  • Samsa is the main web app.
  • Samsa-CLI is a command-line utility for generating static instances from VFs. It is executed using Node.js.
  • Samsa-Core is the JavaScript library that powers Samsa-GUI and Samsa-CLI.
  • Samsa-Polyfill is a demo that uses Samsa-Core to implement a VF polyfill in browsers.

Try Samsa

There are several ways to try Samsa:

  • Visit www.axis-praxis.org/samsa
  • Visit lorp.github.io/samsa
  • Download the repository and double-click samsa-gui.html
    • This works well for drag-drop usage, but does not allow fonts to be loaded from a server.
  • Download the files and install on a web server
    • You can make a symbolic link from index.html to samsa-gui.html or simply rename samsa-gui.html to index.html
    • Edit samsa-config.js to change the fonts in the Fonts panel

Try some fonts in Samsa

There are many open source variable fonts to try in Samsa, including:

Background

The Samsa project grew out of:

  • 2013 work on TTJS, a browser-based TTF outline editor in JavaScript
  • 2017 work to write a VF browser polyfill
  • 2017–2018 work to extend Axis-Praxis in order to visualize what happens inside VFs as designspace location changes

An early version of the VF polyfill was demo’d at TYPO Labs 2017 [video]. 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.

With 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.

The name Samsa comes from Gregor Samsa, the protagonist of Franz Kafka’s story, The Metamorphosis.

Contributing

Feedback and contributions (UI ideas, feature ideas, code) are welcome. Please use the GitHub issues system to report bugs and to suggest improvements.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].