Commit graph

707 commits

Author SHA1 Message Date
tigregalis
b027bab538 use alloc ToOwned and String 2025-03-28 15:57:33 +00:00
tigregalis
35eda69cb1 formatting 2025-03-28 15:57:33 +00:00
tigregalis
16015d7ea6 Document Fallback trait 2025-03-28 15:57:33 +00:00
tigregalis
bdd7882a94 set visibility of Fallbacks to pub(crate) 2025-03-28 15:57:33 +00:00
tigregalis
fb3a7c1a1c Reuse fallbacks 2025-03-28 15:57:33 +00:00
tigregalis
7fb685fa13 Pre-compute the fallbacks on FontFallbackIter::new 2025-03-28 15:57:33 +00:00
tigregalis
ae0fb9b561 Support non-static list of fallbacks 2025-03-28 15:57:33 +00:00
tigregalis
9a4d80d116 derive Debug on PlatformFallback 2025-03-28 15:57:33 +00:00
tigregalis
b32c831f1b export Fallback, PlatformFallback 2025-03-28 15:57:33 +00:00
tigregalis
a67dded054 Use fallback list via dyn trait in FontSystem 2025-03-28 15:57:33 +00:00
Stewart Connor
4e6d5d731b rm std 2025-03-28 15:55:47 +00:00
Stewart Connor
08822cac2e add letter spacing 2025-03-28 15:55:47 +00:00
Simon Ask Ulsnes
500a8fc6d1 Update test images 2025-03-12 10:54:06 -06:00
Jeremy Soller
0483999799
0.13.2 2025-03-11 09:45:30 -06:00
Rob Parrett
813b350563 Fix android build 2025-03-11 09:44:15 -06:00
Jeremy Soller
60f2c2b0c2
0.13.1 2025-03-10 11:24:51 -06:00
valadaptive
c7a426280b Use chr_idx for ShapeGlyph range in basic shaping
We want byte indices, not code point indices. Fixes a panic when
selecting the mixed-language text at the bottom of the rich-text example
when the shaping mode is set to "Basic".
2025-03-10 11:23:36 -06:00
valadaptive
db9033ba86 Fix glyph start+end indices in "Basic" shaping
These indices were previously relative to the start of the *run*, when
they should be relative to the start of the *line*.
2025-03-10 11:23:36 -06:00
Jeremy Soller
f7ad0bfa60
0.13.0 2025-03-10 10:57:35 -06:00
Jeremy Soller
974ddaed96
Update default fonts 2025-02-26 07:57:29 -07:00
Jeremy Soller
9125dd48b7
Update test images 2025-01-27 15:38:10 -07:00
Jeremy Soller
f3ba8ec8bb
Load fonts prior to setting defaults 2025-01-27 15:33:46 -07:00
Jeremy Soller
1f97cbd747
Use FreeMono as Braille script fallback, workaround for #237 2025-01-27 12:17:51 -07:00
dsgallups
485497973f chore: updating newfound lints 2025-01-22 17:00:01 -07:00
dsgallups
e9c809bf28 fix: verifiable MSRV 2025-01-22 17:00:01 -07:00
dsgallups
f05a69a9d9 resolve all lints, update MSRV 2025-01-22 17:00:01 -07:00
HoldMyBeer
166b59f560 Reduce memory usage and loading time of FontSystem 2025-01-10 09:38:43 -07:00
Jeremy Soller
acb4235101 Update test images 2025-01-10 09:34:05 -07:00
Jeremy Soller
1ab7fc213d
Update swash to 0.2.0 and hook up std feature 2025-01-06 13:39:29 -07:00
Taj Pereira
1de8233119 Hint swash_outline_commands 2024-12-22 18:00:31 -07:00
Carlos Diaz-Padron
c8c8aa3fb8 Handle single wrapped line scrolling
Before this change, scrolling down when there were multiple layout lines, that rendered beyond the screen, would not work properly. This is because the current logic only acts if there are two or more buffer lines, calculating the proper layout height for each line.

This adds an edge case check for single lines, ensuring the case is handled.
2024-12-21 19:17:35 -07:00
Taj Pereira
81c9666eaa Add get_outline_commands_uncached 2024-12-21 19:17:07 -07:00
Jan Beich
829a59bd95 Apply fallback font to more Unices
- DragonFly, FreeBSD, NetBSD, OpenBSD all use fontconfig
- Solaris-based systems use fontconfig
2024-12-21 19:16:14 -07:00
Caleb Yates
252078cfe4 fix: avoids panic 2024-12-21 19:15:58 -07:00
Jeremy Soller
1f4065c1c3
Drop ShapePlanCache
The ShapePlanCache was added to improve performance when shaping the same
strings over and over. However, it never had the ability to be trimmed
and when it was moved to FontSystem, this created a permanently growing
allocation. It is recommended to instead use the shape-run-cache feature
which supports trimming if it is desired to have higher performance for
repeated shaping, at the cost of manually specifying when to trim.
2024-11-06 18:59:56 -07:00
dekrain
4fe90bb612 Fix the character index used for getting a glyph attribute in basic shaping 2024-09-23 07:53:29 -06:00
Mohammad AlSaleh
e8f567cf5b Fix typo in fallback font name
The font name is "Noto Sans CJK JP", not "Noto Sans CJK JA".

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-09-09 13:43:16 -06:00
koe
9d132f8ebd cache the monospace fallbacks buffer in FontSystem 2024-09-05 07:57:55 -06:00
koe
069d3404bf build fixes 2024-09-03 15:59:15 -06:00
koe
9dc024616b move ShapeBuffer to FontSystem 2024-09-03 15:59:15 -06:00
koe
0935f549ee add alignment option to Buffer::set_rich_text 2024-09-01 15:26:38 -06:00
koe
c65f299e87 fix no_std 2024-09-01 15:00:17 -06:00
koe
cdf1e5b4ee fix lint error 2024-09-01 15:00:17 -06:00
koe
f89e64aa76 cleanup 2024-09-01 15:00:17 -06:00
koe
b68f4ad5c6 Optimize Buffer::set_rich_text for when the buffer is reconstructed 2024-09-01 15:00:17 -06:00
koe
c751217020 Add AttrsList::spans_iter and use it in Buffer::append 2024-09-01 07:20:07 -06:00
koe
caa214a755 Use SmolStr in FamilyOwned instead of String 2024-09-01 07:20:07 -06:00
Christian Westrom
7c25fcb7ae add the convenient API for setting tab width 2024-09-01 07:12:04 -06:00
Jeremy Soller
e16b39f29c Revert "update fontdb, rustybuzz and ttf-parser"
This reverts commit 6f78d23a8c.
2024-08-01 12:45:52 -06:00
MaxVerevkin
6f78d23a8c update fontdb, rustybuzz and ttf-parser 2024-08-01 10:52:00 -06:00