René's URL Explorer Experiment


Title: Improve fallback font export tests by QuLogic · Pull Request #28784 · matplotlib/matplotlib · GitHub

Open Graph Title: Improve fallback font export tests by QuLogic · Pull Request #28784 · matplotlib/matplotlib

X Title: Improve fallback font export tests by QuLogic · Pull Request #28784 · matplotlib/matplotlib

Description: PR summary Working on #28765, I realized that we don't need an external font to test font fallback, as cmr10, and related, fonts have fairly low coverage compared to DejaVu Sans. Thus font fallback can easily be tested by starting with cmr10, and pulling additional characters from DejaVu Sans. In addition, this change increases unique characters in the figure to 491, which triggers some code paths for tables that are normally limited to 256 characters. The latter may be a bit overkill, but it shows that EPS is broken for a large set of unique characters, at least when viewed with evince. In that case, about half the bottom set of accented characters is missing, without any warnings produce. I have not yet determined the cause of this problem, but it looks like both type 3 and 42 use the ttconv extension to subset, though for large character sets, type 3 is forced to 42. It is possible that #20866 might be helpful here, but it would also be helpful if someone could confirm with a different EPS viewer. PR checklist [n/a] "closes #0000" is in the body of the PR description to link the related issue new and changed code is tested [n/a] Plotting related features are demonstrated in an example [n/a] New Features and API Changes are noted with a directive and release note [n/a] Documentation complies with general and docstring guidelines

Open Graph Description: PR summary Working on #28765, I realized that we don't need an external font to test font fallback, as cmr10, and related, fonts have fairly low coverage compared to DejaVu Sans. Thus font fall...

X Description: PR summary Working on #28765, I realized that we don't need an external font to test font fallback, as cmr10, and related, fonts have fairly low coverage compared to DejaVu Sans. Thus font ...

Opengraph URL: https://github.com/matplotlib/matplotlib/pull/28784

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:ed686f9b-d2ea-5f6a-86cb-baadb5ab0cfb
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC722:274DA4:7C72EC:A92274:6A5376E2
html-safe-nonce7c60809a3eac66f4f68ab71ddbd2f8271cd07c883803c1b880d84dc4a2237bbd
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNzIyOjI3NERBNDo3QzcyRUM6QTkyMjc0OjZBNTM3NkUyIiwidmlzaXRvcl9pZCI6IjY0NDcxODQ1ODgxNTQ1NjYzNzAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac78135e2f8f2a16103348071f10264c6f820c4efa6c9178678de3546eb5f92750
hovercard-subject-tagpull_request:2056931356
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/28784/files
twitter:imagehttps://avatars.githubusercontent.com/u/302469?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/302469?s=400&v=4
og:image:altPR summary Working on #28765, I realized that we don't need an external font to test font fallback, as cmr10, and related, fonts have fairly low coverage compared to DejaVu Sans. Thus font fall...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/28784/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F28784%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F28784%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/pull/28784/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/28784/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/28784/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28784/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28784/files
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 408 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
tacaswellhttps://github.com/tacaswell
matplotlib:mainhttps://github.com/matplotlib/matplotlib/tree/main
QuLogic:better-fallback-testshttps://github.com/QuLogic/matplotlib/tree/better-fallback-tests
Conversation 5 https://github.com/matplotlib/matplotlib/pull/28784
Commits 3 https://github.com/matplotlib/matplotlib/pull/28784/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/28784/checks
Files changed https://github.com/matplotlib/matplotlib/pull/28784/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28784/files
Improve fallback font export tests https://github.com/matplotlib/matplotlib/pull/28784/files#top
Show all changes 3 commits https://github.com/matplotlib/matplotlib/pull/28784/files
d48cc1c Improve fallback font export tests QuLogic Sep 6, 2024 https://github.com/matplotlib/matplotlib/pull/28784/commits/d48cc1c4380d70e8149a2969f92e512dcd961d68
614093c TST: Remove duplicate font tests QuLogic Dec 3, 2024 https://github.com/matplotlib/matplotlib/pull/28784/commits/614093cef46e18ca4924fa725cbfba0a7c38b37f
921e49f TST: Always use UTF-8 when reading SVG for image comparisons QuLogic Dec 3, 2024 https://github.com/matplotlib/matplotlib/pull/28784/commits/921e49fd3de07e3a121e1ef4fb285a7d93bccb64
Clear filters https://github.com/matplotlib/matplotlib/pull/28784/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28784/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28784/files
__init__.py https://github.com/matplotlib/matplotlib/pull/28784/files#diff-dff5590a4cf0f221159c2e5534cf8f989b5fa3204590c72fe3e38ec57501ac2e
__init__.pyi https://github.com/matplotlib/matplotlib/pull/28784/files#diff-4ecfb31f0fd41e9e91b7dc23ab6e5e91975f13126417df8f5a908dc029bd5792
compare.py https://github.com/matplotlib/matplotlib/pull/28784/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
multi_font_type3.pdf https://github.com/matplotlib/matplotlib/pull/28784/files#diff-22ed8b26833dc40ad588b3dcaf7939d6846a71bea5853f61b2be4a04ef9a4221
multi_font_type42.pdf https://github.com/matplotlib/matplotlib/pull/28784/files#diff-dbcf59a5b5d1c9ff8aab54b639502f1026dc6eca907e920aa73a5ab87669afaf
multi_font_type3.eps https://github.com/matplotlib/matplotlib/pull/28784/files#diff-39d965cb03d30d8c3644bcd4fd38847a997aa6f02d1adb0cd15c180cfa774e3e
multi_font_type42.eps https://github.com/matplotlib/matplotlib/pull/28784/files#diff-be1865483c9629622ec29f1095a07693373949d4300100dde38040b204a0ea76
multi_font_aspath.svg https://github.com/matplotlib/matplotlib/pull/28784/files#diff-b10dcf7145e066e752a89d5190b04e3cd85260951596e646673ea425fd898873
multi_font_astext.svg https://github.com/matplotlib/matplotlib/pull/28784/files#diff-a9ea28d3d7b7fcbcf73f436d005604e6c7b2d516b57eaeeb6e96bf4f5142a58f
test_backend_pdf.py https://github.com/matplotlib/matplotlib/pull/28784/files#diff-0cf7c590a99c89f9e99eab1f172e84e787ad55d64ad71227b5eb9d89a868ebbc
test_backend_ps.py https://github.com/matplotlib/matplotlib/pull/28784/files#diff-cf2d08e0b34617ee2ff43a9e135ae7f4563c6f888e9fc1044bf8b913c1ebed4a
test_backend_svg.py https://github.com/matplotlib/matplotlib/pull/28784/files#diff-596c8e30ca12976a87641765ff0dcb16ce3da0c8af5525b8067b5f1c03831a2f
test_ft2font.py https://github.com/matplotlib/matplotlib/pull/28784/files#diff-d988ab3dec70d6cacfacc8a211e5bb138c9eb69d0a1ddc3665cf7041ea83c8b9
lib/matplotlib/testing/__init__.pyhttps://github.com/matplotlib/matplotlib/pull/28784/files#diff-dff5590a4cf0f221159c2e5534cf8f989b5fa3204590c72fe3e38ec57501ac2e
View file https://github.com/QuLogic/matplotlib/blob/921e49fd3de07e3a121e1ef4fb285a7d93bccb64/lib/matplotlib/testing/__init__.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/28784/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/28784/files#diff-dff5590a4cf0f221159c2e5534cf8f989b5fa3204590c72fe3e38ec57501ac2e
https://github.com/matplotlib/matplotlib/pull/28784/files#diff-dff5590a4cf0f221159c2e5534cf8f989b5fa3204590c72fe3e38ec57501ac2e
lib/matplotlib/testing/__init__.pyihttps://github.com/matplotlib/matplotlib/pull/28784/files#diff-4ecfb31f0fd41e9e91b7dc23ab6e5e91975f13126417df8f5a908dc029bd5792
View file https://github.com/QuLogic/matplotlib/blob/921e49fd3de07e3a121e1ef4fb285a7d93bccb64/lib/matplotlib/testing/__init__.pyi
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/28784/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/28784/files#diff-4ecfb31f0fd41e9e91b7dc23ab6e5e91975f13126417df8f5a908dc029bd5792
lib/matplotlib/testing/compare.pyhttps://github.com/matplotlib/matplotlib/pull/28784/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
View file https://github.com/QuLogic/matplotlib/blob/921e49fd3de07e3a121e1ef4fb285a7d93bccb64/lib/matplotlib/testing/compare.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/28784/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/28784/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/28784/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
lib/matplotlib/tests/baseline_images/test_backend_pdf/multi_font_type3.pdfhttps://github.com/matplotlib/matplotlib/pull/28784/files#diff-22ed8b26833dc40ad588b3dcaf7939d6846a71bea5853f61b2be4a04ef9a4221
View file https://github.com/QuLogic/matplotlib/blob/921e49fd3de07e3a121e1ef4fb285a7d93bccb64/lib/matplotlib/tests/baseline_images/test_backend_pdf/multi_font_type3.pdf
Open in desktop https://desktop.github.com
lib/matplotlib/tests/baseline_images/test_backend_pdf/multi_font_type42.pdfhttps://github.com/matplotlib/matplotlib/pull/28784/files#diff-dbcf59a5b5d1c9ff8aab54b639502f1026dc6eca907e920aa73a5ab87669afaf
View file https://github.com/QuLogic/matplotlib/blob/921e49fd3de07e3a121e1ef4fb285a7d93bccb64/lib/matplotlib/tests/baseline_images/test_backend_pdf/multi_font_type42.pdf
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28784/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.