GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||
GeezerVison is showing github.com — Fix auto-sized glyphs with BaKoMa fonts by QuLogic · Pull Request #29936 · matplotlib/matplotlib Conversation
|
I don't remember the exact semantics of _get_glyph off the top of my head, but from a quick look at it, did you mean "returns" instead of "expects" (emphasis mine in the quote above)? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Right yes. In fact, I meant that its callers expect the character codes (they use |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
b019f76 to
2b0fd80
Compare
|
After a bit of checking, I've found that for 12pt@100dpi, the multi-sized glyphs are 20, 30, 40, and 50 pixels, with regular text size being 16.671875 pixels (if available). So the text in the tests should look for an interior of 8.915625, 18.320833333333333, 25.156041666666667, 32.16734375, 42.03599479166666, which should hit all sizes of glyphs. Also, removed the regular sized braces |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I like the new implementation a lot, it's very clear (well, relative to the complexity of the task).
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
fd3409d to
c2a5501
Compare
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I guess it would be OK to test only one of the output formats, as we only care that the right glyphs are selected?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Do we have anything for that yet? There's |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
There's svgastext? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Since FreeType and the related PRs are merged in the Image changes are in a separate last commit so they can be stripped before merging. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| fig = plt.figure(figsize=(5.25, 0.75)) | ||
| fig.patch.set(visible=False) # Minimize image size. | ||
| fig.text(0.5, 0.5, text, | ||
| fig.text(0.5, 0.5, text, fontsize=16, |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Note, I increased the size here because the existing test with dashes is quite small when converted to PNG (maybe half a pixel high, which is antialiased to two grey pixels).
Sorry, something went wrong.
There was an error while loading. Please reload this page.
b3fd7d5 to
26a7d54
Compare
If the larger glyphs for an auto-sized character in `cmex10` uses a character that is in the `latex_to_bakoma` table, then it will be mapped an extra time into `cmr10` (usually). Thus we end up with a large version of a "normal" character, such as an exclamation point. Instead map these glyphs through the `latex_to_bakoma` table by using their glyph names as "commands". This ensures they don't get double-mapped to the wrong font and fixes the following issues: - slash (/) uses a comma at the larger sizes - right parenthesis uses an exclamation point at the largest size - left and right braces use parentheses at the largest size - right floor uses a percentage sign at the largest size - left ceiling uses an ampersand at the largest size Also, drop the regular size braces, as they are the same as the first `big`-sized version.
26a7d54 to
3ba2c13
Compare
|
Rebased without test images (which were moved to the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Fix auto-sized glyphs with BaKoMa fonts
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)
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
Unexpected replacement of \right) with exclamation point in MathTextParser output
There was an error while loading. Please reload this page.