This just provides the mechanics for storing the value and removing the old
function calls. The new value is still not used anywhere (though nor where
the old values), so there should be no functional change (other than forcing
any programs calling the old API to be updated).
Global advance exists for historical reasons. Nowadays, most of fonts
support unicode, means it's no guaranteed to every glyphs in the font
has the same advance.Sometimes it maybe is biger/smaller then the global
advance even for monospace fonts!So forcing their advance to global
advance, it's obviously wrong.
The standard convention is that the ARGB32 reference image has no
-argb32- component in its name (no real important reason, just
historical). So let's be consist and rename:
test/ft-text-vertical-layout-argb32-ref.png -> test/ft-text-vertical-layout-ref.png
This test exercises the combination of cairo_get_group_target along
with cairo_surface_get_device_offset. Something funny is currently
going on with the surfaces based on the paginated surface.
A recent renaming from CAIRO_MAXSHORT also changed the range of some
values from INT16_MAX to UINT16_MAX. The test suite shows one case
where this introduces a bug, (push/pop_group with SVG and RGB24
surfaces).
I haven't tracked the bug down, (presumably there's overflow of the
unsigned value at some point), but I'm now reverting this to avoid
triggering the bug.
This rectangle has regular integer values, not fixed-point values.
So the old name was horribly wrong and misleading, (and yes I think
it was even I that had suggested it).
This patch was produced by running git-stripspace on all *.[ch] files
within cairo. Note that this script would have also created all the changes
from the previous commits to remove trailing whitespace.
This patch was produced with the following (GNU) sed script:
sed -i -r -e 's/[ \t]+$//'
run on all *.[ch] files within cairo.
Note that the above script would have also created all the changes
from the previous commits to remove trailing whitespace.
This patch was produced with the following (GNU) sed script:
sed -i -r -e '/^[ \t]*\/?\*/ s/[ \t]+$//'
run on all *.[ch] files within cairo, (though I manually excluded
src/cairo-atsui-font.c which has a code line that appears as a comment
to this script).
Previously, when scaled_glyph_init failed we would destroy the scaled glyph in
CLEANUP. However, this causes trouble later because there is still a reference
to the glyph in the cache. This remaining reference causes a number of bad things,
including a double destruction when the cache is destroyed.
Specifically, device offsets now affect using the offset surface in
a source pattern as well as drawing to the surface. This behavior
os also verified with a new test case: test/device-offset.c
I don't recall anything about this in the PDF reference, (though I
also didn't look specifically for it), but without this acroread
is quite unhappy with cairo's PDF output when it includes dashing.
Use the same approach as the PDF backend: emit the pen matrix as the
SVG transform for the stroke, and compensate by first transforming all path
coordinates by the ctm_inverse.