Re: Accepting contributions for Rust-based font indexing?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Akira,

Thank you for your feedback.

On Sun, Sep 15, 2024 at 12:48 PM Akira TAGOH <akira@xxxxxxxxx> 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




[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux