Skip to content

Pangpang-Studio/monoxide

Repository files navigation

monoxide

A love letter to Iosevka.

Monoxide is an experimental project to build a monospaced typeface in Rust.

The immediate goal of monoxide is to create a typeface that can be used by its makers to code monoxide itself.

After all, who doesn't love the ouroboros?

So far, we have achieved the first working version of:

  • A Rust-based eDSL to describe the typeface design.
  • A backend that can generate real TTF files.
  • A hot-reloadable playground powered by Axum and Vue to enable editing the design and previewing the results in real time.
  • An expanding set of glyphs that will hopefully cover our basic programming needs soon™.

Prerequisites

Please make sure you have the following installed on your machine:

  • A recent Rust toolchain for most of the project.
    • dx v0.7+ is recommended for enabling live programming with subsecond-based hotpatching. Whenever possible, use the same dx version as monoxide's dioxus-devtools dependency.
  • PNPM for the JavaScript part of the project, namely the WebUI.

Development

Launching the playground is as simple as:

> pnpm i
> cargo xtask dev

If you want to develop the WebUI at the same time, run:

> cargo xtask dev --also-webui

And if you want to edit the Rust part outside of monoxide-font:

> cargo xtask dev --watch

See cargo xtask dev --help for more knobs to tweak.

Distribution

To generate a TTF file from the current design, run:

> cargo run

To generate a static playground build for e.g. GitHub Pages, run:

> cargo xtask ssg

About

[WIP] A typeface formed out of oxidation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors