René's URL Explorer Experiment


Title: Add tests for most of FT2Font, and fix some bugs by QuLogic · Pull Request #28765 · matplotlib/matplotlib · GitHub

Open Graph Title: Add tests for most of FT2Font, and fix some bugs by QuLogic · Pull Request #28765 · matplotlib/matplotlib

X Title: Add tests for most of FT2Font, and fix some bugs by QuLogic · Pull Request #28765 · matplotlib/matplotlib

Description: PR summary I tried to cross-compare these against something external, like FontForge or fonttools, though a lot are just "make sure it keeps working the same way". I left out FT2Font.get_ps_font_info because it doesn't appear that any of shipped fonts would return anything but None. Additionally, this fixes a few bugs I've found: The return value of FT2Font.set_text is a NumPy array with a data pointer that was freed, meaning any reading of it would read an invalid pointer. Apparently, we never use this return value internally, so it's never been a problem, but it has existed since about forever. The created/modified timestamps in the head table from FT2Font.get_sfnt_table were signed, which is incorrect, as they should still be positive now, given that the epoch is some time in 1901. I'm not sure if we want to consider changing these to datetimes instead, but that would be an API change, so I didn't do that. Fix a few errors in the docs. I want to also add some more tests for fallbacks, but haven't finished that yet. 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 Documentation complies with general and docstring guidelines

Open Graph Description: PR summary I tried to cross-compare these against something external, like FontForge or fonttools, though a lot are just "make sure it keeps working the same way". I left out FT2Font.get_...

X Description: PR summary I tried to cross-compare these against something external, like FontForge or fonttools, though a lot are just "make sure it keeps working the same way". I left out FT2F...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:673fdc84-94e4-6eb3-4713-c1ba2e70504b
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id82F4:1A7CA7:C6AF28:106EF5C:6A5323E7
html-safe-nonce999a7f0c3cf51f8b869c8e746bd4c33988df064c96c22fbff187897d671250f6
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MkY0OjFBN0NBNzpDNkFGMjg6MTA2RUY1Qzo2QTUzMjNFNyIsInZpc2l0b3JfaWQiOiI2OTYwNTc3MTk0NTc0OTQ3MzAzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac6456e565d5329c62e86ca616630b92b1979e75dc464a37d4429c089f901e9cda
hovercard-subject-tagpull_request:2043535808
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/28765/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 I tried to cross-compare these against something external, like FontForge or fonttools, though a lot are just "make sure it keeps working the same way". I left out FT2Font.get_...
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-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/28765/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F28765%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%2F28765%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/28765/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/28765/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/28765/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28765/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28765/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:ft2font-testshttps://github.com/QuLogic/matplotlib/tree/ft2font-tests
Conversation 2 https://github.com/matplotlib/matplotlib/pull/28765
Commits 11 https://github.com/matplotlib/matplotlib/pull/28765/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/28765/checks
Files changed https://github.com/matplotlib/matplotlib/pull/28765/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28765/files
Add tests for most of FT2Font, and fix some bugs https://github.com/matplotlib/matplotlib/pull/28765/files#top
Show all changes 11 commits https://github.com/matplotlib/matplotlib/pull/28765/files
2c3cae2 TST: Add a test for FT2Image QuLogic Aug 23, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/2c3cae2c610e1e56696607030e618e9eca7de0ba
720aed0 TST: Add tests for FT2Font attributes QuLogic Aug 23, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/720aed081b8a805ba5e6be1d841f5e2acce191c5
a1b4498 TST: Add tests for invalid FT2Font arguments QuLogic Aug 23, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/a1b449865bf7c7252e5d42e19761c64868b357f2
2387233 TST: Add tests for FT2Font.clear QuLogic Aug 23, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/2387233bfa860064310a55ffb1d950dc90628eda
6bad7f0 TST: Add tests for FT2Font charmaps QuLogic Aug 24, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/6bad7f09906c5d748c54a54e766667cd29c16fab
2754aaa TST: Add tests for FT2Font.get_sfnt{,_table} QuLogic Aug 24, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/2754aaa42774aa89a6172b22140b86bb118223c1
3748c99 TST: Add tests for FT2Font.get_kerning QuLogic Aug 24, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/3748c992c82688eb015e3ddc782678f2e045606f
833a259 Fix return value of FT2Font.set_text and add tests for it QuLogic Aug 27, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/833a2593b694145ee7912737ce33274690851cf2
f618fc2 TST: Add test for FT2Font.set_size QuLogic Aug 27, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/f618fc21ca805b1b9dccecb364c1acea6c1fe30c
7c390de TST: Add tests for FT2Font.load_{char,glyph} QuLogic Aug 29, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/7c390dec98d0952057723f64aeb82d1b2a7e37d5
06df253 TST: Add tests for FT2Font drawing and path generation QuLogic Aug 29, 2024 https://github.com/matplotlib/matplotlib/pull/28765/commits/06df2537df7250f87885a8d67140f2eeb0990f8c
Clear filters https://github.com/matplotlib/matplotlib/pull/28765/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28765/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28765/files
test_ft2font.py https://github.com/matplotlib/matplotlib/pull/28765/files#diff-d988ab3dec70d6cacfacc8a211e5bb138c9eb69d0a1ddc3665cf7041ea83c8b9
ft2font.cpp https://github.com/matplotlib/matplotlib/pull/28765/files#diff-f93030a94ba0b041408f7cc149797d83d6aa24a539a8e8c067e3b8a40a220600
ft2font_wrapper.cpp https://github.com/matplotlib/matplotlib/pull/28765/files#diff-5a4638a8d55cba783f8c2dfea1847d86fb17267bc9cf044afc66a51270dd9879
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/28765/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.