Portability improvements for win32 thanks to Hans Breuer <hans@breuer.org>:
Defined sized-integer types when under the influence of _MSC_VER and without stdint.h.
Use #error which is more portable than #warning, (and more indicative of where we want to be before the next release).
Note reason for expected failure.
src/cairo-scaled-font.c: Add an optional text_to_glyphs() virtual function that the backend can implement instead of ucs4_to_index().
Protect inclusion of fontconfig.h with HAVE_FCFINI.
Replace cairo cache implementation (this code from cworth)
No more global glyph cache to clean up
Store glyphs in new per-scaled font caches which hold user-space metrics and device space bounding boxes
Refactor glyph drawing APIs so that the surface API is invoked directly from the gstate code.
Add path creation/destruction routines (to hold glyph paths)
New implementation of scaled fonts which uses per-scaled_font caches for glyphs and keeps user-space metrics, device-space bboxes along with glyph images and/or glyph paths.
Adapt to new scaled font API changes.
New cache and scaled_font APIs
Repond to bug fix in metrics computation for glyphs where y values were rounded up instead of down because of a sign difference between cairo and FreeType.
Reviewed by: otaylor, cworth
Treat more alpha values as translucent (up to 0.999)
Fix emit_image to actually use a temporary image when necessary.
Change PS coordinate space to match cairo (top-down), adjust PS output to use new space.
Find more cases where PS output was not supported and fall back to image surface.
reviewed by: cworth
Useful for printer backends where the device coordinate space should be in pixels while the user visible device space is in points.
There is no API to set these values; the backends using this functionality should do that themselves before the first cairo_t is created.
reviewed by: cworth
Add test to verify that the current-point-advancing behavior of cairo_show_text is working.
Remove bug about cairo_show_text not advancing the current point.
test/text-antialias-subpixel.c test/Makefile.am: No longer XFAIL.
test/text-antialias-gray.c test/text-antialias-subpixel.c
Don't turn off metrics hinting, it doesn't make sense.
Update.
Abstract the cap-addition code from the end of the stroke operation into a new _cairo_stroker_add_caps function.
Call the new _cairo_stroker_add_caps at the beginning of every move_to so that we get caps on every subpath and not just the last one.
New function to handle both calling FT_Done_Face on unscaled->face and decrementing font_map->num_open_faces.
Call new _font_map_release_face_lock_held as approporiate.
Assert that (font_map->num_open_faces == 0) when we're done, to help guarantee the bug is fixed.
Don't call FT_Done_Face anymore, instead assert that (unscaled->face == NULL) by the time this function is called.
Prefer TRUE/FALSE as values for cairo_bool_t have_scale.
Add target "zips" to create zip file based distribution for Win32.
Produce a cairo.def file for distribution by preprocessing the relevant header files and grepping for declarations of functions that start with cairo_. Works for now, will have to modify later if necessary. Use the .def file when linking on Win32.
Check for FT_GlyphSlot_Embolden()
Call FT_GlyphSlot_Embolden for fonts where FC_EMBOLDEN is set but that aren't bold. Add another private flag for this.