Commit graph

4986 commits

Author SHA1 Message Date
Adrian Johnson
f6509933a4 PDF: Fix glyph positioning bug 2008-04-04 08:41:08 +10:30
Chris Wilson
bb76eb508b [cairo-truetype-subset] Check reads are within valid data.
Check cairo_truetype_font_remap_composite_glyph() does not read beyond
the end of the buffer loaded for the glyf.
2008-04-03 18:36:16 +01:00
Chris Wilson
a5e2a2ad2d [cairo-truetype-subset] Prevent accesses beyond the end of the glyph array.
Reject the font if we try to remap a composite glyph that exists outside
the known set of glyphs.
2008-04-03 18:35:57 +01:00
Chris Wilson
13cdfed894 [cairo-truetype-subset] Perform a quick sanity check that glyf end >= begin.
Check for a bogus glyf position and prevent an integer overflow.
2008-04-03 17:43:37 +01:00
Chris Wilson
cfff3c3bd0 [cairo-array] Guard against integer overflow whilst growing the array.
Sanity check the arguments to _cairo_array_grow_by() such that the
array size does not overflow, similar to the defensive checking of
parameters to malloc.
2008-04-03 17:36:50 +01:00
Chris Wilson
6101dc3e93 [cairo-pdf-surface] Do not bitswap big-endian A1 masks.
Pixman stores the bits A1 surfaces in native byte order, PDF stores
A1 masks in MSb - so only perform swapping for little-endian machines.

Note this also removes the extraneous packing as per the PDF spec 4.8.2:
"Byte boundaries are ignored, except that each row of sample data must
begin on a byte boundary. If the number of data bits per row is not a
multiple of 8, the end of the row is padded with extra bits to fill out
the last byte."
2008-04-03 15:41:31 +01:00
Chris Wilson
7901eb29ef [test] Add a1-mask.
Add a variant of the a8-mask test case that exercises the FORMAT_A1 code
paths instead.
2008-04-03 15:41:31 +01:00
Chris Wilson
5aa5aeb1f5 [cairo-font-face] Cleanup up the font_face on the error path.
A missing _cairo_toy_font_face_fini() was leaking the strdup(family).
2008-04-03 15:41:31 +01:00
Chris Wilson
048160d44c [.gitignore] Add test/stroke-image 2008-04-03 15:41:31 +01:00
Vladimir Vukicevic
9e749d0a28 [cgfont] typo fix 2008-04-02 23:37:24 -07:00
Vladimir Vukicevic
3f9b1ceac7 [cgfont] Implement missing scaled font metrics 2008-04-02 16:14:09 -07:00
Chris Wilson
eb3eb0252b [cairo-xlib-surface] Avoid writing to the error surface.
Insert status checks during construction of temporary glyph surfaces
to avoid potentially writing to the inert error object.
2008-04-02 17:33:30 +01:00
Chris Wilson
c1062bf20a [cairo-xlib-surface] Preserve Visuals for non-TrueColor similar surfaces.
Previously, given a valid XRenderFormat the Visual was discarded
when creating similar surfaces. However the original Visual is
required to support reading back from non-TrueColor surfaces.
2008-04-02 10:50:48 +01:00
Chris Wilson
b3a70629f8 [test/text-transform] Fix pattern leak.
Add missing cairo_pattern_destroy.
2008-04-02 10:50:48 +01:00
Chris Wilson
37c69c0d54 [cairo-xlib] Handle malloc failures for cairo_xlib_visual_info_t.
Tidy the error paths whilst handling visuals, in particular avoiding a
couple of potential NULL deferences, missed status checks and fresh
leaks.
2008-04-02 10:50:48 +01:00
Chris Wilson
0cd42c25a6 [cairo-svg-surface] Check surface status before extracting the svg target.
We need to check and report the existent status, else we may try to
modify the inert error object.
2008-04-02 10:50:47 +01:00
Chris Wilson
013bbda637 [cairo-ps-surface] Check surface status before extracting the ps target.
We need to check and report the existent status, else we may try to
modify the inert error object.
2008-04-02 10:50:47 +01:00
Chris Wilson
cebb1eef43 [cairo-svg-surface] Missing status check.
Check and, if necessary, propagate the error status - do not allow the
status to be overwritten, potentially masking the original error.
2008-04-02 10:50:47 +01:00
Chris Wilson
94db91b65e [cairo-pdf-surface] Do not mask error during cleanup.
Be careful to preserve the original error status whilst on the common
cleanup path for _cairo_pdf_surface_emit_meta_surface().
2008-04-02 10:50:47 +01:00
Chris Wilson
3580b99a8f [cairo-pdf-surface] Check surface status before extracting the pdf target.
We need to check and report the existent status, else we may try to
modify the inert error object.
2008-04-02 10:50:47 +01:00
Chris Wilson
34d734365b [cairo-svg-surface] Release acquired surface on error path.
Ensure the surface returned from _cairo_pattern_acquire_surface() is
released on the error path.
2008-04-02 10:50:47 +01:00
Chris Wilson
ba2e82d138 [cairo-ps-surface] Check error status before potential illegal dereference.
After acquiring the source image, check for the error status to ensure
that we do not attempt to deference an invalid surface.
2008-04-02 10:50:47 +01:00
Chris Wilson
767add1ee3 [cairo-pdf-operators] Destroy stream on error.
We cannot guarantee that a newly created error stream is a static error
object, so we need to always destroy the stream on the error path. (One
day this may change with the global pool of error objects...)
2008-04-02 10:50:47 +01:00
Carl Worth
2f06284ad6 Increment cairo version to 1.5.17 after 1.5.16 snapshot 2008-04-01 16:07:22 -07:00
Carl Worth
5366c8f483 Increment version to 1.5.16 and library versioning to 19:0:17 2008-04-01 15:52:41 -07:00
Carl Worth
eb6721f4cc NEWS: Add notes for the cairo 1.5.16 snapshot 2008-04-01 15:51:57 -07:00
Carl Worth
8707892b21 Doc SGML template churn 2008-04-01 15:40:54 -07:00
Carl Worth
5d0b2ede52 Mark cairo-quartz as officially supported
An especial thanks to Vladimir Vukicevic and the Mozilla
Foundation for a tremendous amount of work on cairo-quartz
while it has been marked as "experimental"
2008-04-01 15:24:48 -07:00
Carl Worth
07130a9061 Include cairoint.h first to satisfy the test suite
Forgetting to include cairoint.h (or not including it first) can
cause some subtle bugs due to specific feature flags not being
set, etc.
2008-04-01 15:20:42 -07:00
Carl Worth
46ea00d829 More quieting of subtle potentially-uninitialized warnings
The compiler isn't clever enough to notice that these
variables are always initialized (in either the TrueColor
or ! TrueColor conditions corresponding to the later
identical conditions in which the variables are used).
2008-04-01 14:53:55 -07:00
Carl Worth
1489e66d25 Quiet a more subtle potentially-uninitialized warning
The compiler isn't clever enough to notice that these
variables are always initialized.
2008-04-01 14:49:03 -07:00
Carl Worth
afc6e3b69d Quiet some trivial unused and potentially-uninitialized compiler warnings 2008-04-01 14:40:18 -07:00
Carl Worth
d09b0394d5 Add some reference images that were missing from the distribution list 2008-04-01 14:11:08 -07:00
Vladimir Vukicevic
56800e6ea0 [quartz] Remove cairo-atsui-font.c 2008-04-01 13:28:03 -07:00
Vladimir Vukicevic
8ddae11b54 [quartz] Update documentation 2008-04-01 13:26:00 -07:00
Vladimir Vukicevic
9a7162cfdf [doc] Add some Quartz/CGFont documentation templates 2008-04-01 13:17:14 -07:00
Vladimir Vukicevic
56cabc352e [quartz] Update Quartz test reference images 2008-04-01 13:04:08 -07:00
Vladimir Vukicevic
94b67d13f3 [quartz] Handle further 10.4 vs. 10.5 differences; fix text AA handling 2008-04-01 13:04:08 -07:00
Vladimir Vukicevic
a1d1be4234 [cgfont] Round surface rectangle outwards to ensure whole-pixel dimensions 2008-04-01 13:04:08 -07:00
Vladimir Vukicevic
c064ad1b56 [cgfont] Fix whitespace errors 2008-04-01 13:04:08 -07:00
Vladimir Vukicevic
2be3e67db2 [cgfont] Add CGFont backend to replace deprecated ATSUI backend
Create a new font backend that uses the CGFont API on MacOS X
10.4 and beyond.
2008-04-01 13:04:08 -07:00
Vladimir Vukicevic
30f7fae647 [cgfont] Add start of CGFont font backend to replace ATSUI 2008-04-01 13:04:08 -07:00
Emmanuel Pacaud
9e6d679870 [SVG] Fix stroke-image test failure.
The pattern transform inherit the object transform matrix, and that was not
taken into account.
2008-04-01 16:50:12 +02:00
Carl Worth
a571cc56a3 Update pixman dependency to recent 0.10.0 release 2008-03-31 12:17:39 -07:00
Carl Worth
e9adba9a57 Update ps-specifc reference image for ft-text-vertical-layout-type1
Presumably this minor change happened due to a recent fix in
cairo-ps glyph positioning.
2008-03-31 12:15:06 -07:00
Adrian Johnson
a30ed53a1c Add stroke-image PS/PDF ref images 2008-03-30 00:13:35 +10:30
Adrian Johnson
a729f27f3c Add clip-operator PS/PDF rgb24 ref images 2008-03-30 00:07:05 +10:30
Adrian Johnson
9058b9260a Add operator-source PDF ref images
Required due to gradient rendering differences between poppler and
cairo.
2008-03-29 23:49:51 +10:30
Adrian Johnson
47981226db Fix PDF analysis of OPERATOR_SOURCE surface patterns 2008-03-29 23:45:31 +10:30
Adrian Johnson
53d1a4b0dc Update operator-source PS ref images 2008-03-29 23:03:41 +10:30