PackageTrack
Sign in Get early access

fontdb

A simple, in-memory font database with CSS-like queries.

0.24.0 30M downloads/mo #1681 most downloaded on crates.io RazrFalcon/fontdb

What this package is like to depend on

Last release 25 days ago

29 Jul 2026

Ships unpredictably

gaps range from 9 days to 1.8 years

Nearly every release is documented

notes for 38 of 39 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

39 releases · first in 2020

1 release in the last 12 months

see the full history below

Release timeline

39 releases · Jul 2020 to Jul 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 39
  1. 0.24.0 29 Jul 2026
    Release notes

    Added

    • Support loading system fonts on iOS.

    Changed

    • fontdb no longer depends on ttf-parser. It vendors a minimal subset instead.
    • MSRV bumped to 1.71 due to log.
    Open source →
  2. 0.23.0 09 Oct 2024
    Release notes

    Changed

    • ttf-parser updated.
    Open source →
  3. 0.22.0 09 Sep 2024
    Release notes

    Changed

    • Fallback to known font dirs if none were loaded via fontconfig. Linux-only. @MoSal
    Open source →
  4. 0.21.0 06 Aug 2024
    Release notes

    Added

    • Symlinked files and directories will now be included when loading system fonts. @jcdickinson
    Open source →
  5. 0.20.0 02 Jul 2024
    Release notes

    Changed

    • ttf-parser updated.
    Open source →
  6. 0.19.0 02 Jul 2024
    Release notes

    Changed

    • ttf-parser updated.
    Open source →
  7. 0.18.0 01 Jun 2024
    Release notes

    Changed

    • Database::push_face_info returns an ID now. @laurmaedje
    Open source →
  8. 0.17.0 10 May 2024
    Release notes

    Added

    • Up to 10% faster Database::load_system_fonts. @qarmin and @y5

    Changed

    • Latest ttf-parser.
    Open source →
  9. 0.16.2 19 Feb 2024
    Release notes

    Fixed

    • System fonts loading on Windows when the system drive is not C:\\. @tronical
    Open source →
  10. 0.16.1 09 Feb 2024
    Release notes

    Fixed

    • Treat fonts with non-zero italic angle as italic.
    Open source →
  11. 0.16.0 31 Oct 2023
    Release notes

    Changed

    • ttf-parser and memmap2 dependencies update.
    Open source →
  12. 0.15.0 01 Oct 2023
    Release notes

    Changed

    • Enable the fontconfig feature by default. Linux-only.
    • MSRV bumped to 1.60 due to log.

    Fixed

    Open source →
  13. 0.14.1 10 May 2023
    Release notes

    Fixed

    • Return valid IDs from Database::load_font_source(). @notgull
    Open source →
  14. 0.14.0 09 May 2023
    Release notes

    Changed

    • Database::load_font_source() returns a list of loaded face IDs now. @notgull
    • ttf-parser and memmap2 dependencies update.
    Open source →
  15. 0.13.1 23 Apr 2023
    Release notes

    Added

    Fixed

    • Improve missing XDG_CONFIG_HOME environment variable handling. Linux only. @7sDream
    • Improve downloadable fonts detection on macOS. @messense
    Open source →
  16. 0.13.0 21 Feb 2023
    Release notes

    Added

    Changed

    • Database uses slotmap::SlotMap instead of Vec as an internal storage now. This allows us to have O(1) indexing by ID by sacrificing faces iteration speed a bit. @7sDream
    • Database::remove_face no longer returns bool.
    • Database::faces returns an Iterator and not a slice now.
    • MSRV bumped to 1.49
    Open source →
  17. 0.12.0 05 Feb 2023
    Release notes

    Fixed

    • Face weight matching.
    Open source →
  18. 0.11.2 09 Jan 2023
    Release notes

    Added

    • Implement Display trait for ID. @7sDream
    Open source →
  19. 0.11.1 26 Dec 2022
    Release notes

    Fixed

    • Always prefer Typographic Family to Family Name when available. @CryZe
    • Prevent duplicated family names.
    Open source →
  20. 0.11.0 25 Dec 2022
    Release notes

    Added

    • Support localized family names.
    • Improve fontconfig support. @declantsien

    Changed

    • FaceInfo::family was replaced with FaceInfo::families and contains a list of family names now.

    Fixed

    • Improve family name detection in variable fonts.
    Open source →
  21. 0.10.0 08 Nov 2022
    Release notes

    Added

    Open source →
  22. 0.9.3 26 Oct 2022
    Release notes

    Added

    • Database::family_name is public now.
    Open source →
  23. 0.9.2 22 Oct 2022
    Release notes

    Added

    • Database::push_face_info
    • ID::dummy

    Fixed

    • Expand home path ~ prefix during fontconfig paths resolving. @snoyer
    Open source →
  24. 0.9.1 21 Feb 2022
    Release notes

    Changed

    • Reduce binary size by 10% using less generic code.
    • Simplify Database::query implementation.
    Open source →
  25. 0.9.0 20 Feb 2022
    Release notes

    Added

    • Way faster fonts scanning by using a more low-level ttf-parser API which allows us to parse only required TrueType tables. On my hardware, load_system_fonts() loaded 898 fonts in 9ms instead of 11ms in the release mode and in 35ms instead of 52ms in debug. Currently, we're parsing only name, OS/2 and post tables.
    Open source →
  26. 0.8.0 12 Feb 2022
    Release notes

    Added

    • Load user fonts on Windows.
    • fontconfig feature to allow retrieving font dirs from the fontconfig config file instead of using hardcoded paths. Linux-only. @Riey
    Open source →
  27. 0.7.0 03 Oct 2021
    Release notes

    Changed

    • The Source enum has a new variant SharedFile, used for unsafe persistent memory mappings.
    • FaceInfo stores Source directly now, not anymore in an Arc. Instead Source::Binary now stores an Arc of the data.
    Open source →
  28. 0.6.2 04 Sep 2021
    Release notes

    Fixed

    • Fix compilation without the fs feature.
    Open source →
  29. 0.6.1 04 Sep 2021
    Release notes

    Changed

    • Split the fs build feature into fs and memmap. @neinseg
    Open source →
  30. 0.6.0 21 Aug 2021
    Release notes

    Added

    Changed

    • Generic font families are preset by default instead of being set to None.
    Open source →
  31. 0.5.4 25 May 2021
    Release notes

    Added

    • Implement Eq, Hash for Query, Family, Weight and Style. @dhardy

    Changed

    • Update ttf-parser
    Open source →
  32. 0.5.3 19 May 2021
    Release notes

    Changed

    • Update ttf-parser
    Open source →
  33. 0.5.2 19 May 2021
    Release notes

    Changed

    • Update memmap2
    • Add additional search dir for macOS.
    Open source →
  34. 0.5.1 20 Dec 2020
    Release notes

    Fixed

    • Compilation on Windows.
    Open source →
  35. 0.5.0 20 Dec 2020
    Release notes

    Added

    • FaceInfo::post_script_name
    • FaceInfo::monospaced
    • Database::load_system_fonts
    Open source →
  36. 0.4.0 06 Dec 2020
    Release notes

    Changed

    • Use a simple u32 for ID instead of UUID.
    Open source →
  37. 0.3.0 05 Dec 2020
    Release notes

    Changed

    • ttf-parser updated.
    Open source →
  38. 0.2.0 21 Jul 2020
    Release notes

    Changed

    • ttf-parser updated.

    Fixed

    • Stretch processing. ttf-parser was incorrectly parsing this property.
    Open source →
  39. 0.1.0 02 Jul 2020

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive