22390 Commits

Author SHA1 Message Date
Jonas Jenwald
f9ecebe63c Add a helper class for building TrueType font tables
This helps reduce the amount of boilerplate code needed in multiple spots throughout the font code, and more importantly it'll help when building TrueType tables whose final size is non-trivial to compute upfront.
2026-04-14 20:36:34 +02:00
Jonas Jenwald
7f7ac949ff
Merge pull request #21100 from Snuffleupagus/createTables-TypedArray
Use TypedArrays when building even more TrueType tables
2026-04-14 20:35:22 +02:00
calixteman
ee72d8d460
Merge pull request #21102 from nicolo-ribaudo/fix-pattern-fill-deps-tracking
Fix dependency tracking in pattern fill
2026-04-14 18:04:45 +02:00
Nicolò Ribaudo
2ad6b88850
Fix dependency tracking in pattern fill
1. Record `fill` dependencies even if we early return due to `isPatternFill``
2. Isolate the `drawPattern` inner `executeOperationList` in a
   `CanvasNestedDependencyTracker` so that it does not consume pending
   dependencies from the outer list.
2026-04-14 14:16:26 +01:00
Jonas Jenwald
634ce3c163 Convert the return value in createCmapTable and createNameTable to a TypedArray
Compared to the other TrueType table building functions, see previous patches, these ones are not trivial to convert to use TypedArrays properly.
However, in order to simplify the `OpenTypeFileBuilder` implementation a little bit we can at least have these functions return TypedArray data.
2026-04-14 12:28:45 +02:00
Jonas Jenwald
e8ed6c6e24 Use a TypedArray in the createOS2Table function 2026-04-14 10:43:42 +02:00
Jonas Jenwald
aa0bc24e95 Use a TypedArray in the createPostTable function 2026-04-14 10:43:42 +02:00
calixteman
419c2652c3
Merge pull request #21094 from calixteman/issue17784
Correctly sync the transform on the scratch canvas
2026-04-13 23:58:20 +02:00
calixteman
1025af059f
Merge pull request #21099 from calixteman/no_gpu
Use the gpu for drawing meshes only when it has more than 16 triangles (bug 2030745)
2026-04-13 23:55:52 +02:00
calixteman
865b48893a
Correctly sync the transform on the scratch canvas
It fixes #17784.
2026-04-13 23:54:53 +02:00
calixteman
d1ef620541
Merge pull request #21096 from calixteman/issue13520
Fix blending issues while compositing
2026-04-13 22:40:12 +02:00
Calixte Denizet
a2c57ee69e
Use the gpu for drawing meshes only when it has more than 16 triangles (bug 2030745)
And in order to slightly improve performances, move the figure creation in the worker.
2026-04-13 22:23:03 +02:00
calixteman
22bcaf5a8a Fix blending issues while compositing
It fixes #13520.
And remove dead code.
2026-04-13 22:12:04 +02:00
calixteman
b82ceda22b
Merge pull request #21060 from calixteman/implement_merge
Add the UI for merging PDFs (bug 2028071)
2026-04-13 21:37:02 +02:00
calixteman
2417d9aecb
Merge pull request #21098 from calixteman/rm_workaround_1820511
Remove the workaround for bug 1820511
2026-04-13 21:28:49 +02:00
Tim van der Meij
7aca886f2b
Merge pull request #21097 from Snuffleupagus/convert-tables-TypedArray
Use TypedArrays when building more TrueType tables
2026-04-13 21:07:07 +02:00
Calixte Denizet
8c9b819b4e
Add the UI for merging PDFs (bug 2028071) 2026-04-13 19:38:56 +02:00
Calixte Denizet
ec35057b46
Remove the workaround for bug 1820511 2026-04-13 16:49:07 +02:00
calixteman
96debf0c81
Merge pull request #21095 from calixteman/issue19634
Take into account CharProcs keys when computing the type3 hash
2026-04-13 16:09:21 +02:00
calixteman
052e29cc56
Take into account CharProcs keys when computing the type3 hash
It fixes #19634.
2026-04-13 14:49:39 +02:00
Jonas Jenwald
2437f5f961 Use a TypedArray when building the "head" TrueType table 2026-04-13 12:41:41 +02:00
Jonas Jenwald
5096982cfc Use a TypedArray when building the "hhea" TrueType table 2026-04-13 12:41:41 +02:00
Jonas Jenwald
0c789ecc97 Use a TypedArray when building the "maxp" TrueType table 2026-04-13 12:41:41 +02:00
Jonas Jenwald
aaaf143156 Use a DataView when building the "hmtx" TrueType table (PR 21072 follow-up) 2026-04-13 12:41:38 +02:00
Jonas Jenwald
652700dac6
Merge pull request #21078 from Snuffleupagus/isTrueTypeFile-rm-readUint32
Remove `readUint32` usage from the `isTrueTypeFile` function
2026-04-12 21:34:20 +02:00
Jonas Jenwald
2e5ab9c9eb Remove unused helper functions in src/core/core_utils.js
After recent patches, that added more `DataView` usage, these helper functions are now unused.
2026-04-12 19:52:02 +02:00
Jonas Jenwald
c92d4be973 Remove readUint32 usage from the isTrueTypeFile function
This is the only `readUint32` usage in the `src/core/fonts.js` file, and it can be trivially replaced with a string comparison.
2026-04-12 19:50:53 +02:00
Jonas Jenwald
169d8c9616
Merge pull request #21077 from Snuffleupagus/FontRendererFactory-DataView
Re-factor the `FontRendererFactory` class, and related code, to use `DataView`s when reading data
2026-04-12 19:50:06 +02:00
Tim van der Meij
8cfb1f8456
Merge pull request #21093 from timvandermeij/updates
Update dependencies to the most recent versions
2026-04-12 19:39:05 +02:00
Jonas Jenwald
a24d86e1cf Re-factor the FontRendererFactory class, and related code, to use DataViews when reading data 2026-04-12 18:34:19 +02:00
Tim van der Meij
88abcefea0
Merge pull request #21080 from calixteman/recursive_glyf
Avoid infinite recursion while compiling a glyph
2026-04-12 18:32:03 +02:00
Tim van der Meij
89b195d35c
Merge pull request #21092 from Snuffleupagus/AnnotationEditorLayer-stopEvent
Use the `stopEvent` helper function in the `AnnotationEditorLayer` class
2026-04-12 18:31:31 +02:00
Tim van der Meij
0d61268875
Merge pull request #21091 from calixteman/debbuger_array_content_stream
[Debugger] Fix the content stream rendering when it's a ref to an array
2026-04-12 16:29:28 +02:00
Tim van der Meij
d3b00c3b32
Upgrade babel-plugin-istanbul to version 8.0.0
This is a major version bump, but the changelog at
https://github.com/istanbuljs/babel-plugin-istanbul/releases/tag/v8.0.0
doesn't indicate any breaking changes that should impact us (the
dependency update meant a bump of the minimal required Node.js version
to 18, but our minimal supported version is already higher than that).
2026-04-12 16:17:03 +02:00
Tim van der Meij
583c9d6b98
Update dependencies to the most recent versions
Note that the `globals` update rendered two ESLint ignore lines obsolete
because the `Sanitizer` global is now registered [1].

[1] 5d84602967
2026-04-12 16:16:21 +02:00
Calixte Denizet
b4d689ce06
Avoid infinite recursion while compiling a glyph 2026-04-12 14:55:22 +02:00
Tim van der Meij
006931f3d3
Merge pull request #21090 from calixteman/issue21089
Remove pattern fill when setting fill color before drawing a tile
2026-04-12 14:42:49 +02:00
Tim van der Meij
57acd97f6d
Merge pull request #21088 from Snuffleupagus/fonts-rm-int32-helper
Remove the `int32` helper, and replace it with `DataView` usage, in `src/core/fonts.js`
2026-04-12 14:25:14 +02:00
Jonas Jenwald
041f58f1e6 Use the stopEvent helper function in the AnnotationEditorLayer class 2026-04-12 14:23:52 +02:00
Tim van der Meij
01f5de36ad
Merge pull request #21087 from Snuffleupagus/Jbig2Image-DataView
Re-factor the `Jbig2Image` class, and related code, to use `DataView`s when reading data
2026-04-12 14:23:34 +02:00
Tim van der Meij
fbed36db00
Merge pull request #21082 from calixteman/fix_comb_ltr
Fix how the text is printed/saved in a comb field when it's a RTL one
2026-04-12 14:16:42 +02:00
Tim van der Meij
1a1e5dc296
Merge pull request #21083 from mozilla/dependabot/npm_and_yarn/basic-ftp-5.2.2
Bump basic-ftp from 5.2.1 to 5.2.2
2026-04-12 14:12:38 +02:00
calixteman
5cc5d9be45
[Debugger] Fix the content stream rendering when it's a ref to an array
It can be verified in opening stepped.pdf (see #21089).
2026-04-12 13:40:18 +02:00
calixteman
6d3034d4f9
Remove pattern fill when setting fill color before drawing a tile
It fixes #21089.
2026-04-12 13:08:45 +02:00
Jonas Jenwald
f924526f1a Remove the int32 helper, and replace it with DataView usage, in src/core/fonts.js
This helper function only had a single call-site, and it's easily replaced with a `DataView` method.
Additionally, to hopefully make future re-factoring easier, create a `DataView` for each TrueType table.
2026-04-12 10:01:14 +02:00
Jonas Jenwald
5089cceec7
Merge pull request #21086 from Snuffleupagus/JpegImage-DataView
Re-factor the `JpegImage` class, and related code, to use `DataView`s when reading data
2026-04-11 17:34:39 +02:00
Jonas Jenwald
afbded8da1 Re-factor the Jbig2Image class, and related code, to use DataViews when reading data 2026-04-11 16:44:15 +02:00
Jonas Jenwald
64e5a7021d Re-factor the JpegImage class, and related code, to use DataViews when reading data 2026-04-11 12:44:30 +02:00
dependabot[bot]
ec827e0766
Bump basic-ftp from 5.2.1 to 5.2.2
Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)
- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.2.1...v5.2.2)

---
updated-dependencies:
- dependency-name: basic-ftp
  dependency-version: 5.2.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-10 22:09:53 +00:00
Calixte Denizet
fa9b2ae32c Fix how the text is printed/saved in a comb field when it's a RTL one 2026-04-10 22:48:18 +02:00