Add TextLayout
core provider, remove / migrate old text provider implementation
#8574
Milestone
TextLayout
core provider, remove / migrate old text provider implementation
#8574
RTL, BiDi, justification, line height, letter spacing, emojis, font fallback, ellipses, line breaking, max lines ...
Oh, what a mess.
Handling text and layouting it correctly, taking care of the needs of all the different scripts and languages from all around the world is not an easy task. But is something we certainly need to have to grow as a framework, and support all the communities around the world.
Over the years, we stratified a pile of workarounds on top of our
Text
core provider, docs, and unofficial guides with different levels of success. But, was not straightforward, not well integrated, and our users were expecting these features just out-of-the box.The
TextLayout
core provider will offer an abstraction that can be used as a bridge between theTextLayout
implementation and the widgets that need to lay out a text.A
TextLayout
implementation can decide (and advertise) to not conform to all the methods. This will make it possible for our users to keep using non-fully compliant implementations if the fully compliant one is too huge for their use case, or not available on their target platform.ATM (will update this issue as things evolve) , we're investigating using
Skia/SkParagraph
as the defaultTextLayout
implementation.Related issues to consider:
letter-spacing
to Kivy #8395Kivy
#8394Line-height
is not taken in to account in one liner text #8398The text was updated successfully, but these errors were encountered: