Commit graph

117 commits

Author SHA1 Message Date
valadaptive
355b7febb1
Update and fix cargo-deny (#421)
* Update and fix cargo-deny

* We are not free of syn

* More cargo-deny fixes
2025-09-09 07:51:08 -06:00
valadaptive
2610c869f6
Replace rustybuzz with HarfRust (#417)
* Use HarfRust for shaping

* Replace ttf-parser with skrifa entirely

* Fix clippy lints

* Add shape plan cache

* Bump harfrust and skrifa

* Fix no_std build

* Simplify the shape plan cache

* Please the paperclip

* Cache font ID with plan

* Tune shape plan cache for "BiDi Processing" bench
2025-09-08 21:15:27 -06:00
romanstingler
a2f1f4b2a0
refactor: address clippy warnings and improve code quality (#409)
- Fix string formatting with modern interpolation syntax
- Improve Debug implementation with finish_non_exhaustive()
- Fix function placement in shape.rs to avoid items_after_statements warning
- Use more idiomatic Rust patterns (map_or_else, next_back)
- Clean up conditional imports in vi.rs
- Convert multiple methods to `const` functions for optimization and consistency
- Introduce `core_maths` for enhanced no-std compatibility
- Update `Cargo.toml` for the new optional dependency and feature adjustments
2025-08-11 13:58:59 -06:00
romanstingler
e80dbc3607
Optimize BidiParagraphs with ASCII fast path (#408)
* Optimize BidiParagraphs with ASCII fast path - Added fast path for ASCII text that avoids BidiInfo allocation - Added some text shaping benchmarks

* refactor: fix clippy warnings and cleanup imports
2025-08-11 13:15:09 -06:00
Taj Pereira
c597f3755b
Update peniko version to 0.4.0 (#387)
* Update peniko version

* Fix no_std build
2025-05-30 04:50:41 +08:00
tigregalis
b017d7c856
fontdb 0.23 (#383)
* fix bench

* update Cargo.toml fontdb 0.23
2025-04-21 09:58:26 -06:00
Jeremy Soller
9e7a56f083
0.14.2 2025-04-14 08:57:14 -06:00
Jeremy Soller
87a937056d
0.14.1 2025-04-04 11:53:46 -06:00
Taj Pereira
695745ac4f
Store font as peniko::Font behind feature flag (#375)
* Allow exposing Peniko font from cosmic text

* .

* .

* .

* .
2025-04-04 11:19:45 -06:00
Jeremy Soller
6598c7cae8
0.14.0 2025-03-31 12:59:58 -06:00
Jeremy Soller
0483999799
0.13.2 2025-03-11 09:45:30 -06:00
Jeremy Soller
60f2c2b0c2
0.13.1 2025-03-10 11:24:51 -06:00
Jeremy Soller
f7ad0bfa60
0.13.0 2025-03-10 10:57:35 -06: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
1ab7fc213d
Update swash to 0.2.0 and hook up std feature 2025-01-06 13:39:29 -07:00
koe
caa214a755 Use SmolStr in FamilyOwned instead of String 2024-09-01 07:20:07 -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
Jeremy Soller
58c2ccd1fb
0.12.1: Make collection of monospace fallback information optional 2024-07-31 10:02:11 -06:00
Jeremy Soller
a03ec6b75f
0.12.0 2024-06-18 15:44:54 -06:00
Jeremy Soller
24fb208953
Downgrade fontdb until iced can update resvg 2024-06-15 18:51:57 -06:00
Kristoffer Ödmark
542b20ca43 Upgrade dependencies, and re-export ttf-parser so that dependents can verify fonts using the same ttf-parser version 2024-06-15 06:05:18 -06:00
Julian Braha
31d3ceca51 Only use libm dependency for no_std feature 2024-06-06 19:42:47 -06:00
Itsusinn
39c4e3e02b refactor: move "rayon" feature under "std" 2024-06-05 08:15:51 -06:00
Itsusinn
658025314c feat: concurrently load & parse fonts 2024-06-05 08:15:51 -06:00
Nico Burns
22e61965aa Enable vi feature for docs.rs build 2024-03-01 10:20:55 -07:00
Christopher Serr
8582173128 Fix no_std build
This fixes the `no_std` build and also makes sure it's tested properly
in the CI workflow.
2024-02-12 10:37:49 -07:00
Jeremy Soller
0cb6eba6e7
0.11.2: Fix glyph start and end when using shape-run-cache 2024-02-09 15:12:33 -07:00
Jeremy Soller
cb447ea8c6
0.11.1 2024-02-08 11:13:33 -07:00
Jeremy Soller
1eb3233373
Add shape-run-cache feature, that can significantly improve shaping performance 2024-02-08 11:12:41 -07:00
Jeremy Soller
8174877407
0.11.0 2024-02-07 14:18:19 -07:00
Jeremy Soller
1b025ae56e
Update swash to 0.1.12 2024-02-01 12:43:08 -07:00
Jeremy Soller
4a66d19006
Update swash 2024-02-01 11:35:25 -07:00
Jeremy Soller
b2fb02c7ad Require modit 0.1.4 2024-01-31 14:03:19 -07:00
Mohammad AlSaleh
1a18296a67 Update to swash 0.1.9
Fixes #220.

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-30 14:06:35 -07:00
Mohammad AlSaleh
329941c4a6 Try harder to succeed at fall-backing to a Monospace font
A combination of some ideas:

 * Try all Monospace fonts before giving up.
 * Relax exact weight restriction on font matching when trying Monospace
   fall-back. Try smaller weights if needed.
 * Make the fall-back try order weight-offset aware, AND script-aware.
 * And finally, add the option to adjust the font size of glyphs using
   fall-back Monospace fonts, so the width of them matches the default
   font width.

   For my use-case, the current fall-back attempt always fails with
   Arabic script. And none of the Arabic-supporting Monospace fonts in
   my system also support medium weight. So, if my default font is set
   to medium weight, script-aware fall-back alone will still not work.

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-17 13:31:03 -07:00
Jeremy Soller
bd5f2f95e8 Add capability to synthesize italic 2024-01-17 13:31:03 -07:00
David Stern
73acfb0962 Cache rustybuzz shape plans. 2023-12-18 18:19:27 -05:00
Jeremy Soller
b7bdd62eb3
ViEditor: update modit and improve put implementation 2023-12-05 10:05:26 -07:00
Jeremy Soller
9278e7d0c4
ViEditor: Implement put/yank registers 2023-11-30 13:42:52 -07:00
Jeremy Soller
cbd567d238
Support line selection 2023-11-28 10:42:50 -07:00
Jeremy Soller
1201d0c8b5
Use crates.io modit 2023-11-17 07:53:24 -07:00
Jeremy Soller
27d447b6fc
Use fontdb 0.16 2023-11-15 12:42:51 -07:00
Jeremy Soller
38bed64ef1
Use cosmic_undo_2 instead of undo_2 for improved compiler support 2023-11-15 09:09:46 -07:00
Jeremy Soller
5352fdee94
Undo/redo support in ViEditor 2023-11-13 13:31:06 -07:00
Jeremy Soller
b3c5f14e47
Remove two-face (it can be added by user of library) 2023-11-13 10:42:03 -07:00
Jeremy Soller
74c92e0419 ViEditor: switch to using modit 2023-11-07 15:57:00 -07:00
Jeremy Soller
e62fea5efd
SyntaxEditor: Support using two-face syntax definitions 2023-11-02 13:38:25 -06:00