| Commit message (Collapse) | Author | Files | Lines |
|
fixes ungrouping of "font-weight:bolder"
fixes "titling-caps" parsing
fixes a casting error in CairoRenderContext::renderGlyphtext
|
|
|
|
Specifically image-rendering="crisp-edges" should use a scaling
algorithm that does *not* blur edges.
Unfortunately this only leaves CAIRO_FILTER_NEAREST, but seems to
be the most suitable choice.
|
|
-Wconstant-conversion
-Wenum-compare-switch
-Wpointer-bool-conversion
-Wundefined-bool-conversion
-Wunused-value
Excluding deprecation warnings and 3rdparty directory.
|
|
|
|
- metadata is taken from the SVG document;
- fields that are compatible with the target format
(and also supported by cairo) are set accordingly
|
|
|
|
|
|
|
|
|
|
- add license headers to everything
- convert a few files from public domain or LGPL2.1+ to GPL2+
- some archaeology to clarify which files are from which library
|
|
|
|
The former is guaranteed to be set for any compiler targeting win32,
the latter is implementation dependent (but works for gcc)
See also
http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
|
|
This is a follow-up to 1e31c41a0ef4b0f383d4f9d2941f643ae67ca646.
As it turns out the same issue also applied to bitmap images
embedded in the SVG.
Replacing 'cairo_paint_with_alpha()' -> 'cairo_paint()' prevents
reducing opacity when rendering the bitmap onto a cairo surface.
Opacity should already be properly handled in
CairoRenderContext::popLayer()
|
|
|
|
|
|
pref optional to scale dashes on stroke scale
|
|
|
|
|
|
This renames most C <*.h> includes into C++ <c*> includes.
|
|
This replaces all NULL or 0 with nullptr when assigned to or returned as
a pointer.
|
|
|
|
This reverts commit bba4ff6672494fab59286b50f6c645ad62a47e60.
|
|
|
|
Whilst working on the Reproducible Builds effort [0], we noticed
that inkscape generates output that is not reproducible:
$ cp /usr/share/icons/gnome/scalable/places/debian-swirl.svg .
$ inkscape -z debian-swirl.svg --export-width=25 --export-pdf=a.pdf
$ sleep 1
$ inkscape -z debian-swirl.svg --export-width=25 --export-pdf=b.pdf
$ sha1sum *.pdf
bee6f300a8fce628e94febd0700fa97f90aa7b37 a.pdf
32f26595ec1957c7e714174e007c452f6cb5dd79 b.pdf
This is affecting (at least) the "debian-astro" package:
│ │ │ ├── ./usr/share/pixmaps/Debian-Astro-logo.pdf
│ │ │ │ ├── pdftk {} output - uncompress
│ │ │ │ │ @@ -357,15 +357,15 @@
│ │ │ │ │ <<
│ │ │ │ │ /Type /Catalog
│ │ │ │ │ /Pages 1 0 R
│ │ │ │ │ >>
│ │ │ │ │ endobj
│ │ │ │ │ 6 0 obj
│ │ │ │ │ <<
│ │ │ │ │ -/CreationDate (D:20180315093948-12'00)
│ │ │ │ │ +/CreationDate (D:20190418180346+14'00)
│ │ │ │ │ /Producer (cairo 1.15.10 \(http://cairographics.org\))
│ │ │ │ │ >>
│ │ │ │ │ endobj xref
After applying this patch (which uses SOURCE_DATE_EPOCH [1]):
$ export SOURCE_DATE_EPOCH=1521324801
$ […]
$ sha1sum *.pdf
620bf8469600ab744ffa6fcc3eee4c6845f4f159 a.pdf
620bf8469600ab744ffa6fcc3eee4c6845f4f159 b.pdf
This was originally filed in Debian as #893314 [2].
[0] https://reproducible-builds.org/
[1] https://reproducible-builds.org/specs/source-date-epoch/
[2] https://bugs.debian.org/893314
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
|
|
A lot of header clean-up.
|
|
It happen often that the rendering was interrupted early but the
final "cairo_surface_status" claims success which results in
incomplete output but no user-visible warning.
|
|
The previous implementation [1] allowed to sandwich text between
graphical objects by outputting multiple (partial) PDF pages which
are then stacked in the final document to reveal the full image.
However this code failed for clipped/masked/transparent objects
as those are treated specially by the renderer resulting in missing
pages in the output causing [2].
The attempt to workaround this issue which was committed in
e4dea66a338824037b6c35b262aa8db4004b6581 (now reverted)
fixed document creation in LaTeX by inserting blank pages but did
not actually fix the issue with clipped/masked/transparent objects
typically resulting in a single page with the full image and all
text put on top.
This commit resolves the underlying issue, making the former
workaround unnecessary and allowing for proper overlaying of text
and arbitrarily clipped/masked/transparent objects
Fixed bugs:
- https://bugs.launchpad.net/inkscape/+bug/771957 [1]
- https://bugs.launchpad.net/inkscape/+bug/1417470 [2]
|
|
This reverts commit e4dea66a338824037b6c35b262aa8db4004b6581.
|
|
- do not call cairo_show_page as the GtkPrintOperation seems to do
that internally (calling it manually will emit the current page,
clear it, and the cleared page seems to be emitted in error later)
- we can (and should) still call cairo_surface_destroy as it's doing
reference counting internally (we increase the reference count in
CairoRenderContext::setSurfaceTarget) and won't actually destroy
anything until the count reaches zero
|
|
Previously only the first page was printed properly,
all following pages were either blank or were not printed at all.
This was caused by finishing/destroying the cairo surface of the
cairo context associated with the GtkPrintContext used for printing
which made it impossible to draw to it for any consecutive page
Fixed bugs:
- https://bugs.launchpad.net/inkscape/+bug/1733424
- https://bugs.launchpad.net/inkscape/+bug/490866
|
|
Found using `codespell -q 3 -w --skip="*.svg,*.po,*.ts,./share/tutorials,./src/libavoid,./packaging/win32/languages,./man,./src/2geom" -I ../inkscape-whitelist.txt`
whereby whitelist file contained:
```
dum
iff
glight
substract
te
upto
```
|
|
|
|
Fixes Bug:
- https://launchpad.net/bugs/1417470
|
|
(bzr r15715)
|
|
(bzr r15703.1.12)
|
|
Fixed bugs:
- https://launchpad.net/bugs/1537497
(bzr r15446)
|
|
Note: <mesh> has been repurposed to be a special shape that tightly wraps a mesh gradient.
(bzr r15137)
|
|
(bzr r14954.1.21)
|
|
(bzr r14954.1.19)
|
|
(bzr r14696)
|
|
(bzr r14569)
|
|
(bzr r14504.1.16)
|
|
(bzr r14510)
|
|
(bzr r14126)
|
|
(bzr r14059.1.20)
|
|
(bzr r14059.1.16)
|
|
(bzr r13971)
|
|
(bzr r13660)
|
|
uninitialized value.
(bzr r13622)
|