File tree 3 files changed +9
-1
lines changed
3 files changed +9
-1
lines changed Original file line number Diff line number Diff line change 5
5
- Fixed support for macos backend on Matplotlib≥3.6.
6
6
- Fixed compatibility with wheel≥0.41.
7
7
- Support pdf MaxVersion up to 1.7 (if the underlying cairo supports it).
8
+ - Support custom pdf metadata entries.
8
9
- `set_options ` can now be used as a context manager.
9
10
10
11
v0.5 (2022-08-18)
Original file line number Diff line number Diff line change @@ -536,9 +536,13 @@ void GraphicsContextRenderer::_set_metadata(std::optional<py::dict> metadata)
536
536
detail::cairo_pdf_surface_set_metadata (
537
537
surface, detail::CAIRO_PDF_METADATA_MOD_DATE,
538
538
it.second .attr (" isoformat" )().cast <std::string>().c_str ());
539
+ } else if (detail::cairo_pdf_surface_set_custom_metadata) {
540
+ detail::cairo_pdf_surface_set_custom_metadata (
541
+ surface, key.c_str (), it.second .cast <std::string>().c_str ());
539
542
} else {
540
543
py::module::import (" warnings" ).attr (" warn" )(
541
- " Unsupported PDF metadata entry: " + key);
544
+ " cairo_pdf_surface_set_custom_metadata requires cairo>=1.17.6; "
545
+ " unsupported PDF metadata entry: " + key);
542
546
}
543
547
}
544
548
break ;
Original file line number Diff line number Diff line change @@ -51,6 +51,8 @@ extern cairo_surface_t* (*cairo_pdf_surface_create_for_stream)(
51
51
cairo_write_func_t , void *, double , double );
52
52
extern void (*cairo_pdf_surface_restrict_to_version)(
53
53
cairo_surface_t *, cairo_pdf_version_t );
54
+ extern void (*cairo_pdf_surface_set_custom_metadata)(
55
+ cairo_surface_t *, char const *, char const *);
54
56
extern void (*cairo_pdf_surface_set_metadata)(
55
57
cairo_surface_t *, cairo_pdf_metadata_t , char const *);
56
58
extern void (*cairo_pdf_surface_set_size)(cairo_surface_t *, double , double );
@@ -81,6 +83,7 @@ extern void (*cairo_svg_surface_restrict_to_version)(
81
83
_ (cairo_pdf_get_versions) \
82
84
_ (cairo_pdf_surface_create_for_stream) \
83
85
_ (cairo_pdf_surface_restrict_to_version) \
86
+ _ (cairo_pdf_surface_set_custom_metadata) \
84
87
_ (cairo_pdf_surface_set_metadata) \
85
88
_ (cairo_pdf_surface_set_size) \
86
89
_ (cairo_ps_get_levels) \
You can’t perform that action at this time.
0 commit comments