8000 Fix incorrect kwarg being passed to TextPath. by anntzer · Pull Request #13232 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

Fix incorrect kwarg being passed to TextPath. #13232

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
Jan 21, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions lib/matplotlib/markers.py
Original file line number Diff line number Diff line change
Expand Up @@ -393,10 +393,7 @@ def _set_mathtext_path(self):

# again, the properties could be initialised just once outside
# this function
# Font size is irrelevant here, it will be rescaled based on
# the drawn size later
props = FontProperties(size=1.0)
Copy link
Member

Choose a reason for hiding this comment

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

The original intention has apparently been to create a text path with size 1 and rescale it later. This was not working because of the incorrect parameter name.

Are we sure that a default FontProperties object, which is using rcParams['font.size'] is the correct way rather than the original fontsize 1?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The proposed fix in this PR matches the previous behavior.
I guess the original intent was to use a font size of 1, but I'm not sure this actually makes sense because good quality fonts should look different at very small sizes (e.g. https://en.wikipedia.org/wiki/Font#Optical_size) and we probably won't end up using the textpath at a size close to 1 (not that I think any mainstream font ships with a specific 1-size design either...).
Having the result depend on the rc value may not be optimal either (which has already been the behavior so far), but so far no one complained...

Copy link
Member

Choose a reason for hiding this comment

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

Just tested, varying rcParams['font.size'] doesn't seem to have an effect. At least not something i can see with the bare eye when switching between two images. Maybe the size is not used after all.

Anyway, this is ok then.

text = TextPath(xy=(0, 0), s=self.get_marker(), fontproperties=props,
text = TextPath(xy=(0, 0), s=self.get_marker(),
usetex=rcParams['text.usetex'])
if len(text.vertices) == 0:
return
Expand Down
0