Bug 1953087

Summary: fonttools: please also provide woff functionality
Product: [Fedora] Fedora Reporter: Felix Schwarz <fschwarz>
Component: fonttoolsAssignee: Parag Nemade <pnemade>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: fonts-bugs, pnemade, sshedmak, tagoh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-08-08 07:58:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1990762    
Bug Blocks:    

Description Felix Schwarz 2021-04-23 20:22:47 UTC
The upcoming WeasyPrint 53 will require "python3dist(fonttools[woff]) >= 4" and it seems as if Fedora does not provide that extra.

Upgrading WeasyPrint to version 53 will be a plus for Fedora users as that version will not use cairo anymore. The problem with cairo is that version 1.17 changed font rendering so WeasyPrint tests are sometimes failing. WeasyPrint upstream will not spend any time on these issues as they are planning to migrate away from cairo.

Ideally we could have woff functionality in F34 + rawhide (both are using cairo 1.17).

Comment 1 Felix Schwarz 2021-08-01 20:51:54 UTC
WeasyPrint 53 was released and requires the woff functionality. As far as I can see the major blocker for the new version (in rawhide/F35) is the missing woff functionality. Would you mind enabling it or are there other blockers?

Comment 2 Parag Nemade 2021-08-02 23:50:21 UTC
Can you confirm if this scratch build https://koji.fedoraproject.org/koji/taskinfo?taskID=73152587 works for you? if yes then I will build it officially.

Comment 3 Felix Schwarz 2021-08-04 13:04:25 UTC
Thank you very much for the scratch build.

Unfortunately the new subpackage is not installable:

  nothing provides python3.10dist(zopfli) >= 0.1.4 needed by python3-fonttools+woff-4.25.2-2.fc35.noarch

As far as I can see python-zopfli is not packaged for Fedora.

However it seems as if this is not really a hard dependency as it is only enabled if the user adds "--with-zopfli" on the CLI (not set by default as far as I can tell).

I see two options:

- Patch "Lib/fontTools/subset/__init__.py" so that zopfli can not be enabled anymore.
- Submit a new package python-zopfli (source: https://pypi.org/project/zopfli/) for inclusion in Fedora

I'm not really keen on having yet another package but I could create the initial spec file and co-maintain it as long as fonttools[woff] requires it (and WeasyPrint continues to use fonttools which I guess will be for quite a while).

Comment 4 Felix Schwarz 2021-08-05 20:40:18 UTC
I created a new RPM (locally/COPR) for python-zopfli. Together with your python-fonttools+woff the WeasyPrint test suite passes so I think your change is ok.

The zopfli spec file is pretty simple, would you be interested to (co)maintain this for python-fonttools+woff? If so I could submit this spec file for review.
https://download.copr.fedorainfracloud.org/results/fschwarz/weasyprint53/fedora-rawhide-x86_64/02364577-python-zopfli/python-zopfli-0.1.8-1.fc35.src.rpm

Comment 5 Parag Nemade 2021-08-06 02:11:22 UTC
I was looking into packaging zopfli module. If you want to submit that package then it will be great. I can co-maintain it.

Comment 6 Felix Schwarz 2021-08-06 07:35:49 UTC
I created a review request for python-zopfli, see bug 1990762.

Comment 7 Felix Schwarz 2021-08-07 19:11:39 UTC
I was able to build WeasyPrint 53 successfully for rawhide with fonttools-4.26.1-2.fc35 so we can close this issue :-)

Comment 8 Parag Nemade 2021-08-08 07:58:00 UTC
Glad to hear that and thank you again for reporting this bug and helping to fix this bug as well :)