[Text] Implement Unicode word segmentation and update to Unicode v17 - #21361
Conversation
|
I truly appreciate this. Thank you. |
|
|
@cla-avalonia agree |
|
You can test this PR using the following package version. |
|
You can test this PR using the following package version. |
|
You can test this PR using the following package version. |
|
You can test this PR using the following package version. |
Gillibald
left a comment
There was a problem hiding this comment.
Thanks again for this contribution. LGTM
…valoniaUI#21361) * Add word break support and use it for ellipsis * Regenerate Unicode text-formatting data to v17 and fix issues --------- Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com> Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
What does the pull request do?
I thought I'd spread the .NET community love a little and supply some fixes for things I know.
This PR updates Avalonia’s Unicode data generation to Unicode 17 and regenerates the affected Unicode trie/source files.
It also adds Unicode 17 grapheme support for Indic conjunct breaks, using the existing Avalonia grapheme trie storage, and updates the grapheme enumerator for GB9c.
I aligned line breaking behavior with the Unicode 17 data and provides fixes, including LB9 folding, quotation handling, Hebrew hyphen behavior, Aksara rules, and emoji modifier cases.
Validation run locally in Release:
I've tried to match existing style as much as possible and added inline comments where applicable. I was very tempted to simply replace your
LineBreakEnumeratorimplementation with the one from SixLabors.Fonts but didn't want to add too many changes.Checklist
Breaking changes
Obsoletions / Deprecations
Fixed issues
Fixes #16524