- Remove erroneous
core::*
reexport
- Fix documentation build failures in Docs.rs's environment
- Expose
Glyph
andKerning
types fromkeyset-font
- Refactor of
Font
andGlyph
types, allow for lazy font parsing for improved performance - Store references in
drawing::Options
instead of cloning data internally Color
now usesf32
internally rather thanu16
- Added new
Legends
type to wrap around previous[[Option<Legend>; 3]; 3]
arrays and allow for easier conversion to[Option<Legend>; 9]
, etc - Added JSON profile file support
- Improve documentation for large parts of the public API (still incomplete though)
- Major internal refactoring, by moving to a workspace-based structure and splitting this crate into multiple smaller subcrates
- Expose
Drawing
type in public API
- New default font size which better matches KLE
- Automatic squishing of legends that don't otherwise fit (and associated warning)
- Add PNG, PDF, and AI output formats
- Rework of
key
module - Removed
layout
module andLayout
struct in favour of directly usingVec<Key>
- Move all KLE import functionality to separate crate: kle-serial
- Remove all internal geometry primitives and instead rely on kurbo
- Major rewrite of
drawing
module to be generic over different output formats
- Fix bug in ISO enter positioning (or more generally keys with negative
x2
ory2
in KLE)
- Simplify some KLE parsing logic.
- Reduce the number of 2D vector/rectangle types.
- Don't emit a ton of
NaN
s when a font doesn't set caps- or x-height.
- Initial release.
- Support parsing TTF and OTF font files.
- Support updated version of pykeyset's TOML profile format, with the following changes:
- Uses direct mapping of KLE font sizes to diagram font sizes/margins.
- Uses
homing.bump.diameter
instead ofhoming.bump.radius
.
- Remove key top gradients as they weren't very pretty.