OFFED - Open(type) Fea(ture) File EDitor for Linux Desktop

mitradranirban
mitradranirban Posts: 123
edited January 10 in Type Design Software
Offed is an Open source modern desktop dedicated editor for OpenType feature file (FEA), with parsing, validating,   incremental compilation and instant shaping preview.It is written in Rust with a Tauri shell and Leptos UI. 


First Alpha Release is currently available for Linux desktops, and planning to be made available for Windows soon

  Completed Features include

UFO Font Loading: Full UFO 3/4 support via norad (native backend)
FEA Parser and Validator : Complete OpenType Feature File parsing with Pest grammar + AST, validates script, language, feature name matching with OpenType Spec
Fontc Compilation Pipeline: incremental UFO + FEA → TTF generation
TTF Export: Complete pipeline for production fonts
Rustybuzz Previews: Live shaping using freshly compiled TTFs
Tauri Desktop App: Native menus, file dialogs, IPC
Leptos UI: 4-pane editor, glyph canvas, feature trees, error display, resizable panes and a flexible grid layout using Tailwind CSS.
Spec Compliance: Updated OpenType registries to spec 1.9.1, including 187 script tags, 680 language tags (ISO 639-3), and 126 feature tags
UI Based system  - to add script, language, feature and lookups to feature file

 
Any feedback welcome on my largest (till date) vibe coded project. 

Comments

  • mitradranirban
    mitradranirban Posts: 123
    edited January 25
    Version 0.2.0 of Offed OpenType Feature File Editor is now available from https://fonts.atipra.in/offed.html

    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 
    I have also made an youtube video on its use youtu.be/dPBYjrTQxzo 
  • John Hudson
    John Hudson Posts: 3,592
    There’s a typo in the link (.com instead of .in). Correct link is
    https://fonts.atipra.in/offed.html
  • John Hudson
    John Hudson Posts: 3,592
    Mac version does not run (tried both app and dmg downloads.


  • mitradranirban
    mitradranirban Posts: 123
    edited January 25
    There’s a typo in the link (.com instead of .in). Correct link is
    https://fonts.atipra.in/offed.html
    Thanks. Corrected the link. 
    As per non usable macOS binary is concerned, they are created using github runners, as I am unaware of Mac ecosystem. ( The last and only time I touched a mac was way back in 1996, when Kolkata opened its first cybercafe, and I spent a princly sum of ₹60 for a 30 minute session of web browsing in Netscape Navigator, just out of curiosity to know what the 'internet' thing is all about).

    If the instructions in https://fonts.atipra.in/offed-install.html does not work, then I am afraid the only option is to build from source.
  • This is from https://discussions.apple.com/thread/253714860 

    "When an application gets downloaded from any source other than those that Apple seems suited, the application gets an extended attribute "com.apple.Quarantine". This triggers the message: "<application> is damaged and can't be opened. You should move it to the Bin." you can remove the attribute and you can launch the application. To do this, open a console and type: 

    $ xattr -c <path/to/application.app> "

    To summarize, if you don't pay Apple $99 per year, your app is considered damaged for Mac. 

  • John Hudson
    John Hudson Posts: 3,592
    That’s not the typical behaviour of the quarantine flag. The usual behaviour is a pop-up that reads 

    This is an application downloaded from the Internet. Are you sure you want to open it?

    I have never seen the message about the app being damaged before. This looks more like a data verification issue.
  • Hi John, the ‘<app name> is damaged and can’t be opened’ message can be caused by actual damage to the application bundle, but it may also be triggered by missing or invalid code signing.

    As far as I know, in the case of ‘This is an application downloaded from the Internet. Are you sure you want to open it?’, the app has already passed Gatekeeper’s initial checks, which typically implies that it is properly code-signed.

    The command xattr -c <path/to/application.app>, as posted by mitradranirban, is a bit blunt, since it clears (-c) all extended attributes attached to the app bundle (although this rarely causes problems). However, if the goal is only to remove the quarantine attribute, this can be done more precisely and recursively using: xattr -dr com.apple.quarantine <path/to/application.app>.
  • mitradranirban
    mitradranirban Posts: 123
    edited February 1
    In view of difficulties in installing unsigned binaries as well as Intel Mac users query regarding the app I have made the Mac Binary Universal, which will work in both Intel Mac as well as apple silicone M1/M2/M3 , and made it installable through homebrew, which will remove the quarantine attribute as suggested by @LeMo aka PatternMan aka Frank E Blokland and hopefully allow the app to run
    brew tap mitradranirban/tap
    brew install --cask offed