10 unstable releases
0.0.1-alpha+2023-04-27 | Apr 27, 2023 |
---|---|
0.0.1-alpha+2023-03-28 | Mar 28, 2023 |
0.0.0 |
|
#211 in Graphics APIs
2.5MB
50K
SLoC
gerb
- *gerb ʰ-: reconstructed Proto-Indo-European root, meaning to carve
gerb
: a font editor in gtk3 and Rust
☛ See the Screenshots section.
gerb
is a GUI font editor and IDE.
It is not production ready, but all the basics are implemented.
It uses the UFOv3 format and can import:[^0]
- UFOv2 directories
- Glyphs files
and export:[^1]
- OpenType files (
.otf
) - TrueType files (
.ttf
)
[^0]: Import is performed with fontTools
and glyphsLib
.
[^1]: Export is performed with ufo2ft
.
ℹ️ Interested in contributing? Consult CONTRIBUTING.md . |
---|
Features
- import from other font source formats
- export to
.otf
and.ttf
- configurable shortcuts system
- unlimited undos
- embedded python shell and API for scripting and plugins (work in progress)
- git integration (work in progress)
- themeable (work in progress)
Future features
- work with designspaces (tracking issue #22)
Screenshots [^2]
[^2]: The screenshot typeface is Sporting Grotesque.
Alternative software
- FontForge is the indisputable FOSS font editor. Realistically this is the only choice one has for making a professional quality typeface with free software.
Some other projects in development are:
- runebender: development seems to have slowed down (as of Wed 15 Mar 2023).
Unfortunately, the project —while excellent— looks like it is encumbered by its UI toolkit's development.
In contrast, gerb uses the standard FOSS UI toolkit,
gtk
. - MFEK: it's focused on splitting every functionality into micro-libraries. gerb's technical goal is shipping a font editor.
Install
Packages
Packages are available:
- NetBSD https://pkgsrc.se/fonts/gerb
- Debian / Ubuntu as
.deb
files included with each release - Arch Linux https://aur.archlinux.org/packages/gerb-git
It is also installable from crates.io: cargo install gerb
Prebuilt GNU/Linux & macos amd64 binaries
See 'Releases' for binaries of tagged releases built in the CI.
Build
To build, you will need Rust's cargo
tool.
You can get it from your distribution's packages, or directly with the official rustup
tool.
If the build fails because of missing system libraries, see the Dependencies section of the README
.
Download or clone the git repository with your method of choice, e.g.:
git clone https://github.com/epilys/gerb.git
cd gerb
cargo build --release
Dependencies
Needs gtk-3
.
For the python
feature you'll need libpython3.9
or greater.
On Debian and relatives:
apt install libgtk-3-dev
On macOS
you can install dependencies with Homebrew
:
brew install librsvg gtk+3 gnome-icon-theme
Run & Configuration
You can open a UFOv3 project from the GUI ( File->Open or Ctrl+O ) or directly in the command line with the -u
flag.
Assuming the project directory is "/path/to/font.ufo":
# Directly calling the binary:
gerb -u /path/to/font.ufo
# Running through cargo
cargo run --release -- -u /path/to/font.ufo
Configuration of various settings is stored at the $XDG_CONFIG_HOME/gerb
directory in a TOML file.
The usual location would be $HOME/.config/gerb/config.toml
.
dconf is not used but PRs that add dconf support are welcome.
Dependencies
~21–30MB
~572K SLoC