CourtBouillon

Authentic people growing open source code with taste

WeasyPrint and the NLnet Foundation

At the beginning of this year, WeasyPrint has been selected by NLnet to receive a NGI Zero grant. What is NLnet? What is a NGI Zero grant? How is this helping WeasyPrint?

What is the NLnet Foundation?

Created in the 80’s, the NLnet Foundation is a non-profit organization who worked a lot on the the European Unix network and the commercial and public internet network provision in the Netherlands. They also also pioneered the world’s first dial-in and ISDN infrastructure with full country coverage.

Since then, the Foundation aims to create a better, safer and more secure internet and they support independent people and organizations contributing to the open information society.

For that, NLnet sponsors open source software and open standards that benefit everyone 💜

NLnet logo

What is a NGI Zero Grant?

To receive financial support from the Foundation, you have to apply to one of their fundings. So that’s what we did!

We applied to the NGI Zero Core Fund, a fund supported by the European Commission to help creating an open, trust-worthy and reliable internet for all.

A fund about internet open standards and interoperability, a perfect fund for WeasyPrint!

If you develop an open source project aligned with the values and mission of the Foundation and need support, don’t hesitate to apply too. They try to keep the process as simple as possible so you can focus on your project. And as far as we’re concerned, they’re pretty good at it 😊

How is this Helping WeasyPrint?

With this grant, we’re able focus on different topics that are quite huge and for which we need a long period of time to work on.

These topics are:

  • improving the flex layout;
  • improving PDF/UA support;
  • supporting CMYK.

Improving Flex Layout

A lot of issues have been opened during the last years about flex. Some have been closed with more or less clean work-arounds, bringing other issues.

The real deal was to have time to rewrite flex layout support in a cleaner way.

You can track the progress on this topic, and the linked issues that will be fixed, in the related GitHub issue #2362.

Improving PDF/UA Support

Since v57, WeasyPrint is able to generate PDF/UA documents.

PDF/UA is a sub-module of the PDF standard specifying terms and requirements for accessibility in PDF documents.

The support of PDF/UA in WeasyPrint works well for documents with simple content, but have issues with some more complex structures. With the grant, we’ll be able to improve this support and also have time to find a way to write more solid tests on it.

You can also track the progress on this topic, and the linked issues that will be fixed, in the related GitHub issue #2363.

Supporting CMYK

Adding support of CMYK in WeasyPrint is a long-standing request, the related GitHub issue has been opened in 2020.

CMYK has been specified in CSS Color Level 4 for quite some time, but has been moved into Level 5.

Fortunately, WeasyPrint already supports Level 4, so we "just" have to support Level 5 🌈

What’s Coming Next?

For roadmap lovers, each topic will have its own WeasyPrint major version, starting this month with WeasyPrint v65.0 and flex layout improvements!