Audrey Dutcher
c5a5913981
re-export fontdb
2023-01-04 18:41:26 -07:00
Audrey Dutcher
58d292a6f1
Add FontSystem::into_locale_and_db for std system
2023-01-04 18:41:26 -07:00
Audrey Dutcher
92b3758909
Add ExactSizeIterator impl for LayoutRunsIter
2023-01-04 18:41:26 -07:00
Audrey Dutcher
06ad8ff7fb
run cargo check next time thx
2023-01-04 18:41:26 -07:00
Audrey Dutcher
5533af1a53
Add FontSystem::new_with_locale_and_db for std system
2023-01-04 18:41:26 -07:00
Audrey Dutcher
cd15418315
Add BufferLine::into_text
2023-01-04 18:41:26 -07:00
Andrew Wheeler
8614a7a398
Updated RangeMap to Add Clear().
2022-12-30 08:33:00 -07:00
Hojjat
b9fef72f76
Added an enum with the option for "No Wraping"
2022-12-20 13:38:34 -07:00
Hojjat
48087b592b
Updated Doc String
2022-12-20 13:37:21 -07:00
Hojjat
1454a53b21
Glyph based wrapping implemeted
2022-12-20 04:48:53 -07:00
Hojjat
a4ed73b664
Simplify the layout algorithm
2022-12-20 04:48:53 -07:00
Hojjat
1bc476c06e
This solves a few bugs:
...
Fixes long words in BiDi text.
Fixes issues with small text area and large font (no duplicates)
But I feel I need to rewirte this function. It's too convluted and ugly
2022-12-20 04:48:53 -07:00
Hojjat
499e6ccb06
Bug fix: duplicate lines in specific conditions.
2022-12-20 04:48:53 -07:00
Hojjat
8beeca2822
Fix duplicate visual lines when a word is too long
...
Words longer than the linewidth used to show up duplicated
2022-12-20 04:48:53 -07:00
Hojjat
e38a302599
Make ShapeWord::x/y_advance pub
2022-12-20 04:48:53 -07:00
Hojjat
25a3367ef9
Turn a consequtive whitespaces into separate words
...
Currently a sequence like this "hello " (a word followed by
6 spaces). Would be shaped into two words: ["hello " , " "]
This causes issues, since the first word is only 5 letters long, not 10
This commit will break this sequence into:
["hello", " ", " ", " ", " ", " ", " "]
This helps with correct line wrappipng
2022-12-20 04:48:53 -07:00
Hojjat
3ef56b7112
Ignore the last space when wrapping.
2022-12-20 04:48:53 -07:00
Hojjat
cb958c63f8
Clean up
2022-12-20 04:48:53 -07:00
Hojjat
089a926615
Bidi reordering works with wrapping.
2022-12-20 04:48:53 -07:00
Héctor Ramón Jiménez
034c5248d9
Replace unless ... not with simply if ... in docs
2022-12-16 13:50:40 -07:00
Héctor Ramón Jiménez
be6dea75a8
Clarify when to use x_offset and y_offset in LayoutGlyph
2022-12-16 13:50:40 -07:00
Héctor Ramón Jiménez
01f6c1fd89
Expose subpixel offsets in LayoutGlyph
2022-12-16 13:50:40 -07:00
Jeremy Soller
ba39c81656
Fix no_std compilation
2022-12-15 14:31:19 -07:00
Héctor Ramón Jiménez
be4dc2749c
Fix line width in LayoutLine for RTL
2022-12-15 11:17:54 -07:00
Héctor Ramón Jiménez
67950724c3
Add line width field to LayoutLine
2022-12-15 11:17:54 -07:00
Héctor Ramón Jiménez
652543f9aa
Implement method to obtain glyph outlines
...
This is useful for drawing text with non-bitmap based renderers (e.g. vectorial, tessellators, etc.).
2022-12-14 23:45:45 -07:00
Jeremy Soller
8bf0032974
Add custom metadata to Attrs, copied to ShapeGlyph and LayoutGlyph
2022-12-14 09:19:03 -07:00
Jeremy Soller
f5968c4c37
Only do glyph wrapping if wrap_simple is enabled
2022-12-13 09:23:35 -07:00
Jeremy Soller
dd94bc634b
Do not wrap empty lines
2022-12-08 11:33:36 -07:00
Jeremy Soller
3d60d55309
Add comment for last change
2022-12-08 10:35:13 -07:00
Jeremy Soller
a30576e1eb
Skip blank words at start of line
2022-12-08 10:31:44 -07:00
Jeremy Soller
05d97f0f3a
Make noto color emoji have a higher preference for fallback
2022-12-02 08:41:38 -07:00
Hojjat
cd64388451
Added BiDi example to demonstrate reordering works
...
and disabled `wrap simple` since it's not working properly.
2022-12-02 08:30:16 -07:00
Hojjat
c344eec936
This fixes the bidi layout issue.
...
Needs more testing and cleaning up the previous algorithm.
2022-12-02 08:30:16 -07:00
Jeremy Soller
2342bf0eae
Add more vi commands
2022-11-21 15:49:12 -07:00
Jasper Bekkers
6249b0e037
🍮 Add custom font support ( #43 )
...
* 🍮 Add custom font support
* Revert incorrect change
2022-11-21 04:36:18 -07:00
Jeremy Soller
ee54e7626b
Vi-style editor and other editor improvements ( #40 )
...
* WIP VI wrapper for editor
* WIP: block cursor
* Create Edit trait, run CI on all feature options
* Add prints describing build steps to ci.sh
* Custom rendering for Vi editor
* Clippy fixes
* More clippy fixes
* Show clippy results in CI
* Fix for Redox
* Fix clippy lint
* Add vi feature to enable vi-style editor
* Add escape to libcosmic text box
2022-11-15 12:26:59 -07:00
Andrew Wheeler(Genusis)
271ca5cf7a
Converted attr range to use RangeMap BTree ( #41 )
...
* Converted attr range to use RangeMap BTree
* Change get_span() to use First index instead of range.
* update doc comment
2022-11-14 11:05:34 -07:00
Hojjat
b253800383
Add Padding to the TextBox ( #36 )
...
* WIP: initial text-margin support
* Fix the selection issue when clicking the margins
* Move the margin size into the main
* using padding, consistent with iced text_input
* Added top and bottom margin
* bugfix: selection starting from the top margin works
* bugfix: left half of first glyph was being ignored
2022-11-10 11:55:12 -07:00
Jeremy Soller
bbe7d77b7b
Improvements to syntax editor, integrate with libcosmic editor
2022-11-09 10:44:51 -07:00
Jeremy Soller
1663bfc96c
Add SyntaxEditor abstraction using optional synect feature
2022-11-09 10:09:42 -07:00
Jeremy Soller
268805ba0c
no_std support
2022-11-08 13:24:14 -07:00
Jeremy Soller
e95671f68f
Add comment
2022-11-08 13:22:39 -07:00
Jeremy Soller
658a037ca7
Add functions for copying and deleting selection
2022-11-08 10:18:19 -07:00
Hojjat
83307e7969
Switch to peekable to avoid looping the runs again
2022-11-06 11:09:17 -07:00
Hojjat
c1c2248572
bugfix: text selection starting from the bottom
2022-11-06 11:09:17 -07:00
grovesNL
2ceee35011
Fix typo in "performance"
2022-11-05 09:15:24 -06:00
Ian Douglas Scott
0d3fb1dd9d
Use ouroboros in FontSystem to avoid lifetime bound
...
Perhaps not quite what ouroboros is expected to be used for, but it's
not too bad, and avoiding the lifetime bound can be a huge help.
2022-11-04 10:37:32 -06:00
Jeremy Soller
ac354c3a2a
Remove AttrsList lifetime bound
2022-11-04 09:44:54 -06:00
Jeremy Soller
9a6a01a672
Add script to build everything and run all tests
2022-11-01 08:38:44 -06:00