mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-25 17:40:10 +01:00
[configure.in,NEWS] Release 1.7.2
This commit is contained in:
parent
3dc2fc4cd9
commit
057a832f9e
2 changed files with 179 additions and 31 deletions
204
NEWS
204
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.
|
||||
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.
|
||||
|
||||
Note that user font API changed a bit just before this release.
|
||||
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!
|
||||
|
||||
- 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.
|
||||
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:
|
||||
|
||||
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.
|
||||
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!
|
||||
|
||||
- text_to_glyphs API: This is mostly useful in combination with user-fonts.
|
||||
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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
- 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
|
||||
-------------------------------------
|
||||
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!
|
||||
|
||||
- LCD subpixel filtering using FreeType, with different filters. Original
|
||||
patch by David Turner.
|
||||
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:
|
||||
|
|
|
|||
|
|
@ -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 ===========================================================================
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue