#381 Bundling exception for python-matplotlib fonts
Closed: Fixed None Opened 5 years ago by pcpa.

(sorry for using bundled library exception for fonts)

In the f17 to f18 stix fonts changed layout and names.
This caused several problems to use of python-matplotlib.
I found a reasonable solution after my bug to stix-fonts was closed, see:
https://bugzilla.redhat.com/show_bug.cgi?id=885307

But the problem happened again in f20:
https://bugzilla.redhat.com/show_bug.cgi?id=1047559

I already closed some f20 duplicated bug reports about the same issue.

Note that Debian bundles the fonts:
http://packages.debian.org/sid/all/python-matplotlib-data/filelist

The only upstream response I have is in this thread:
http://sourceforge.net/mailarchive/message.php?msg_id=30202451


No worries, the bundled library exception handles pretty much any case of bundling.

From what we've read in the linked text it seems like python-matplotlib is simply buggy and needs to be updated for the new font. We don't see anything that would justify an exception here. It might be reasonable for us to grant a temporary exception while the changes to make use of the new version of the font are made but for that we'd need a timeline and a plan for the update to be performed.

Permit matplotlib to bundle the STIX 1.0 fonts until the system 1.1 fonts can be used. matplotlib should make a separate subpackage for the stix-1.0 fonts (e.g. python-matplotlib-stix-fonts-1.0). The fonts must be installed in a matplotlib local path (not in the system fonts dir). Will CC nim-nim to make sure there are no objections.

Thanks. I will wait 1 or more days for extra input before taking any action.
My current idea is to make python-matplotlib-data-fonts (or similar name)
subpackage(s) following the Debian pattern, that would include the data silenty
removed in the spec:

{{{
rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts
}}}

and in the python3 subpackage:

{{{
rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts
}}}

I asked last night for upstream input (archives did not get thread
right), my question
http://sourceforge.net/mailarchive/message.php?msg_id=31879565
and the response
http://sourceforge.net/mailarchive/message.php?msg_id=31882265

Note that this should also include a few non stix extra fonts missing
in jsmath-fonts, that are also bundled in (and used by) matplotlib, and
are found at http://www.math.union.edu/~dpvc/jsmath/download/fonts.html

I'm not sure what status this is in currently. The exemption was granted but not, it seems, written up. Are the STIX 1.1 fonts still not usable?

I'll check to double check that the fonts are still bundled, and then I'll push this into whatever workflow I can manage to come up with to handle the temporary exceptions.

The fonts are indeed still bundled. I'll file this under temporary exceptions and we can ping on it later.

Sorry for the delay. The fonts are still being bundled, in python-matplotlib-data-fonts.
This hopefully should be addressed when updating matplotlib, that is currently pending for some time
https://bugzilla.redhat.com/show_bug.cgi?id=1134007
Currently 1.3.1 is packaged, 1.4.2 is already available.

Originally I wrote a patch to force using fontconfig, but that caused quite a lot bug reports, and inconsistencies, as upstream has only a partial, kind of untested/unsupported, support for using fontconfig, and most of its code reads directly the font files.

I just checked the matplotlib 1.4.2 tarball, and it still uses the old stix fonts.

I am also afraid updating to 1.4.2 will cause a significant trouble for the reason I originally got involved with the matplotlib package (at that time it was outdated), that is the sagemath package, that also still uses 1.3.1, and knows probably way more than it should about matplotlib interfaces.

I am afraid I do not have the knowledge to correct and support and/or time maintain changes to not bundle the fonts.
I it quite old, but... quoting upstream response to my proposed change to use fontconfig (if upstream uses changed to not need bundling, it would be a lot easier):

{{{

I think this is safe to be made a patch for Linux distros. I believe this could
be the default for Linux and BSD in matplotlib.

This will silence things, and I agree it probably should be the default
on Linux, but I'm not sure if it's correct. If F18 really does have
STIX 1.1, then it's not going to work since the layout of the fonts has
changed so much. That's going to require a great deal of effort.
}}}

There was some extra mail exchanges about it, but did not go too far.

Debian sid already updated to 1.4.2, but still bundles the stix fonts, see
https://packages.debian.org/sid/all/python-matplotlib-data/filelist

I made a tentative compat-stix-fonts package and asked for comments at https://bugzilla.redhat.com/show_bug.cgi?id=1187678

Not sure if there is anything to do here, but...

We talked about this at today's meeting (​​​http://meetbot.fedoraproject.org/fedora-meeting-2/2015-02-12/fpc.2015-02-12-17.05.txt):

  • 381 Bundling exception for python-matplotlib fonts (geppetto,


    17:42:11)
  • LINK: https://fedorahosted.org/fpc/ticket/381 (geppetto, 17:42:17)
  • ACTION: Everything going as planned, excellent. Can close.
    (geppetto, 17:47:01)

Metadata Update from @spot:
- Issue assigned to james

2 years ago

Login to comment on this ticket.

Metadata