Compatible Support Forums: cairo snapshot 1.7.2 now available

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

cairo snapshot 1.7.2 now available

#1 User is offline   News 

  • stranger
  • Group: Members
  • Posts: 45859
  • Joined: 02-April 08

Posted 11 August 2008 - 08:42 PM

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A new cairo snapshot 1.7.2 is now available from:

http://cairographics...ro-1.7.2.tar.gz

which can be verified with:

http://cairographics...7.2.tar.gz.sha1
29569943dad4a4e5bbe16495404288a466e1bd0f cairo-1.7.2.tar.gz

http://cairographics...tar.gz.sha1.asc
(signed by Behdad Esfahbod)

Additionally, a git clone of the source tree:

git clone git://git.cairographics.org/git/cairo

will include a signed 1.7.2 tag which points to a commit named:
057a832f9e806f9321648e47ee314a62e82e6ba4

which can be verified with:
git verify-tag 1.7.2

and can be checked out with a command such as:
git checkout -b build 1.7.2

Release 1.7.2 (2008-08-11 Behdad Esfahbod )
==============================================================
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:

- - Type3 fonts generated by cairo's PDF backend may show up in poppler/Evince
in a different color than expected. This is fixed in poppler master branch.
This mostly affects cairo user fonts. The test case test/user-font.c
demonstrates this.

- - User fonts using other fonts in their rendering are currently embedded in
PDF as fallback bitmap glyphs. This will be (hopefully) fixed before 1.8.
The test case test/user-font-proxy.c demonstrates this.


What is cairo
=============
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, quartz, win32, and image buffers, as well as PDF, PostScript,
and SVG file output. Experimental backends include OpenGL (through
glitz), XCB, BeOS, OS/2, and DirectFB.

Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available
(for example, through the X Render Extension).

The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo include stroking and filling
cubic Bézier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,
etc.).

Cairo has been designed to let you draw anything you want in a modern
2D graphical user interface. At the same time, the cairo API has been
designed to be as fun and easy to learn as possible. If you're not
having fun while programming with cairo, then we have failed
somewhere---let us know and we'll try to fix it next time around.

Cairo is free software and is available to be redistributed and/or
modified under the terms of either the GNU Lesser General Public
License (LGPL) version 2.1 or the Mozilla Public License (MPL) version
1.1.

Where to get more information about cairo
=========================================
The primary source of information about cairo is:

http://cairographics.org/

The latest versions of cairo can always be found at:

http://cairographics.org/download

Documentation on using cairo and frequently-asked questions:

http://cairographics.org/documentation
http://cairographics.org/FAQ


0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users