NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2444 most downloaded on crates.io
A cross-platform font loading library
Last release 1 years ago
26 May 2025
Release timing varies
gaps range from 8 days to 1.7 years
Some releases are documented
notes for 8 of 22 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
22 releases · first in 2018
Fixes simd features to be able to build on nightly
Update pathfinder_simd (#264)
* Update pathfinder_simd
Fixes simd features to be able to build on nightly
* Publish 0.14.3.
---------
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Nothing published for this version
Changes: Switch from dirs-next to dirs
Changes:
dirs-next to dirsOne column per quarter.
Instead of depending on rust-freetype which in turn depends on freetype-sys , just depend on freetype-sys directly.
Instead of depending on rust-freetype which in turn depends on
freetype-sys, just depend on freetype-sys directly.
Bump version to 0.13.1
Bump version to 0.13.1 (#240)
bug: Add diagnostic information on font load error
I ran into a bug a while back that prevent me from using the plotters
library for months. I did finally figure out what was causing it: a file
in my font library documented in issue#231. Removing the file fixed my
issue, but the opaque problem is sure to ensnare others.
This PR adds a LoadError(Cow<'static, str>) variant to
SelectionError enum. It removes Copy because Cow isn't copyable.
And now when I run the test suite with the bad file in place, it reports
this error, which is far and away more helpful than before.
> RUST_BACKTRACE=1 cargo test --all
...
running 5 tests
test loaders::core_text::test::test_core_text_to_css_font_stretch ... ok
test loaders::core_text::test::test_core_text_to_css_font_weight ... ok
test sources::core_text::test::test_css_to_core_text_font_stretch ... ok
test sources::core_text::test::test_css_to_core_text_font_weight ... ok
test loaders::core_text::test::test_from_core_graphics_font ... FAILED
failures:
---- loaders::core_text::test::test_from_core_graphics_font stdout ----
thread 'loaders::core_text::test::test_from_core_graphics_font' panicked at src/loaders/core_text.rs:940:14:
called `Result::unwrap()` on an `Err` value: LoadError("Parse error on path \"/Users/shane/Library/Fonts/Arial\"")
stack backtrace:
0: rust_begin_unwind
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
1: core::panicking::panic_fmt
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
2: core::result::unwrap_failed
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
3: core::result::Result<T,E>::unwrap
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1073:23
4: font_kit::loaders::core_text::test::test_from_core_graphics_font
at ./src/loaders/core_text.rs:938:21
5: font_kit::loaders::core_text::test::test_from_core_graphics_font::{{closure}}
at ./src/loaders/core_text.rs:937:38
6: core::ops::function::FnOnce::call_once
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
7: core::ops::function::FnOnce::call_once
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
failures:
loaders::core_text::test::test_from_core_graphics_font
test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
error: test failed, to rerun pass `--lib`A variant that used String would suffice for this case. I tend to use
Cow<'static, str> on errors since many times they can be &'static str.
refactor: Prefer CannotAccessSource to new variant
chore: Run cargo fmt.
Update to version 0.12 in preparation for release
Update to version 0.12 in preparation for release (#222)
switch to yeslogic-fontconfig-sys instead of servo-fontconfig
switch to yeslogic-fontconfig-sys instead of servo-fontconfig
servo-fontconfig statically links a vendored fontconfig library if fontconfig is not found by pkgconfig. Using a vendored fontconfig
library instead of the system fontconfig library doesn't actually work well though:
slint-ui/slint#88
Building a vendored copy of fontconfig is also problematic because fontconfig has a lot of C dependencies, which makes it difficult to cross compile the vendored copy of fontconfig:
$ pkg-config fontconfig --static --libs
-lfontconfig -lfreetype -lz -lbz2 -lpng16 -lm -lm -lz -lharfbuzz -lm -lglib-2.0 -lm -lpcre -lsysprof-capture-4 -pthread -lgraphite2 -lbrotlidec -lbrotlicommon -lxml2 -lz -llzma -lm
Instead of using a vendored copy, with
yeslogic/fontconfig-rs#12
yeslogic-fontconfig-sys will have a Cargo feature to dlopen fontconfig at runtime instead of linking it at build time. This is exposed in font-kit with the new source-fontconfig-dlopen feature, which is disabled by default. This feature makes it considerably easier to cross compile by avoiding the need to cross compile fontconfig and all its dependencies.
Update pathfinder_simd. Fixes #177 .
Update pathfinder_simd.
Fixes #177.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →