Re: Accepting contributions for Rust-based font indexing?

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

 



Hi Dominik,

Thanks for the message. I believe this is an important and noble project to consider upstream.



On Fri, Sep 6, 2024 at 9:11 AM Dominik Röttsches <drott@xxxxxxxxxxxx> wrote:
Hi Akira & FontConfig community,

Allow me to introduce myself, I am Dominik Röttsches, I work as an
engineer on the Chrome rendering team.

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.

* Would you be ready to consider accepting such contributions?
* Do you see dependencies other than indexing that require FreeType?
(FreeType specific API functions [3] would need to be compiled out in
the Fontations build).

Background:

In Chrome we're working on replacing FreeType with the Fontations set
of Rust font libraries [1],[2]. Our main goals are improving Chrome's
security and bringing Google Fonts and Chrome to a common code base
for font processing, in order to accelerate future font format
development work.

Since we also depend on FontConfig in Chrome, we're looking into
removing FontConfig's dependency on FreeType, and performing indexing
using Fontations.

Demo:

Here's a proof of concept branch,
https://gitlab.freedesktop.org/drott/fontconfig/-/commits/fontationsIndexing
which indexes OpenType fonts using Fontations and supports only a
limited set of indexed and added pattern elements.

Building with Rust support and importing crates automatically requires
meson 1.5 which can be locally installed for example using:

$ python3 -m venv venv
$ source venv/bin/activate
$ python3 -m pip install meson

Then the branch is built using:
$ meson setup -Dfontations=enabled build
$ ninja -C build/
Then a simple test like the following works:
$ build/fc-scan/fc-scan /usr/share/fonts

I am looking forward to hearing from you,

Dominik

[1] https://github.com/googlefonts/fontations/
[2] https://issues.chromium.org/40045339
[3] https://fontconfig.pages.freedesktop.org/fontconfig/fontconfig-devel/x103.html#:~:text=FreeType%20specific%20functions

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

  Powered by Linux