Skip to content

Simplify FontProperties init. #22504

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 19, 2022
Merged

Simplify FontProperties init. #22504

merged 1 commit into from
Feb 19, 2022

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Feb 19, 2022

The various setters already set the None attributes to the rcParams
values; no need to do this twice in __init__.

Also inline the now-single-use _normalize_font_family, move the aliases
all to a single block, and prefer get_size to get_size_in_points.

PR Summary

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

@timhoffm
Copy link
Member

Since you want to get rid of the setters and make font properties immutable, isn't this going in the wrong direction?

@anntzer
Copy link
Contributor Author

anntzer commented Feb 19, 2022

I thought that switching to a fully immutable FP would anyways require moving all the validation logic into __init__ (it isn't there for now), which is a bigger change not made easier or harder by the current PR. The point was more to get rid of _normalize_font_family, in fact...

@@ -967,6 +954,12 @@ def copy(self):
"""Return a copy of self."""
return copy.copy(self)

# Aliases.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Aliases.
# Aliases

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure.

The various setters already set the None attributes to the rcParams
values; no need to do this twice in `__init__`.

Also inline the now-single-use _normalize_font_family, move the aliases
all to a single block, and prefer get_size to get_size_in_points.
@oscargus oscargus merged commit fd83d95 into matplotlib:main Feb 19, 2022
@anntzer anntzer deleted the fpi branch February 19, 2022 20:15
@QuLogic QuLogic added this to the v3.6.0 milestone Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants