Shift: A Modern, Open-Source Font Editor Driven by Google Fonts Oxidize Project
I'm building Shift, an open-source font editor that aims to fill a gap in the typography world. While commercial font editors can cost hundreds of dollars and the main open-source alternatives haven't kept pace with modern UI expectations, Shift takes a fresh approach.
What makes Shift different
- Modern tech stack: Built with Rust, React, and CanvasKit (Skia) using Tauri
- Cross-platform: Works on Windows, macOS, and Linux
- Designed with modern UI/UX principles from the ground up
- 100% Free & Open: Licensed under GPLv3
Embracing Rust in Typography
Most font tooling today exists in Python (fonttools, fontmake) and C/C++ (for subsetting and shaping). Google is now reshaping the font tooling ecosystem with their oxidize project, that aims to provide improved alternatives to these existing tools in Rust.
Shift will:
- Be an early adopter of these emerging Rust typography libraries
- Provide a real-world testing ground for these tools in a production application
- Contribute improvements back upstream based on practical usage
- Help evolve the ecosystem by demonstrating what's possible with modern Rust font tools
I'm excited to see how Shift and these Rust libraries can evolve together, potentially creating a new standard for open-source typography tools.
Current status
The project is in very early development (pre-alpha). I'm building the foundation for:
- Bézier curve editing systems
- Font format handling
- Modern, intuitive interface for type design
Why I started this
Typography tools shouldn't be limited to those who can afford expensive licenses, and open-source alternatives shouldn't feel dated. I believe the typography community deserves a modern, accessible tool that keeps pace with commercial options.
Looking to connect with
- Open source contributors interested in typography
- Type designers frustrated with current tools
- Rust developers with experience in graphics applications
- Anyone passionate about making creative tools more accessible
The project is on GitHub and completely open source. I'd love feedback, ideas, or just to connect with others interested in this space!