summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS218
-rw-r--r--configure.in6
2 files changed, 186 insertions, 38 deletions
diff --git a/NEWS b/NEWS
index 0924a1522..c0bca687b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,38 +1,186 @@
-- User fonts: This is new API allowing the user of cairo API to provide
- drawings for glyphs in a font. This is most useful in implementing
- fonts in non-standard formats, like SVG fonts and Flash fonts, but can
- also be used by games and other application to draw "funky" fonts.
- See test/user-font.c and test/user-font-proxy.c for usage examples.
-
- Note that user font API changed a bit just before this release.
-
-- show_text_glyphs: This is new API allowing the caller of cairo to mark
- text glyphs with their original text. The PDF backend implements this
- new API and latest Pango master uses it. The result is (when bugs are
- fixed) that complex text can be copied out of pangocairo's PDF output
- correctly and reliably. There are bugs to fix though. A few poppler
- bugs, and some more in cairo and pango.
-
- To test show_text_glyph, just grab pango master & this cairo snapshot and
- print text in gedit. Open in acroread or evince, select all, copy, paste
- in gedit and compare. The Arabic text with diacritic marks is particularly
- showing bad. Try with pango/pango-view/HELLO.txt if you are brave
- enough. The Indic text is showing improvements, but is still coming out
- buggy.
-
-- text_to_glyphs API: This is mostly useful in combination with user-fonts.
-
-The result of the above three changes combined is that when you render text
-using cairo_show_text() and a user font, the resulting PDF file is perfectly
-text extractable. Something one could not do with cairo before.
-
-- Toy font face constructor and getters: Mostly for API completion, but
- also useful for higher level (like Pango) to hook into what the user
- has set using cairo_select_font_face(), making that toy API a bit more
- useful.
-
-- LCD subpixel filtering using FreeType, with different filters. Original
- patch by David Turner.
+Release 1.7.2 (2008-08-11 Behdad Esfahbod <behdad@behdad.org>)
+==============================================================
+The cairo community is finally ready to announce availability of the 1.7.2
+snapshot of the cairo graphics library. This is embarrissingly the first
+snapshot in the 1.7 unstable series of cairo, leading to the eventual release
+of cairo 1.8, currently planned for late September.
+
+This snapshot comes four months after the 1.6.4 release. We have done a
+really bad job on getting development stapshots out this cycle, but
+hopefully all the API changes for 1.8 are now finished and the remaining
+weeks will be spent on bug-fixing. There is more than 400 commits worth
+of changes in this snapshot, and those can use some testing. Read on!
+
+Text, text, and more text!
+--------------------------
+The dominant theme of this release, and 1.8 in general, is improvements
+around cairo text API. Here is a high-level list of changes with text
+handling:
+
+User fonts
+----------
+This is new API allowing the user of cairo API to provide drawings for glyphs
+in a font. This is most useful in implementing fonts in non-standard formats,
+like SVG fonts and Flash fonts, but can also be used by games and other
+applications to draw "funky" fonts. See test/user-font.c and
+test/user-font-proxy.c for usage examples. This is based on early work by
+Kristian Høgsberg. Thanks Kristian!
+
+show_text_glyphs
+----------------
+This new API allows the caller of cairo to mark text glyphs with their
+original text. The PDF backend implements this new API and latest Pango
+master uses it. The result is (when bugs are fixed) that complex text can be
+copied out of pangocairo's PDF output correctly and reliably. There are bugs
+to fix though. A few poppler bugs, and some more in cairo and pango.
+
+To test show_text_glyph, just grab pango master and this cairo snapshot and
+print text in gedit. Open in acroread or evince, select all, copy, paste
+in gedit and compare. The Arabic text with diacritic marks is particularly
+showing bad. Try with pango/pango-view/HELLO.txt if you are brave
+enough. The Indic text is showing improvements, but is still coming out
+buggy.
+
+LCD subpixel filtering using FreeType
+-------------------------------------
+FreeType 2.3.5 added support for various LCD subpixel filtering, and
+fontconfig 2.6.0 added support for configuring LCD filter on a font by font
+basis. Cairo now relies on FreeType and fontconfig for subpixel filtering.
+This work is based on David Turner's original patch to cairo, maintained
+and tested by Sylvain Pasche and others. Thanks all!
+
+Toy font face constructor and getter
+------------------------------------
+Mostly for API completion, but also useful for higher level (like Pango) to
+hook into what the user has set using cairo_select_font_face(), making that
+toy API a bit more useful.
+
+FreeType: respecting FC_FT_FACE
+-------------------------------
+Previously it was impossible to instruct cairo to do emboldening on a font
+face object created from an FT_Face. Cairo now respects and uses the
+FC_FT_FACE fontconfig pattern element, so emboldening can be achieved by
+using cairo_ft_font_face_create_for_pattern() and a carefully crafted pattern
+using FC_FT_FACE and FC_EMBOLDEN.
+
+
+PS/PDF: More efficient output
+-----------------------------
+Adrian Johnson has been busy fixing all kinds of bugs in PS and PDF
+backends, as well making them generate much more compact output by avoiding
+things like re-emitting the color or linestyle on every drawing operation.
+Thanks Adrian!
+
+
+Xlib: Dithering
+---------------
+Cairo now does simple dithering when rendering to legacy X servers. This is
+mostly visible with 8-bit visuals.
+
+Xlib: Avoid rendering glyphs out of surface bounds
+--------------------------------------------------
+This seemingly harmless change manifested a bug with OpenOffice.org 3 versions
+where OO.o was passing bogus surface extents to cairo, resulting in no text
+rendered in OO.o. Please contact your distro's OO.o maintainers if you see
+this bug and point them to the following URL:
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=16209
+
+Xlib: Improved performance with Xrender-less X servers
+------------------------------------------------------
+Cairo now performs better on remote, Xrender-less X servers by being smarter
+about using X core protocol facilities instead of falling back to doing all
+rendering on the client side.
+
+
+Directfb: backend improvements
+------------------------------
+The directfb backend, though still unsupported, has seen a good deal of
+improvements. Thanks Vlad!
+
+
+Bug fixing and optimizations
+----------------------------
+Countless bugs have been fixed and optimizations made, many of them thanks to
+Chris Wilson. Thanks Chris!
+
+
+API additions
+-------------
+
+cairo_show_text_glyphs
+
+ This is a new text rendering API. Being a more advanced version of
+ cairo_show_glyphs(), it is aimed for use by higher-level text toolkits like
+ Pango, and enables better text extraction from output generated by backends
+ like PDF and SVG. The PDF backend already implements it, and the upcoming
+ Pango release will use it.
+
+ To make that API work, a bunch of other additions were made:
+
+cairo_glyph_allocate
+cairo_glyph_free
+cairo_text_cluster_t
+cairo_text_cluster_allocate
+cairo_text_cluster_free
+cairo_has_show_text_glyphs
+
+
+cairo_user_font_face_create
+
+ This is the "user" font face constructor, accompanied by a variety of method
+ signatures, getters, and setters for a callback-based font backend:
+
+CAIRO_FONT_TYPE_USER
+cairo_user_scaled_font_init_func_t
+cairo_user_scaled_font_render_glyph_func_t
+cairo_user_scaled_font_text_to_glyphs_func_t
+cairo_user_scaled_font_unicode_to_glyph_func_t
+cairo_user_font_face_set_init_func
+cairo_user_font_face_set_render_glyph_func
+cairo_user_font_face_set_text_to_glyphs_func
+cairo_user_font_face_set_unicode_to_glyph_func
+cairo_user_font_face_get_init_func
+cairo_user_font_face_get_render_glyph_func
+cairo_user_font_face_get_text_to_glyphs_func
+cairo_user_font_face_get_unicode_to_glyph_func
+
+
+cairo_scaled_font_text_to_glyphs
+
+ We were previously reluctant to provide this function as text-to-glyphs
+ support in cairo was limited to "toy" font functionality, not really
+ interesting for real-world text processing. However, with user-fonts
+ landing, this API is needed to expose full access to how user-fonts
+ convert text to glyphs. This is expected to be used by text toolkits like
+ Pango, as well as "proxy" user-font implementations.
+
+
+cairo_lcd_filter_t
+cairo_font_options_set_lcd_filter
+cairo_font_options_get_lcd_filter
+
+ These add the possibility to choose between various available LCD subpixel
+ filters. The available filter values are modeled after what FreeType
+ provides.
+
+
+cairo_toy_font_face_create
+cairo_toy_font_face_get_family
+cairo_toy_font_face_get_slant
+cairo_toy_font_face_get_weight
+
+ These provide access to functionality and settings provided by
+ cairo_select_font_face().
+
+
+cairo_scaled_font_get_scale_matrix
+cairo_surface_get_fallback_resolution
+
+ For API completeness.
+
+
+Various new values for cairo_status_t enum
Known issues:
diff --git a/configure.in b/configure.in
index 94aaf467b..b19526f46 100644
--- a/configure.in
+++ b/configure.in
@@ -7,7 +7,7 @@ dnl For the micro number: odd => in-progress development (from git)
dnl even => tar-file snapshot or release
m4_define(cairo_version_major, 1)
m4_define(cairo_version_minor, 7)
-m4_define(cairo_version_micro, 1)
+m4_define(cairo_version_micro, 2)
AC_INIT([cairo],
cairo_version_major.cairo_version_minor.cairo_version_micro,
@@ -27,7 +27,7 @@ dnl ===========================================================================
# libtool shared library version
# Increment if the interface has additions, changes, removals.
-m4_define(LT_CURRENT, 20)
+m4_define(LT_CURRENT, 21)
# Increment any time the source changes; set to
# 0 if you increment CURRENT
@@ -36,7 +36,7 @@ m4_define(LT_REVISION, 0)
# Increment if any interfaces have been added; set to 0
# if any interfaces have been removed. removal has
# precedence over adding, so set to 0 if both happened.
-m4_define(LT_AGE, 18)
+m4_define(LT_AGE, 19)
dnl ===========================================================================