1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

TextLayout: Use new shaping engine

By utilising ShapedText in the TextLayout implementation.
This commit is contained in:
Oliver James 2024-05-01 12:14:12 +01:00 committed by attila
parent 30daa356ca
commit 03e79f8f12
3 changed files with 164 additions and 275 deletions

View file

@ -2,6 +2,38 @@
# Version 8.0.0
## Change
As part of the Unicode upgrades the vertical alignment logic of TextLayout has
been altered. Lines containing text written in multiple different fonts will
now have their baselines aligned. Additionally, using the
Justification::verticallyCentred or Justification::bottom flags may now result
in the text being positioned slightly differently.
**Possible Issues**
User interfaces using TextLayout with texts drawn using multiple fonts will now
have their look changed.
**Workaround**
There is no workaround.
**Rationale**
The old implementation had incosistent vertical alignment behaviour. Depending
on what exact fonts the first line of text happened to use, the bottom alignment
would sometimes produce unnecessary padding on the bottom. With certain text and
Font combinations the text would be drawn beyond the bottom boundary even though
there was free space above the text.
The same amount of incorrect vertical offset, that was calculated for bottom
alignment, was also present when using centred, it just wasn't as apparent.
Not having the baselines aligned between different fonts resulted in generally
displeasing visuals.
## Change
The virtual functions LowLevelGraphicsContext::drawGlyph() and drawTextLayout()