epilys / gerb

Graphical font editor (GTK + Rust)
GNU General Public License v3.0
322 stars 8 forks source link
design font font-editor fonts gtk gtk-rs gtk3 gui rust type type-design typeface typography ufo

gerb License No Maintenance Intended Build Status Latest Version netbsd aur

☛ Development has stopped as of 2023-05-03. Discussion
  1. *gerb ʰ-: reconstructed Proto-Indo-European root, meaning to carve
  2. gerb: a font editor in gtk3 and Rust

Editing a glyph inside gerb.
Editing a glyph.

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]

and export:[^1]

[^0]: Import is performed with fontTools and glyphsLib. [^1]: Export is performed with ufo2ft.

ℹ️ Interested in contributing? Consult CONTRIBUTING.md.

Features

Future features

Screenshots [^2]

[^2]: The screenshot typeface is Sporting Grotesque.

Alternative software

Some other projects in development are:

Install

Packages

Packages are available:

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.