Skip to content

Releases: alexheretic/glyph-brush

0.5.0

29 Sep 13:02
0.5.0
Compare
Choose a tag to compare
  • Allow sections with multiple diverse font/scale/color parts within the same layout & bounds.
    • New VariedSection available, see varied example.
  • A single GlyphBrush can now support multiple fonts in a single GPU texture-cache.
  • Improve Layout to be more flexible to change when using non-default.
    • E.g. let layout = Layout::default().h_align(HorizontalAlign::Right)
  • Remove generics from Section.
  • Improve glyph fragment shader to discard when alpha is zero. This improves out-of-order transparency of glyph holes, demonstrated in the depth example.
  • Remove changelog from readme.

0.4.2

26 Sep 17:10
0.4.2
Compare
Choose a tag to compare

I'm going to use github releases as a changelog from now on.

  • Accept generic gfx depth formats, e.g DepthStencil

Previous changes

0.4

  • Support depth testing with configurable gfx depth test (via GlyphBrushBuilder::depth_test).
    • Sections now have a z value to indicate the depth.
    • Actual depth testing is disabled by default, but a reference to the depth buffer is now required to draw.
  • Streamline API for use with built-in Layouts, while still allowing custom layouts.
    • Built-in layouts are now a member of Section.
    • Custom layouts can still be used by using GlyphBrush::queue_custom_layout method instead of queue.
    • Section<'a, L> are now generic to allow pluggable LineBreaker logic in the layout. This is a little unfortunate for the API surface.
  • Remove unnecessary OwnedSection and StaticSection to simplify the API.
  • pixel_bounding_box renamed to pixel_bounds & pixel_bounds_custom_layout
    • These now return Option<_> to handle the bounds of 'nothing' properly
  • GlyphBrushBuilder gpu_cache_position_tolerance default reduced to 0.1 (from 1.0)

0.3

  • Use Into<SharedBytes> instead of explicit &[u8] for font byte input to improve flexibility.

Notable non-breaking changes:

  • 0.3.2
    • Move fixed GPU caching logic into crate replacing rusttype::gpu_cache
    • Section & StaticSection implement Copy
  • 0.3.3
    • Fix another GPU caching issue that could cause missing glyphs
    • Fix a layout issue that could miss a character immediately preceding EOF
    • Optimise GPU cache sorting performance

0.2

  • Adopt default line breaking logic according to the Unicode Standard Annex #14 with StandardLineBreaker (included in Layout::default()). A LineBreaker implementation can be provided instead of using one of these.