kerams
fd1138fa8e
Use epsilon-aware greater than in TextLine and TextFormatter ( #20650 )
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
1 month ago
Benedikt Stebner
b30254ae4a
Introduce PathSegmentEllipsis TextTrimming ( #20077 )
* Introduce PathSegmentEllipsis TextTrimming
* Adjust fallback
* Second rework
* Add some tests
* Minor adjustments
* Adjust SplitResult usage
* Update MainWindow.axaml
Remove sample
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* More adjustments
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Use the correct width
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
4 months ago
Benedikt Stebner
9b3d1e1966
Properly handle in cluster ShapedBuffer split ( #19090 )
* Properly handle in cluster ShapedBuffer split
* Allow ShapedBuffer split for empty text length
---------
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
9 months ago
Benedikt Stebner
4ae0184726
Fix TextWrapping in combination with TextEndOfLine runs ( #18523 )
1 year ago
Compunet
7638a61518
Get trailing whitespace length from glyph run metrics ( #17960 )
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
1 year ago
Compunet
7071c7a8d6
Reset bidi levels of trailing whitespace after text wrapping (According to TR9 guidelines) ( #17924 )
* Reset bidi levels of trailing whitespaces to paragraph embedding level after text wrapping
* Added unit tests
1 year ago
Benedikt Stebner
a562c4e4e5
Improve TextTrimming customization experience ( #16521 )
* Add some hack
* Make some helper APIs public for easier TextTrimming customization
2 years ago
Herman K
88967de49e
Ability to configure font features ( #14157 )
* Ability to configure font features
* Minor adjustments
---------
Co-authored-by: Herman Kirshin <herman.kirshin@jetbrains.com>
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
2 years ago
Benedikt Stebner
2a7b5568b7
Make sure non text runs are properly ordered by the bidi reorder logic ( #14183 )
2 years ago
Benedikt Stebner
bbe4ad8755
Fix TextWrapping for all modes when nothing fits into a line ( #13241 )
* TextFormatter freeze repro
* Fix emergency text wrapping for all wrapping modes
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
2 years ago
Benedikt Stebner
ba3773714b
Fix text wrapping for languages like chinese that can break at all characters and not just at spaces ( #13193 )
2 years ago
Benedikt Stebner
b83a5eb8b7
[Text] Fix hit testing issues ( #13155 )
* Repro for Line_Formatting_For_Oversized_Embedded_Runs_Does_Not_Freeze
* Repro for Line_With_IncrementalTab_Should_Return_Correct_Backspace_Position
* Fix GetBackspaceCaretCharacterHit
Fix GetPreviousCaretCharacterHit
Fix WrapWithOverflow for not text runs
* Fix custom font manager
* Move DejaVuSans to a different location to prevent using it as a fallback
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
2 years ago
Benedikt Stebner
cc507ba359
Handle extra lines during hit testing
3 years ago
Benedikt Stebner
2f67ca23f9
Fix emergency text wrapping for some unicode sequences
3 years ago
Benedikt Stebner
82c86010c1
Fix Windows IME
Fix TextWrapping for glyph cluster boundaries when an emergency break is taken
Remove redudant TextLayout creation for the TextBlock.ArrangeOverride
3 years ago
Giuseppe Lippolis
02983e3c1e
fix: Misc XML Document issue
3 years ago
Benedikt Stebner
edbfd96b2d
Simply ShapedBuffer GlyphInfos access
3 years ago
Benedikt Stebner
14fba2e53a
Rework HitTestTextRange
3 years ago
Benedikt Stebner
743e1fa040
Fix WrapWithOverflow handling for textlines that contain TextEndOfParagraph runs
3 years ago
Benedikt Stebner
3f6cb82241
Add failing test
3 years ago
Julien Lebosquain
5ffd961742
Perf: improved text wrapping
3 years ago
Julien Lebosquain
a24e48f105
Text layout: ensure RentedList are returned in case of exceptions
3 years ago
Julien Lebosquain
f951929d54
Perf: improved CodepointEnumerator
3 years ago
Julien Lebosquain
63f6ef63af
Perf: pass FontManager and typefaces around during text layout
3 years ago
Julien Lebosquain
10a3b79d12
Perf: various misc text layout optimizations
3 years ago
Julien Lebosquain
89a78f557b
Don't keep the text layout buffers around if they're too large
3 years ago
Julien Lebosquain
91f89c5176
Added FormattingObjectPool to reduce temp allocs during text layout
3 years ago
Julien Lebosquain
4144be11fe
Pass GlyphInfo directly to GlyphRun
3 years ago
Julien Lebosquain
290c8fe169
Removed most allocations for BidiReorder
3 years ago
Julien Lebosquain
076d10fcaf
BiDiAlgorithm and BiDiData instances are reusable
3 years ago
Julien Lebosquain
658fd804af
Removed some temporary List<T> from text layout
3 years ago
Julien Lebosquain
dec8c1c586
Used Memory/Span instead of CharacterBufferReference/Range
+ GlyphRun uses ReadOnlyMemory for characters
3 years ago
Sergey Mikolaitis
8ece18c53d
[Text] optimize CoalesceLevels alloc
3 years ago
Sergey Mikolaitis
ae8e6cc120
[Text] [Optimization] [Alloc] Bidi Pooling
3 years ago
Benedikt Stebner
a5ee7ebde8
Resolve conflicts
3 years ago
Sergey Mikolaitis
5fef8af151
[Text] [Rename] ShapeableTextCharacters to UnshapedTextRun and ShapedTextCharacters to ShapedTextRun
3 years ago
Benedikt Stebner
9f309415c1
Allow to process non text TextRuns
Add TextEndOfLine to a TextLine's TextRuns
3 years ago
Benedikt Stebner
895d85aa89
Implement CharacterBufferReference and related classes
3 years ago
Benedikt Stebner
17b2834d21
Implement letter spacing
3 years ago
Benedikt Stebner
0aff57a716
Prevent a crash that is caused by typefaces that don't contain whitespace glyphs
3 years ago
Benedikt Stebner
93b77b1b6a
Move inlines support to TextBlock and rename RichTextBlock to SelectableTextBlock
3 years ago
Benedikt Stebner
77e32f4bbe
Update to Unicode 14
4 years ago
Benedikt Stebner
a408ea10d7
Some Progress
4 years ago
Benedikt Stebner
6502fa1ef7
More TextAlignment fixes
4 years ago
Benedikt Stebner
d26a989406
Add more alignment options
4 years ago
Benedikt Stebner
a794d1765a
Initial implementation of TextAlignment.Justify
4 years ago
Benedikt Stebner
69f9e017f3
Fix text selection
Fix empty line RTL inital caret position
4 years ago
Benedikt Stebner
005907a93b
More hit testing fixes for embedded content runs
4 years ago
Benedikt Stebner
3e6bc0b48d
Some more hit testing fixes
4 years ago
Benedikt Stebner
050ac5fbba
Fix line metrics for empty lines that are processed by TextWrapping
4 years ago