Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[MNT]: Deprecate internal Cairo backends #32276

Description

@QuLogic

Summary

As discussed a few weeks ago on the dev call, the Cairo backends are less feature-equivalent to the Agg backends.

For example, Pycairo and cairocffi only expose the "toy" font API, so that we cannot correctly apply libraqm full handling of text, as we can only request a font by name and not an explicit file path. See e.g., #28452 or #32084 for the consequences of the toy font API.

Additionally, there are some inconsistencies with the Agg backend wrt blitting and other extended API (you can try changing the default from Agg to Cairo, and see what fails in the test suite.)

Proposed fix

Some options discussed in the call were:

  1. Deprecate the Cairo backends, possibly with a soft-deprecation.
  2. Automatically substitute the Cairo backend by mplcairo if installed
  3. Add some kind of alias to make using mplcairo simpler.
  4. Import mplcairo to the code base instead of the original Cairo backends.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions