Accepting contributions for Rust-based font indexing?

Dominik Röttsches drott at chromium.org
Mon Sep 16 12:53:46 UTC 2024


Hi Akira,

Thank you for your feedback.

On Sun, Sep 15, 2024 at 12:48 PM Akira TAGOH <akira at tagoh.org> wrote:

> > >> I am curious to hear your thoughts on accepting contributions to
> > >> FontConfig that provide an alternative indexing code path and build
> > >> configuration that does not require FreeType, but instead uses the
> > >> Rust-based Fontations libraries [1] developed by Google Fonts.
>
> That sounds good to me.

Great, I am happy to hear about your positive stance towards such contributions.

I will work on the Fontations functions in parallel to my work on
shipping Fontations in Chromium and completing the proposed change
will take a bit of time, but if you're ready to have the existing bits
as experimental code in the main branch, I can polish the existing
code (as shown in the demo section of my original mail) and break it
into reviewable PRs, behind the default-off buildflag. The changes
contain an extra CI configuration to build them as well, so that
breakage is avoided.

> > However, to allow such kind of testing I strongly suggest that
> > Fontation and FreeType can coexist in FontConfig, similar to HarfBuzz
> > that also allows multiple backends AFAIK.
>
> To do that, it needs to make sure that data in a cache is compatible
> no matter what backends are used to generate. Otherwise we may want to
> have some identifier in a cache filename to avoid breakage.

Yes, I agree with Behdad: I will try to produce patterns that match
FreeType for font formats supported by Fontations, which are
SFNT-based formats, OpenType/TrueType. Bitmaps fonts such as SBIX,
CBDT/CBLC are supported. There's limited EBDT/EBLC support in
Fontations - I can't say yet if there are metadata mismatches between
FreeType and Fontations for those.

I assume that any cache mismatch would mainly (only?) be a problem if
in testing we would dynamically switch between backends.

Dominik


More information about the Fontconfig mailing list