Files
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

45 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Pending
- **Relicense.** An email is out to the upstream author requesting a
permissive software license (MIT / Apache-2.0) on the original C
source. If granted, this crate will be relicensed and the next release
will reflect the new terms. Until then, CC BY-NC-SA 4.0 applies.
## [0.1.0] - 2026-04-29
### Added
- Initial release. Faithful Rust port of Maurycy's `mcufont.h`
(<https://maurycyz.com/projects/mcufont/>) — a 5×5 monospace pixel
font, ~350 bytes of bitmap data, covering `A–Z`, `a–z`, `0–9`, and
`- + . , ? ! : = '`.
- `no_std`, `forbid(unsafe_code)`, zero dependencies with default
features.
- Public glyph tables: `UPPER`, `LOWER`, `DIGITS`, `SYMBOLS`.
- `glyph(c: char) -> Option<&'static Glyph>` lookup function.
- `SYM_*` index constants for direct symbol-table access.
- Feature flags: `upper`, `lower`, `numbers`, `symbols` (all on by
default) — disable individually to save flash.
- Optional `embedded-graphics` feature exposing `eg::MCU_FONT`
(`MonoFont<'static>`), `eg::FONT_DATA`, and `eg::McuGlyphMapping` for
drop-in use with `MonoTextStyle` / `Text` on any `DrawTarget`
(SSD1306 over I²C, ST7735, etc.).
- Glyph bytes packed in bits 7..=3 (MSB-first), bits 2..=0 zero —
layout matches `embedded_graphics::image::ImageRaw` so the same data
serves both APIs.
### Licensed under
- CC BY-NC-SA 4.0 (inherited from the upstream font data; see
`LICENSE`). Non-commercial use only, ShareAlike. See README for
implications and the pending relicense note.