egui/crates/epaint/CHANGELOG.md
Emil Ernerfeldt 29fa63317e
Fix text sizes being too small (#2069)
Closes https://github.com/emilk/egui/issues/2068

Before this PR, the default font, Ubuntu-Light, was ~11% smaller
than it should have been, and the default monospace font, Hack,
was ~14% smaller. This means that setting the font size `12` in egui
would yield smaller text than using that font size in any other app.
Ooops!

The change is that this PR now takes into account the ttf properties
`units_per_em` and `height_unscaled`.

If your egui application has specified you own font sizes or text styles
you will see the text in your application grow
larger, unless you go in and compensate by dividing all font sizes by
~1.21 for Ubuntu-Light/Proportional and ~1.16 for Hack/Monospace,
and with something else if you are using a custom font!
This effects any use of `FontId`, `RichText::size`, etc.

This PR changes the default `Style::text_styles` to compensate,
so the default egui style should look the same before and after this PR.
2022-09-21 21:31:08 +02:00

4.4 KiB

epaint changelog

All notable changes to the epaint crate will be documented in this file.

Unreleased

  • ⚠️ BREAKING: Fix text being too small (#2069).

0.19.0 - 2022-08-20

  • MSRV (Minimum Supported Rust Version) is now 1.61.0 (#1846).
  • Added epaint::hex_color! to create Color32's from hex strings under the color-hex feature (#1596).
  • Optimize tessellation of filled circles by 10x or more (#1616).
  • Added opt-in feature deadlock_detection to detect double-lock of mutexes on the same thread (#1619).

0.18.1 - 2022-05-01

  • Change Shape::Callback from &dyn Any to &mut dyn Any to support more backends.

0.18.0 - 2022-04-30

  • MSRV (Minimum Supported Rust Version) is now 1.60.0 (#1467).
  • Added Shape::Callback for backend-specific painting (#1351).
  • Added more text wrapping options (#1291):
    • Added TextWrapping struct containing all wrapping options.
    • Added LayoutJob::wrap field containing these options.
    • Moved LayoutJob::wrap_width to TextWrapping::max_width.
    • Added TextWrapping::max_rows to limit amount of rows the text should have.
    • Added TextWrapping::break_anywhere to control should the text break at appropriate places or not.
    • Added TextWrapping::overflow_character to specify what character should be used to represent clipped text.
  • Removed the single_threaded/multi_threaded flags - epaint is now always thread-safe (#1390).
  • Tessellator::from_options is now Tessellator::new (#1408).
  • Renamed TessellationOptions::anti_alias to feathering (#1408).
  • Renamed AlphaImage to FontImage to discourage any other use for it (#1412).
  • Dark text is darker and more readable on bright backgrounds (#1412).
  • Fixed panic when tessellating a Shape::Vec containing meshes with differing TextureIds (#1445).
  • Added Shape::galley_with_color which adds the functionality of Painter::galley_with_color into the Shape enum (#1461).
  • Renamed the feature convert_bytemuck to bytemuck (#1467).
  • Renamed the feature serialize to serde (#1467).
  • Added line breaking rules for Japanese text (#1498).
  • Optimize tessellation of circles and boxes with rounded corners (#1547).

0.17.0 - 2022-02-22

  • Much improved font selection (#1154):
    • Replaced TextStyle with FontId which lets you pick any font size and font family.
    • Replaced Fonts::font_image with font_image_delta for partial font atlas updates.
  • Made the v-align and scale of user fonts tweakable (#1241).
  • Added ImageData and TextureManager for loading images into textures (#1110).
  • Added Shape::dashed_line_many (#1027).
  • Replaced corner_radius: f32 with rounding: Rounding, allowing per-corner rounding settings (#1206).
  • Fixed anti-aliasing of filled paths with counter-clockwise winding order.
  • Improve the anti-aliasing of filled paths with sharp corners, at the cost of these corners sometimes becoming badly extruded instead (see https://github.com/emilk/egui/issues/1226).

0.16.0 - 2021-12-29

  • Anti-alias path ends (#893).
  • Rgba now implements Hash (#886).
  • Renamed Texture to FontImage.

0.15.0 - 2021-10-24

  • Fonts::layout_job: New text layout engine allowing mixing fonts, colors and styles, with underlining and strikethrough.
  • New CircleShape, PathShape, RectShape and TextShape used in enum Shape.
  • Added support for rotated text (see TextShape).
  • Added "convert_bytemuck" feature.