OFFED - Open(type) Fea(ture) File EDitor

A modern desktop font editor for OpenType feature file (FEA) parsing and GSUB/GPOS table compilation, written in Rust with a Tauri shell and Leptos UI.


Offed icon

A modern desktop font editor for OpenType feature files (FEA) and UFO sources, now powered by fontc sidecar for incremental TTF compilation. Written in Rust with Tauri desktop shell and Leptos UI.

Overview

OFFED edits UFO fonts with FEA feature files, using the embedded fontc binary for incremental compilation to complete TTF fonts. These TTFs power rustybuzz text shaping previews and enable direct TTF export.

Releases:

OFFED v0.2.0 is now available with cross-platform binary distributions!

What's New

🎉 Cross-Platform Binaries - Windows: .exe executable and .msi installer - macOS: .app bundle and .dmg disk image (Apple Silicon) - Linux: AppImage, .deb, and .rpm packages

Editor Improvements - Smart cursor-position insertion for features and lookups - Enhanced error reporting with detailed fontc validation messages - Fixed syntax highlighting toggle and scrolling - Improved feature control synchronization

🔧 Parser Enhancements - Full contextual substitution and positioning support (GSUB Type 6, GPOS Type 7/8) - 91 passing tests with comprehensive validation

🛠️ Build System - Streamlined Makefile commands - Aligned local and CI/CD build processes - macOS-specific build documentation

Version 0.1.0 (9th January 2026) → First Alpha Release.

Download:

Version 0.2.0 - Public Beta Release:

For Linux (amd64)

AppImage .deb .rpm

For Windows

.msi Setup.exe

For macOS (Universal for Both Apple Intel and Apple Silicon M1/M2/M3)

.app.zip .dmg

View for details on installing.

Tech Stack:

✅ Completed Features

🚧 Planned

Quick Start

Prerequisites

Rust 1.70+ (MSRV), Cargo, platform deps (see Tauri guide)

Linux (GTK/WebKit):

# Debian/Ubuntu
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
  build-essential \
  curl \
  wget \
  file \
  libxdo-dev \
  libssl-dev \
  libayatana-appindicator3-dev \
  librsvg2-dev
# Fedora
sudo dnf check-update
sudo dnf install webkit2gtk4.1-devel \
  openssl-devel \
  curl \
  wget \
  file \
  libappindicator-gtk3-devel \
  librsvg2-devel \
  libxdo-devel
sudo dnf group install "c-development"

Build & Run

A Makefile is provided to simplify development and build tasks.

Build for Production:

git clone https://gitlab.com/mitradranirban/offed.git
cd offed
make build

Development (Two options):

Sequential (Automatic): Launches the UI server in a background terminal and then starts the desktop app.

make devel

Manual (Split Terminals):

Terminal 1: Run UI Development Server

make dev-ui

Terminal 2: Run Desktop App

make dev

Testing

Run all workspace tests (fontc pipeline + parsing)

make test

Code Quality

Format code* make fmt

Check for errors and clippy warnings make check

Project Structure

offed/
├── crates/
│   ├── offed-core/           # UFO/FEA models (GSUB/GPOS builders DEPRECATED)
│   ├── offed-tauri/          # Tauri backend
│   │   └── binaries/fontc    # 🔥 Embedded fontc compiler binary
│   ├── offed-wasm/           # Leptos UI (previews use rustybuzz + TTF)
│   └── offed-tests/          # Test utils
├── docs/                     # Architecture + FEA guide
├── examples/                 # Sample FEA/UFO
└── Cargo.toml                # Workspace

Compilation Workflow

  1. Edit: Modify UFO glyphs/layers or FEA features in UI
  2. fontc Sidecar: offed-tauri spawns binaries/fontc with UFO + FEA inputs
  3. TTF Output: Complete TTF generated incrementally
  4. Preview: rustybuzz loads TTF for real-time shaping display
  5. Export: Save TTF via native dialog

Legacy Note: Direct GsubBuilder/GposBuilder usage is deprecated. Route all compilation through fontc calls.

Architecture

Three Layers: 1. Core (offed-core): Pure Rust models (UFO/FEA) 2. Tauri Backend (offed-tauri): FS access + fontc orchestration 3. WASM UI (offed-wasm): Reactive editor + rustybuzz canvas

Fontc runs natively in Tauri process; TTF streams to WASM for previews. See ARCHITECTURE.

Performance

License

MIT Licence See LICENSE.

Acknowledgments