Adrian Johnson
4815949d2f
Fix the scaled_glyph_init color glyph logic
...
and split _cairo_user_scaled_glyph_init() into multiple functions.
Update user-font test to test changing foreground text color.
2022-04-25 17:08:07 +09:30
Adrian Johnson
cdcb67ef87
Merge branch 'fix-color-glyph-clear-surface' into 'master'
...
Fix rendering of color glyphs on a clear surface
Closes #539
See merge request cairo/cairo!283
2022-04-25 05:15:52 +00:00
Adrian Johnson
083ff4b511
Merge branch 'color-font-vector-surface' into 'master'
...
Paint color glyphs in fallback resolution on vector surfaces
See merge request cairo/cairo!293
2022-04-24 12:26:20 +00:00
Uli Schlachter
d9a5aa9d97
Merge branch 'issue558' into 'master'
...
fixed double free in _cairo_ps_surface_emit_base85_string
Closes #558
See merge request cairo/cairo!312
2022-04-23 05:26:22 +00:00
Uli Schlachter
5b662c925c
Merge branch 'fix-uaf-stream_internal' into 'master'
...
Fix a use after free in _cairo_svg_surface_create_for_stream_internal
Closes #561
See merge request cairo/cairo!315
2022-04-22 16:34:39 +00:00
Uli Schlachter
0614305093
Merge branch 'fix-double-free-mono-scan' into 'master'
...
Fix a double free in _cairo_mono_scan_converter_create
Closes #557
See merge request cairo/cairo!313
2022-04-22 15:49:56 +00:00
Feysh INC
d7cb417e0e
Fix a use after free in _cairo_svg_surface_create_for_stream_internal
...
When `_cairo_svg_surface_create_for_document()` failed, it will free the
`document` by `_cairo_svg_document_destroy()`. But after `_cairo_svg_surface_create_for_document` return a error status, the `document` is still used and destoryed by `_cairo_svg_document_destroy()`.
We remove the redundant `_cairo_svg_document_destroy()` in `_cairo_svg_surface_create_for_stream_internal` to avoid this bug.
This fixes #561 .
Signed-off-by: Feysh INC <opensource@feysh.com>
2022-04-22 21:24:09 +08:00
Adrian Johnson
04232d9871
Merge branch 'font-status' into 'master'
...
Check font status in show_text_glyphs
See merge request cairo/cairo!307
2022-04-22 12:32:21 +00:00
Feysh INC
fa8f456c2b
Fix a use after free in cairo_scaled_font_create
...
When `font_face` is freed by `cairo_font_face_destroy()` at line 1,150,
the following call `_cairo_font_face_set_error (font_face, status)`
causes a use after free.
We moved up the `_cairo_font_face_set_error (font_face, status)` before
`cairo_font_face_destroy()` to avoid the use after free.
Signed-off-by: Feysh INC <opensource@feysh.com>
2022-04-22 17:09:47 +08:00
Feysh INC
99cd4bb3bd
Fix a double free in _cairo_mono_scan_converter_create
...
When `_mono_scan_converter_init` failed,
`self->converter->polygon` will be freed by `polygon_fini()`. However,
the `bail` branch still called `polygon_fini()` to free
`self->converter->polygon`.
We remvoe the redundant `polygon_fini()` in `_mono_scan_converter_init`
to avoid the double free.
This fixes #557 .
Signed-off-by: Feysh INC <opensource@feysh.com>
2022-04-22 16:43:59 +08:00
Ayman El Didi
a154424db3
fixed double free in _cairo_ps_surface_emit_base85_string
...
When taking the CAIRO_PS_COMPRESS_DEFLATE branch of the switch
statement in _cairo_ps_surface_emit_base85_string, memory is freed
a second time when closing the deflate_stream fails after performing a
write.
The status is now simply returned instead of attempting to free it
again.
2022-04-20 15:11:14 -06:00
Uli Schlachter
a934fa66db
Merge branch 'dwrite-fixes' into 'master'
...
DWrite fixes
See merge request cairo/cairo!311
2022-04-19 16:17:26 +00:00
Adrian Johnson
e15a1e9a06
Fix mingw warning
...
it doesn't like '%lld' in snprintf
2022-04-19 19:58:44 +09:30
Adrian Johnson
90e6f2a9f7
DWrite: Replace manual or missing ref counting with RefPtr
2022-04-19 19:58:44 +09:30
Adrian Johnson
3998a79cc2
DWrite: check 'head' table as well as 'name' when comparing fonts
...
There may be different versions of fonts with the same name. As an
additional check, compare the 'head' table wich contains the checksum
for the font.
Also, load the DWrite tables directly to avoid the memcpy in
load_truetype_table.
2022-04-19 19:58:44 +09:30
Adrian Johnson
2b355954a8
DWrite: ensure all private functions are static
2022-04-19 19:58:44 +09:30
Adrian Johnson
655a8a40a7
Dwrite glyph_path fails when the font matrix is not a positive uniform scale
2022-04-19 19:58:44 +09:30
Adrian Johnson
75f0ecb34e
Fix Win64 compile warning
2022-04-19 19:58:44 +09:30
Adrian Johnson
1cc23206bd
Fix scaled_glyph hash lookup on Win64
...
This was failing due to sizeof(uintptr_t) != sizeof(long) on Win64
2022-04-19 19:58:44 +09:30
Adrian Johnson
6454f65ec5
Allow the C++ code in dwrite-font to use the debug functions
2022-04-19 19:58:44 +09:30
Adrian Johnson
b4014daedf
DWrite: Use twin font if default font not found
...
If the default font is not found, return CAIRO_INT_STATUS_UNSUPPORTED
to cause _cairo_toy_font_face_create_impl_face to create the Twin user
font fallback.
2022-04-19 19:58:44 +09:30
Adrian Johnson
672c92e19c
Fix DWrite error handling
...
- Fix a few cases of incorrect error handling
- Use a consistent style and variable names for errors
2022-04-19 19:58:40 +09:30
Adrian Johnson
d2f65a7306
Dwrite: implement is_synthetic()
2022-04-19 19:56:32 +09:30
Adrian Johnson
0321ac99a4
cairoint.h: update some comments
2022-04-19 19:48:46 +09:30
Uli Schlachter
0e1cffe364
Merge branch 'ctype' into 'master'
...
Replace use of ctype functions with internal version where only ASCII chars are used
See merge request cairo/cairo!310
2022-04-15 10:46:05 +00:00
Adrian Johnson
5b18aeffbb
Replace use of ctype functions with internal version where only ASCII chars are used
...
In !309 Taylor R Campbell found a number of instances of ctype
incorrectly passed a signed char. In many cases, where only ASCII
characters are used, the code should have been using the cairo version
of the ctype function to avoid locale issues.
2022-04-09 22:08:57 +09:30
Uli Schlachter
20a54465c5
Merge branch 'issue-537' into 'master'
...
Add CAIRO_DEBUG_PS_NO_DATE env var to remove date from PS output
Closes #537
See merge request cairo/cairo!308
2022-04-05 15:48:53 +00:00
Adrian Johnson
092da8a997
Add CAIRO_DEBUG_PS_NO_DATE env var to remove date from PS output
...
Fixes #537
2022-04-05 20:04:47 +09:30
Adrian Johnson
0e284245d7
Check font status in show_text_glyphs
...
to prevent asserting in _cairo_scaled_font_freeze_cache()
2022-04-05 17:38:13 +09:30
Uli Schlachter
688164abaa
Merge branch 'issue-551' into 'master'
...
Fix type1-subset indexing
Closes #551
See merge request cairo/cairo!306
2022-04-03 11:21:19 +00:00
Adrian Johnson
ff4fd6f960
Fix type1-subset indexing
...
Fixes #551
2022-04-03 20:06:10 +09:30
Uli Schlachter
521a3a7bdb
Merge branch 'doxygen-typos' into 'master'
...
Fix typos in doxygen and source comments
See merge request cairo/cairo!304
2022-03-29 13:46:00 +00:00
luz paz
25d588e6c0
Fix typos in doxygen and source comments
2022-03-28 16:43:03 -04:00
Uli Schlachter
4931e44f23
Merge branch 'dwrite-toy-font' into 'master'
...
Ensure DWrite toy fonts can not fail if font name not found
See merge request cairo/cairo!302
2022-03-21 19:13:11 +00:00
Adrian Johnson
136bf8c191
Ensure DWrite toy fonts can not fail if font name not found
2022-03-22 04:54:05 +10:30
Uli Schlachter
359afa3e88
Merge branch 'meson-fixes' into 'master'
...
autotools: Dist some files required for meson
See merge request cairo/cairo!303
2022-03-20 17:32:42 +00:00
David King
93f13ced85
autotools: Dist some files required for meson
...
https://gitlab.freedesktop.org/cairo/cairo/-/issues/547
2022-03-20 16:37:49 +00:00
Emmanuele Bassi
ad3bace256
Post-release version bump to 1.17.7
2022-03-18 18:49:24 +00:00
Emmanuele Bassi
b43e7c6f3c
Release Cairo 1.17.6 (snapshot)
2022-03-18 18:40:07 +00:00
Emmanuele Bassi
8344dc1136
build: Avoid SSHing into a host during release checks
...
We really don't need to have SSH access if we're just checking for the
integrity of the next release. We can simply check if a specially
crafted file linking to the latest release is present.
2022-03-18 18:40:07 +00:00
Adrian Johnson
1e5a98b9cb
Merge branch 'malloc-hook2' into 'master'
...
Fix warning in malloc-stats.c
See merge request cairo/cairo!297
2022-03-12 01:24:14 +00:00
Adrian Johnson
ec54603366
Merge branch 'issue-263-2' into 'master'
...
Fix font count in Inkscape's win32 pdf export
See merge request cairo/cairo!296
2022-03-09 09:36:35 +00:00
Adrian Johnson
9bb2036369
Fix warning
...
../util/malloc-stats.c:295:1: warning: no previous declaration for ‘malloc_stats’ [-Wmissing-declarations]
2022-03-09 19:43:48 +10:30
Nathan Lee
82119ec2f3
Fix font count in Inkscape's win32 pdf export
...
Fix win32 hash comparison, where unsigned long is shorter than
uintptr_t. Follow-up to 9fbf427548 .
2022-03-09 12:43:42 +11:00
Adrian Johnson
777d35fa87
Merge branch 'malloc-hook' into 'master'
...
Replace deprecated malloc_hook
See merge request cairo/cairo!295
2022-03-08 21:22:25 +00:00
Adrian Johnson
d2f1827cde
Replace deprecated malloc_hook
2022-03-09 06:58:28 +10:30
Adrian Johnson
1c0a9aac01
Merge branch 'dwrite-docs' into 'master'
...
DWrite font docs
See merge request cairo/cairo!294
2022-03-07 07:40:19 +00:00
Adrian Johnson
989d368dc5
DWrite font docs
2022-03-05 16:56:56 +10:30
Adrian Johnson
135327c112
Merge branch 'win32-color-fonts' into 'master'
...
Windows color fonts
See merge request cairo/cairo!244
2022-03-05 03:54:58 +00:00
Adrian Johnson
5018120af0
Update ref images
2022-03-05 11:51:55 +10:30