The TrueType font subsetting code fails to emit VHEA/VMTX headers for the
font, so WMode 1 doesn't work to switch to vertical metrics. Added a bug
about this, and changed the PS/PDF output code to just use Type3 in this
case until the bug is fixed. Updated the reference images to match the
output for PDF/PS backends for the vertical font check.
This follows the PDF and SVG specifications which only draw degenerate paths when
round caps are in effect.
With this commit, the degenerate-path test passes with the image, xlib, and pdf
backends, (but still fails with ps and svg backends).
When accessing the underlying drawable etc of an xlib surface, it is
also helpful to be able to get the width and height without a server
round trip. This patch provides those functions.
Previously this function was attempting to return values in surface
space, (but even then it was doing it wrong). However, all callers
actually expect values in backend space. Fixing this cleans up bug
7268 quite nicely.
This is similar to a change that was recently made to the PDF and PS backends.
Bitmap glyphs are not yet drawn correctly, (drawn as filled rectangles instead),
but the crash is at least eliminated.
This uses a technique devised by Sean Anderson, July 13, 2001 as found
at http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits
This technique uses 3 multiplies rather than just shifts and masks, but
performance seems comparable to the old approach, (but more significantly,
the new approach is easier to implement as a macro, and I plan to start
using this bit-swapping elsewhere very soon).
This was a gratuitous thing that was causing excessive fallbacks in
mozilla printing to PDF. The only reason it was ever there was to
get some of the tests that rely on CAIRO_ANTIALIAS_NONE to pass.
Instead we now simply don't run those tests against the PDF backend.
cairo freetype font backend doesn't handle fontconfig configurations
quiet well, it always renders glyphs using configurations in
scaled_font->base.options which usually isn't corresponding to
font pattern used to create the font face and the load flags. As a
result, turning antialias off with fontconfig doesn't work with cairo
HEAD, subpixel order either.
This commit make cairo respect configurations in font pattern and handle
load flags correctly. The ft-text-antialias-none test case passess now.
And should fix bug #6759 and #4792.