Skip to content

Latest commit

 

History

History
79 lines (51 loc) · 2.63 KB

CHANGELOG.md

File metadata and controls

79 lines (51 loc) · 2.63 KB

Change Log

Fixes

  • Remove erroneous core::* reexport

Fixes

  • Fix documentation build failures in Docs.rs's environment

Changes

  • Expose Glyph and Kerning types from keyset-font
  • Refactor of Font and Glyph types, allow for lazy font parsing for improved performance
  • Store references in drawing::Options instead of cloning data internally
  • Color now uses f32 internally rather than u16
  • 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

Changes

  • Expose Drawing type in public API

New features

  • 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

Changes

  • Rework of key module
  • Removed layout module and Layout struct in favour of directly using Vec<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

Fixes

  • Fix bug in ISO enter positioning (or more generally keys with negative x2 or y2 in KLE)

Changes

  • Simplify some KLE parsing logic.
  • Reduce the number of 2D vector/rectangle types.

Fixes

  • Don't emit a ton of NaNs when a font doesn't set caps- or x-height.

New

  • 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 of homing.bump.radius.
  • Remove key top gradients as they weren't very pretty.