Jeremy Soller
39895c988a
Merge pull request #132 from trimental/monospaced-fallback
...
Fallback to monospaced font if Monospace family is not found
2023-06-08 12:38:17 -06:00
Jeremy Soller
f0becfdb54
Fix comment typo
2023-06-08 12:32:34 -06:00
bjorn3
95e36249d5
Remove the dependency on ouroboros
...
This reduces compilation time by removing a dependency on syn and other
dependencies of ouroboros_macros. In addition it saves a lot of unused
codegened methods.
On my laptop (2 core + HT) this reduces compilation time by ~20%. On a
many core system this doesn't help much though as the critical path path
consists of both ttf-parser -> rustybuzz and swash. Further gains will
likely need to be made by reducing compilation time for these crates.
Benchmark 1: cargo build
Time (mean ± σ): 25.150 s ± 0.167 s [User: 84.414 s, System: 7.335 s]
Range (min … max): 24.909 s … 25.444 s 10 runs
Benchmark 1: cargo build
Time (mean ± σ): 19.819 s ± 0.226 s [User: 67.754 s, System: 5.592 s]
Range (min … max): 19.492 s … 20.140 s 10 runs
The code is based on an expansion of the ouroboros macro, cleaned up to
remove all unused methods and inline most functions that are only called
once.
2023-06-08 18:00:42 +02:00
Lucas Timmins
e1e9fb5215
Fallback to monospaced font if Monospace family is not found
2023-05-20 02:05:52 +08:00
Christopher Serr
71281a5d79
Fix FontSystem::new_with_locale_and_db Signature
...
It turns out that the `no_std` version of
`FontSystem::new_with_locale_and_db` doesn't match the `std` version.
This fixes that.
2023-03-29 22:36:54 +02:00
Christopher Serr
8a14734033
Expose rustybuzz in the public API
...
This exposes `rustybuzz` on top of `fontdb`. This is in particular
useful if you want to query the font for additional information. This is
already publically exposed via `Font::rustybuzz()`, but the types were
not re-exported, so it was impossible to properly use that function.
2023-03-27 23:08:32 +02:00
Edgar Geier
d297a6a48a
Call get_font lazily
2023-03-14 00:39:50 +01:00
Edgar Geier
f86acd325c
Lazily call make_shared_face_data
2023-03-13 11:15:36 +01:00
Edgar Geier
af4378d753
Add db_mut method to FontSystem
2023-03-12 10:39:58 +01:00
Edgar Geier
3331f41d7a
Improve documentation
2023-03-12 10:39:57 +01:00
Edgar Geier
384c5c1fdc
Remove Mutex from FontSystem
2023-03-12 10:39:56 +01:00
Edgar Geier
46e9ef0246
Make BorrowedWithFontSystem borrow FontSystem mutably
2023-03-12 10:39:56 +01:00
Edgar Geier
057b5b6fa9
Extract borrow of FontSystem from Buffer
2023-03-12 10:39:54 +01:00
Edgar Geier
bff5aaaea3
Make FontSystem not self-referencing
2023-03-12 10:23:54 +01:00
Jeremy Soller
c4a8d521f6
Add default Redox font directory (/ui/fonts)
2023-03-08 21:01:53 -07:00
Jeremy Soller
e43cc03354
Use std font system for redox
2023-03-08 20:44:26 -07:00
Edgar Geier
2c1d564d62
Update fontdb dependency to version 0.13
2023-03-03 13:07:49 +01:00
Jeremy Soller
eca804c732
Revert "Make FontSystem not self-referencing and update fontdb and rustybuzz"
2023-03-02 18:16:57 -07:00
Edgar Geier
f8bc71af0a
Update fontdb dependency to version 0.13
2023-03-03 00:53:00 +01:00
Edgar Geier
750d988429
Make FontKey repr(transparent) if swash feature is disabled
2023-03-03 00:53:00 +01:00
Edgar Geier
506a4194be
Make FontSystem not self-referencing
2023-03-03 00:53:00 +01:00
jtnunley
7098ee62e2
fmt
2023-03-01 13:36:29 -08:00
jtnunley
e00964fccf
Add a warning about FontSystem::new()
2023-03-01 13:16:13 -08:00
Héctor Ramón Jiménez
655de0af5f
Implement FontSystem::new_with_fonts helper
...
This helper is useful to initialize a `FontSystem` with some embedded
fonts, for instance.
2023-02-04 11:30:41 +01:00
Héctor Ramón Jiménez
66288ab2da
Fix Noto Color Emoji font fallback order for Unix
2023-01-31 06:08:07 +01:00
grovesNL
a3e035881b
Fill out some more docs
2023-01-29 22:29:17 -03:30
Audrey Dutcher
a5903bb3bf
Don't do profile timing on wasm32
2023-01-23 14:18:44 -07:00
Audrey Dutcher
e00109d77f
Downgrade some logging messages
2023-01-05 21:51:10 -07:00
Jeremy Soller
8cc988d374
Run cargo fmt
2023-01-04 20:03:03 -07:00
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
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
Jeremy Soller
05d97f0f3a
Make noto color emoji have a higher preference for fallback
2022-12-02 08:41:38 -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
Jeremy Soller
268805ba0c
no_std support
2022-11-08 13:24:14 -07: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
4798c7ee1a
Add initial rich text example
2022-10-26 14:16:48 -06:00
Jeremy Soller
119a570ee9
Cache font matches, use usize for line index, use font system for swash
2022-10-26 12:23:03 -06:00
Jeremy Soller
808e75a54d
Add Menlo as a fallback on macOS
2022-10-25 21:31:42 -06:00
Jeremy Soller
ea18576032
Make it possible to set and use default family
2022-10-25 21:16:02 -06:00
Jeremy Soller
d04337075a
Make fontdb database public
2022-10-25 20:56:31 -06:00
Jeremy Soller
22036a0f9e
Font does not need to store index, it is part of info
2022-10-25 19:17:40 -06:00
Jeremy Soller
3e8e28f0b3
Do not require lifetime for swash fontref
2022-10-25 18:16:14 -06:00
Jeremy Soller
59a4f8a4c1
Produce FontMatches inside of Buffer
2022-10-25 16:13:07 -06:00
Jeremy Soller
085231c153
Move font matching to Attrs
2022-10-25 15:51:28 -06:00
Jeremy Soller
324c8837fd
Cache fonts
2022-10-25 15:47:55 -06:00
Jeremy Soller
1a5b01575d
Record font mapping time
2022-10-25 14:52:43 -06:00