{"id":13494300,"url":"https://github.com/epilys/gerb","last_synced_at":"2025-04-13T00:43:35.795Z","repository":{"id":44167850,"uuid":"450584722","full_name":"epilys/gerb","owner":"epilys","description":"Graphical font editor (GTK + Rust)","archived":false,"fork":false,"pushed_at":"2024-10-17T10:23:39.000Z","size":6851,"stargazers_count":329,"open_issues_count":15,"forks_count":7,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-13T00:43:30.418Z","etag":null,"topics":["design","font","font-editor","fonts","gtk","gtk-rs","gtk3","gui","rust","type","type-design","typeface","typography","ufo"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epilys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["epilys"]}},"created_at":"2022-01-21T17:39:40.000Z","updated_at":"2025-04-03T07:12:32.000Z","dependencies_parsed_at":"2024-04-18T14:33:31.841Z","dependency_job_id":null,"html_url":"https://github.com/epilys/gerb","commit_stats":{"total_commits":387,"total_committers":5,"mean_commits":77.4,"dds":"0.45219638242894056","last_synced_commit":"92c6f96a5a3dd82ff61ed827f934ae1458f8c5c3"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Fgerb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Fgerb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Fgerb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Fgerb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epilys","download_url":"https://codeload.github.com/epilys/gerb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650418,"owners_count":21139672,"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":["design","font","font-editor","fonts","gtk","gtk-rs","gtk3","gui","rust","type","type-design","typeface","typography","ufo"],"created_at":"2024-07-31T19:01:23.657Z","updated_at":"2025-04-13T00:43:35.773Z","avatar_url":"https://github.com/epilys.png","language":"Rust","readme":"# gerb [![License]][gpl3]\u0026nbsp;[![No Maintenance Intended]][no-maintenance]\u0026nbsp;[![Build Status]][actions]\u0026nbsp;[![Latest Version]][crates.io] [![netbsd]][pkgsrc.se]\u0026nbsp;[![aur]][aur-url]\n\n[gpl3]: https://github.com/epilys/gerb/blob/main/LICENSE\n[Build Status]: https://img.shields.io/github/actions/workflow/status/epilys/gerb/builds.yaml?branch=main\n[actions]: https://github.com/epilys/gerb/actions?query=branch%3Amain\n[Latest Version]: https://img.shields.io/crates/v/gerb.svg?color=white\n[crates.io]: https://crates.io/crates/gerb\n[Top Language]: https://img.shields.io/github/languages/top/epilys/gerb?color=white\u0026logo=rust\u0026logoColor=black\n[License]: https://img.shields.io/github/license/epilys/gerb?color=white\n[pkgsrc.se]: https://pkgsrc.se/fonts/gerb\n[netbsd]: https://img.shields.io/badge/netbsd-pkgsrc%2Ffonts%2Fgerb-%23777777?labelColor=%23ea6410\n[aur-url]: https://aur.archlinux.org/packages/gerb-git\n[aur]: https://img.shields.io/badge/aur-gerb--git-%23555555?labelColor=%23ecf2f5\n[No Maintenance Intended]: https://img.shields.io/badge/No%20Maintenance%20Intended-%F0%9F%97%99-red\n[no-maintenance]: https://unmaintained.tech/\n\n| \u0026#x261B; Development has stopped as of 2023-05-03. [Discussion](https://github.com/epilys/gerb/discussions/44) |\n| ---\n\n1. _*gerb ʰ-_: [reconstructed Proto-Indo-European root](https://en.wiktionary.org/wiki/Reconstruction:Proto-Indo-European/gerb%CA%B0-), meaning _to carve_\n2. `gerb`: a font editor in gtk3 and Rust\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"./screenshot-small.png?raw=true\"\u003e\n\u003cimg alt=\"Editing a glyph inside gerb.\" src=\"./screenshot-small.png?raw=true\" width=\"450\" height=\"429\" style=\"object-fit: scale-down; height: auto; max-width: 450px;\"\u003e\n\u003c/a\u003e\u003cbr /\u003e\n\u003ckbd\u003e\u003cstrong\u003eEditing a glyph.\u003c/strong\u003e\u003c/kbd\u003e\n\u003c/p\u003e\n\n\u003csup\u003e\u003csub\u003e\u0026#x261B; \u003cem\u003eSee the \u003cstrong\u003e\u003ca href=\"#screenshots\"\u003eScreenshots\u003c/a\u003e\u003c/strong\u003e section.\u003c/em\u003e\u003c/sub\u003e\u003c/sup\u003e\n\n`gerb` is a GUI font editor and IDE.\nIt is not production ready, but all the basics are implemented.\n\nIt uses the [_UFOv3_](https://unifiedfontobject.org/versions/ufo3/index.html) format and can import:[^0]\n\n- _UFOv2_ directories\n- _Glyphs_ files\n\nand export:[^1]\n\n- OpenType files (`.otf`)\n- TrueType files (`.ttf`)\n\n[^0]: Import is performed with [`fontTools`](https://github.com/fonttools/fonttools) and [`glyphsLib`](https://github.com/googlefonts/glyphsLib).\n[^1]: Export is performed with [`ufo2ft`](https://github.com/googlefonts/ufo2ft).\n\n| ℹ️  Interested in contributing? Consult [`CONTRIBUTING.md`](./CONTRIBUTING.md). |\n| ---                                                                            |\n\n## Features\n\n- import from other font source formats\n- export to `.otf` and `.ttf`\n- configurable shortcuts system\n- unlimited undos\n- embedded python shell and API for scripting and plugins (work in progress)\n- git integration (work in progress)\n- themeable (work in progress)\n\n### Future features\n\n- [ ] work with designspaces ([tracking issue #22](https://github.com/epilys/gerb/issues/22))\n\n## Screenshots [^2]\n\n[^2]: The screenshot typeface is [Sporting Grotesque](https://www.velvetyne.fr/fonts/sporting-grotesque/).\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n\u003ca href=\"./screenshot.png?raw=true\"\u003e\u003cimg width=\"49%\" src=\"./screenshot.png?raw=true\"\u003e\u003c/a\u003e\n\u003ca href=\"./screenshot2.png?raw=true\"\u003e\u003cimg width=\"49%\" src=\"./screenshot2.png?raw=true\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Alternative software\n\n- [FontForge](https://fontforge.org) is the indisputable FOSS font editor.\n  Realistically this is the only choice one has for making a professional quality typeface with free software.\n\nSome other projects in development are:\n\n- [runebender](https://github.com/linebender/runebender): development seems to have slowed down (as of Wed 15 Mar 2023).\n  Unfortunately, the project —while excellent— looks like it is encumbered by its UI toolkit's development.\n  In contrast, **gerb uses the standard FOSS UI toolkit, `gtk`**.\n- [MFEK](https://github.com/MFEK): it's focused on splitting every functionality into micro-libraries.\n  **gerb's technical goal is shipping a font editor**.\n\n## Install\n\n### Packages\n\nPackages are available:\n\n- NetBSD \u003chttps://pkgsrc.se/fonts/gerb\u003e\n- Debian / Ubuntu as `.deb` files included with each [release](https://github.com/epilys/gerb/releases)\n- Arch Linux \u003chttps://aur.archlinux.org/packages/gerb-git\u003e\n\nIt is also installable from [crates.io](https://crates.io/crates/gerb): ```cargo install gerb```\n\n### Prebuilt GNU/Linux \u0026 macos amd64 binaries\n\nSee ['Releases'](https://github.com/epilys/gerb/releases) for binaries of tagged releases built in the CI.\n\n## Build\n\nTo build, you will need Rust's `cargo` tool.\nYou can get it from your distribution's packages, or directly with the official [`rustup`](https://rustup.rs) tool.\nIf the build fails because of missing system libraries, see the [Dependencies](#dependencies) section of the `README`.\n\nDownload or clone the git repository with your method of choice, e.g.:\n\n```shell\ngit clone https://github.com/epilys/gerb.git\ncd gerb\ncargo build --release\n```\n\n### Dependencies\n\nNeeds `gtk-3`.\nFor the `python` feature you'll need `libpython3.9` or greater.\n\nOn Debian and relatives:\n\n```shell\napt install libgtk-3-dev\n```\n\nOn `macOS` you can install dependencies with `Homebrew`:\n\n```shell\nbrew install librsvg gtk+3 gnome-icon-theme\n```\n\n## Run \u0026 Configuration\n\nYou can open a UFOv3 project from the GUI (\u0026thinsp;*File-\u003eOpen* or \u003ckbd\u003eCtrl+O\u003c/kbd\u003e\u0026thinsp;) or directly in the command line with the `-u` flag.\nAssuming the project directory is \"/path/to/font.ufo\":\n\n```shell\n# Directly calling the binary:\ngerb -u /path/to/font.ufo\n# Running through cargo\ncargo run --release -- -u /path/to/font.ufo\n```\n\nConfiguration of various settings is stored at the `$XDG_CONFIG_HOME/gerb` directory in a TOML file.\nThe usual location would be `$HOME/.config/gerb/config.toml`.\n[**dconf**](https://en.wikipedia.org/wiki/Dconf) is not used but PRs that add dconf support are welcome.\n","funding_links":["https://github.com/sponsors/epilys"],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepilys%2Fgerb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepilys%2Fgerb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepilys%2Fgerb/lists"}