Files
mcufont/Cargo.toml
T
swaitsandClaude Opus 4.7 784658e5c6 Initial release: mcufont 0.1.0
Faithful Rust port of Maurycy's mcufont.h — a 5x5 monospace pixel
font (~350 bytes of bitmap data) covering A-Z, a-z, 0-9, and the
punctuation set - + . , ? ! : = '.

- no_std, forbid(unsafe_code), zero deps with default features.
- Public glyph tables (UPPER / LOWER / DIGITS / SYMBOLS), SYM_*
  index constants, and a glyph(c: char) lookup.
- Each glyph row is packed in bits 7..=3 MSB-first so the bytes
  are byte-for-byte compatible with embedded_graphics::ImageRaw.
- Optional `embedded-graphics` feature exposes MCU_FONT
  (MonoFont<'static>), FONT_DATA, and McuGlyphMapping for drop-in
  use with MonoTextStyle / Text on any DrawTarget (SSD1306 over
  I²C, ST7735, etc.).
- Per-category feature flags (upper / lower / numbers / symbols,
  all on by default) so users can drop unused glyphs from flash.

Licensed CC BY-NC-SA 4.0, inherited from the upstream font data.
An email is out to the upstream author asking for a permissive
software license (MIT / Apache-2.0); if granted, the crate will
be relicensed and a new version published.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 13:36:29 -06:00

27 lines
816 B
TOML

[package]
name = "mcufont"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
description = "Tiny 5x5 monospace pixel font for microcontrollers — Rust port of Maurycy's mcufont, with optional embedded-graphics integration"
license = "CC-BY-NC-SA-4.0"
keywords = ["font", "embedded", "no-std", "pixel", "embedded-graphics"]
categories = ["embedded", "no-std", "graphics"]
readme = "README.md"
include = ["src/**/*", "Cargo.toml", "README.md", "CHANGELOG.md", "LICENSE"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["upper", "lower", "numbers", "symbols"]
upper = []
lower = []
numbers = []
symbols = []
embedded-graphics = ["dep:embedded-graphics"]
[dependencies]
embedded-graphics = { version = "0.8", optional = true, default-features = false }