Skip to content
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

[pull] master from Automattic:master #36

Open
wants to merge 101 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 31, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jan 31, 2022
chearon and others added 27 commits February 24, 2022 20:12
greatly improves font matching accuracy

Fixes #1572
Use latest setup-node and pin to Windows 2019. Windows 2022 needs dealing with later.
* feat: add ESM support

* docs: updated CHANGELOG

* refactor: destructure once

Co-authored-by: Mohammed Keyvanzadeh <[email protected]>

* fix: use `exports.[name] = value` instead

Co-authored-by: Mohammed Keyvanzadeh <[email protected]>
the problem was exposed by #1987, but was always there

fixes #2041
While testing the solution for a local build, I got the next output:
```sh
Package pixman-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `pixman-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pixman-1' found
gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
```

After updating the command to the following: `brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman`, I was able to generate a succesful build.

```sh
brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman;
cd /node_modules/canva && npx node-gyp rebuild;
```
`rgb()` and `rgba()` are supposed to have identical grammar and behavior: https://www.w3.org/TR/css-color-4/#rgb-functions.

Fixes #2029
v9 dropped Node.js v10 support.
The WPT tests for this now pass. See issue for test content; I think it makes more sense to land the WPT tests than to copy individual ones into the node-canvas tests.

Fixes #2055
Borrowed from Chromium instead of reinventing the wheel. Firefox's is similar: https://searchfox.org/mozilla-central/source/gfx/2d/PathHelpers.h#127

Fixes #1736
Fixes #1808
* Adds deregisterAllFonts to the typescript declaration file

* updates changelog with deregisterAllFonts type fix
https://developer.chrome.com/blog/canvas2d/#round-rect

WPT tests:
    326 passing (1s)
    9 pending
    129 failing (down from 179)
This bug goes back 10 years to the original implementation.

Fixes #1909
pranav1344 and others added 19 commits June 23, 2024 12:30
* Fix leading whitespace in color string issue

* Add parsing support for floating point numbers in rbg function

* Update CHANGELOG.md
Add fix to the changelog
Use regexp syntax for "string"

Co-authored-by: Caleb Hearon <[email protected]>
update CHANGELOG
fix changelog
incorrect now, correct after we merge #2296
…d have

Changed PNG consts to static properties
* Handle Exif orientation for JPEG images

* Updated CHANGELOG.md

* Changes for PR

---------

Co-authored-by: Geoffrey Prewett <[email protected]>
broke in #2296 because we don't run tests on PRs for some reason

- getNext didn't return in all paths. Check wasn't necessary.
- Windows doesn't have fseeko or ftello. I highly doubt we'll ever
  need 64 bits to address images.
- Lambda functions get their own anonymous types and C++ standards
  don't require them to be interchangeable.
These are the currently supported versions. Luckily the Windows
file path issue was backported to node 20.
this was accidentally relying on people importing ambient DOM
declarations
yumiura and others added 8 commits January 11, 2025 11:42
This is the first part needed for the new font stack, which will
look like the FontFace-based API the browsers have. FontFace uses
a parser for font-family, font-size, etc., so I will need deeper
control over the parser.

FontFace will be implemented in C++ and I didn't want to carry
over the awkward (and slow) switching between JS and C++. So here
it is. I used Claude to generate initial classes and busy work,
but it's been heavily examined and heavily modified.

Caching aside, this is 3x faster in the benchmarks, which use
random names to bypass the cache, and still a full 2x as fast when
the JS version has a cached value. Those results were a bit
inconsistent, so I'm not sure how much I trust them, but I expect
this parser to have a stable performance profile nonetheless, so
I'm not going to add any caching.

It's also far more correct than what we had!
Co-Authored-By: Caleb Hearon <[email protected]>
fix a crash in getImageData if the rectangle is outside the canvas

return transparent black pixels when getting image data outside the canvas

remove dead code, add comments

Fixes #2024
Fixes #1849
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.