| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Subjectively, I'm not sure that the updated tests look better, but objectively "center over all the letters" seems more correct and matches what TeX does. |
Sorry, something went wrong.
|
I'll push these images to the upcoming branch and rebase this without them in a minute. |
Sorry, something went wrong.
A wide accent over more than one character should just be centered over the underlying box. In any case this works better than the current strategy of shifting by an amount depending on the box's width (which results in absurdly large shifts for wide boxes). When positioning over a single character the behavior is different -- TeX uses specific font metrics info for that case, and we can try rendering as combining characters instead (not done in this PR).
Fix positioning of wide mathtext accents.
This includes images changes for the following pull requests / commits: * [Fix center of rotation with rotation_mode='anchor'](matplotlib#29199) (c44db77) * [Remove ttconv backwards-compatibility code](matplotlib#30145) (8caff88) * [Remove kerning_factor from tests](matplotlib#29816) (7b4d725) * [Set text hinting to defaults](matplotlib#29816) (8255ae2) * [Update FreeType to 2.13.3](matplotlib#29816) (89c054d) * [Implement text shaping with libraqm](matplotlib#30000) (b0ded3a, 9813523) * [Add language parameter to Text objects](matplotlib#29794) (7ce8eae) * [Fix auto-sized glyphs with BaKoMa fonts](matplotlib#29936) (3ba2c13) * [pdf: Improve text with characters outside embedded font limits](matplotlib#30512) (b70fb88, 6cedcf7) * [Prepare `CharacterTracker` for advanced font features](matplotlib#30608) (8274e17, 70dc388, df670cf, ed5e074) * [Add font feature API to Text](matplotlib#29695) (972a688) * [Fix spacing in r"$\max f$"](matplotlib#30715) (4a99a83) * [Implement libraqm for vector outputs](matplotlib#30607) (bd17cd4) * [Drop the FT2Font intermediate buffer](matplotlib#30059) (9d7d7b4) * [Rasterize dvi files without dvipng](matplotlib#30039) (7627118) * [Update bundled FreeType and HarfBuzz libraries](matplotlib#30938) (a161658, 9619bcc) * [Fix positioning of wide mathtext accents](matplotlib#31069) (c2fa7ba) * [Refactor RendererAgg.draw_{mathtext,text,tex} to use same base algorithm](matplotlib#31085) (931bcf3) * [Implement TeX's fraction and script alignment](matplotlib#31046) (94ff452, 4bfa0f9, 1cd8510) * [Fix confusion between text height and ascent in metrics calculations](matplotlib#31107) (60f2310) * [mathtext: Fetch quad width & axis height from font metrics](matplotlib#31110) (692df3f, 383028b) * [mathtext: add mathnormal and distinguish between normal and italic family](matplotlib#31121) (a6913f3) * [ENH: Ignore empty text for tightbbox](matplotlib#31285) (d772043) * [Drop axis_artist tickdir image compat, due to text-overhaul merge](matplotlib#31281) (2057583) * [text: Use font metrics to determine line heights](matplotlib#31291) (3ab6a27, d961462, 97f4943) * [ps/pdf: Override font height metrics to support AFM files](matplotlib#31371) (e0913d4) * [TST: Cleanup back-compat code in tests touched by text overhaul](matplotlib#31295) (7c33379) * [TST: Set tests touched by text overhaul to mpl20 style](matplotlib#31300) (41c4d8d)
| Back | FazBrowse Home | New Git URL |
A wide accent over more than one character should just be centered over
the underlying box. In any case this works better than the current
strategy of shifting by an amount depending on the box's width (which
results in absurdly large shifts for wide boxes).
When positioning over a single character the behavior is different --
TeX uses specific font metrics info for that case, and we can try
rendering as combining characters instead (not done in this PR; see #4561 (comment), #23257, etc.).
See https://tex.stackexchange.com/a/47064 for a description of TeX's behavior.
Closes #19299.
The reference images are included as a separate commit for reference, but I guess they should be stripped before merging, as usual.
figtext(.5, .5, r"$\widebar{foobarbazquux}$") used to give


but is now
PR summary
PR checklist