|
| 1 | +Release 1.16.0 (2018-10-19 Bryce Harrington < [email protected]>) |
| 2 | +======================================================================== |
| 3 | +This new stable release incorporates a number of improvements made in |
| 4 | +the four years since 1.14.0. |
| 5 | + |
| 6 | +Of particular note is a wealth of work by Adrian Johnson to enhance PDF |
| 7 | +functionality, including restoring support for MacOSX 10.4, metadata, |
| 8 | +hyperlinks, and more. |
| 9 | + |
| 10 | +Much attention also went into fonts, including new colored emoji glyph |
| 11 | +support, variable fonts, and fixes for various font idiosyncrasies. |
| 12 | + |
| 13 | +Other noteworthy changes include GLESv3 support for the cairo_gl |
| 14 | +backend, tracking of SVG units in generated SVG documents, and cleanups |
| 15 | +for numerous test failures and related issues in the PDF and Postscript |
| 16 | +backends. |
| 17 | + |
| 18 | +For a complete log of changes, please see |
| 19 | + |
| 20 | + https://cairographics.org/releases/ChangeLog.1.16.0 |
| 21 | + |
| 22 | + |
| 23 | +Features and Enhancements |
| 24 | +------------------------- |
| 25 | +* Add support for OpenGL ES 3.0 to the gl backend. |
| 26 | +* The PDF backend has gained support for a range of widely used |
| 27 | + features, including thumbnails, page labels, metadata, document |
| 28 | + outlines, structured text, hyperlinks, and tags. Tags permit adding |
| 29 | + logical info such as headings, tables, figures, etc. that facilitates |
| 30 | + indexing, accessibility, text reflow, searching, and extraction of the |
| 31 | + tagged items to other software. For details on this new PDF |
| 32 | + functionality, see: |
| 33 | + https://lists.cairographics.org/archives/cairo/2016-June/027427.html |
| 34 | +* Variable font support. Variable fonts are single font files with |
| 35 | + various typography characteristics, such as weight or slant, that users |
| 36 | + of the font can adjust between two points. Effectively this enables a |
| 37 | + single font to behave as multiple fonts. |
| 38 | +* Restore MacOSX 10.4 support. Cairo had dropped 10.4 support when |
| 39 | + moving to the CoreText API. Now we automatically detect which API to |
| 40 | + use via dynamic linking, so can resume supporting this older version |
| 41 | + of MacOSX. |
| 42 | +* Support colored emoji glyphs, stored as PNG images in OpenType fonts. |
| 43 | +* Skia backend is removed |
| 44 | +* Use Reusable streams for forms in Level 3 Postscript. |
| 45 | +* Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files. |
| 46 | +* Add CCITT_FAX mime type for PDF and PS surfaces |
| 47 | +* svg: add a new function to specify the SVG document unit |
| 48 | + (Bug #90166) |
| 49 | +* Use UTF-8 filenames on Windows |
| 50 | + |
| 51 | + |
| 52 | +API Changes |
| 53 | +----------- |
| 54 | +Several new APIs were added. No existing APIs were altered. |
| 55 | + |
| 56 | +New PDF functionality: |
| 57 | + |
| 58 | + * cairo_pdf_surface_add_outline |
| 59 | + * cairo_pdf_surface_set_metadata |
| 60 | + * cairo_pdf_surface_set_page_label |
| 61 | + * cairo_pdf_surface_set_thumbnail_size |
| 62 | + * cairo_tag_begin |
| 63 | + * cairo_tag_end |
| 64 | + * CAIRO_STATUS_TAG_ERROR |
| 65 | + |
| 66 | +New error status items for problems relating to PDF tagging: |
| 67 | + |
| 68 | + * CAIRO_STATUS_WIN32_GDI_ERROR |
| 69 | + * CAIRO_STATUS_FREETYPE_ERROR |
| 70 | + * CAIRO_STATUS_PNG_ERROR |
| 71 | + |
| 72 | + New error status items for handling of GDI, libfreetype, and libpng |
| 73 | + errors, respectively. |
| 74 | + |
| 75 | + |
| 76 | +Setting up Win32 surfaces for HDC with alpha channels: |
| 77 | + |
| 78 | + * cairo_win32_surface_create_with_format |
| 79 | + |
| 80 | + New API for added PDF functionality (see above), and new error |
| 81 | + status item for problems relating to PDF tagging. |
| 82 | + |
| 83 | +Variable fonts: |
| 84 | + |
| 85 | + * cairo_font_options_get_variations |
| 86 | + * cairo_font_options_set_variations |
| 87 | + |
| 88 | +Tracking units in SVG documents: |
| 89 | + |
| 90 | + * cairo_svg_surface_set_document_unit |
| 91 | + * cairo_svg_surface_get_document_unit |
| 92 | + |
| 93 | + |
| 94 | + |
| 95 | +Dependency Changes |
| 96 | +------------------ |
| 97 | +None |
| 98 | + |
| 99 | + |
| 100 | +Performance Optimizations |
| 101 | +------------------------- |
| 102 | +None |
| 103 | + |
| 104 | + |
| 105 | +Notable Bug Fixes |
| 106 | +----------------- |
| 107 | +* Fix thin lines that don't show up when printing in Inkscape due to |
| 108 | + overly aggressive culling. |
| 109 | + (Bug #77298) |
| 110 | +* Fix playback of recording surfaces into PDF surfaces, where objects |
| 111 | + with negative coordinates were not getting drawn. To address this, |
| 112 | + the coordinate systems for PDF and PS have been changed to match |
| 113 | + cairo's coordinate system. This allows recording surfaces to be |
| 114 | + emitted in cairo coordinates, and results in the same origin being |
| 115 | + used for all operations when using the recording surface XObject. |
| 116 | + Test cases for PDF and PS have also been updated accordingly. |
| 117 | + (Bug #89232) |
| 118 | +* Fix "invalidfont" error on some printers when printing PDFs with |
| 119 | + embedded fonts that have glyphs (such as spaces) with |
| 120 | + num_contours == 0. (Bug #79897) |
| 121 | +* Fix missing glyphs such as thin dashes, which get scaled to 0 in |
| 122 | + userspace and thus have their drawing operations culled. (Bug #94615) |
| 123 | +* Fix other oddities caused by variously idiosyncratic fonts. |
| 124 | +* Fix a data race in freed_pool discovered by Firefox's cairo usage. |
| 125 | + The patch adads atomic int load and store functions, with relaxed |
| 126 | + memory ordering. (Bug #90318) |
| 127 | +* Handle SOURCE and CLEAR operators when painting color glyphs. |
| 128 | + (Bug #102661) |
| 129 | +* Fix falling back to system font with PDFs using certain embedded |
| 130 | + fonts, due to truncated font names. |
| 131 | + (Bug #103249) |
| 132 | +* Prevent curved strokes in small ctms from being culled from vector |
| 133 | + surfaces |
| 134 | + (Bug #103071) |
| 135 | +* Fix assertion hit with PDFs using Type 4 fonts rendered with user |
| 136 | + fonts, due to error when destroying glyph page. |
| 137 | + (Bug #103335) |
| 138 | +* Prevent invalid ptr access for > 4GB images. |
| 139 | + (Bug #98165) |
| 140 | +* pdf: Fix internal links pointing to other pages, by pre-calculating |
| 141 | + page heights so that link positions can be calculated more accurately. |
| 142 | +* Fix error reporting in the xcb backend if fallback fails. Instead of |
| 143 | + returning NULL when the X11 server can't do some operation, return a |
| 144 | + surface in an error state. |
| 145 | +* Clarify documentation regarding device scale inheritance and the units |
| 146 | + used in cairo_surface_create_similar_image. |
| 147 | + (Bug #99094) |
| 148 | +* Call XSync in the xlib backend before setting the error handler to |
| 149 | + ignore errors for certain requests, to make sure all pending errors |
| 150 | + are handled first. |
| 151 | +* Fix regression with text containing space character on Win32. |
| 152 | + (Bug: https://gitlab.freedesktop.org/cairo/cairo/issues/339) |
| 153 | + |
| 154 | +For a more comprehensive listing of fixed bugs, see the release notes for the |
| 155 | +individual 1.15.x releases. |
| 156 | + |
| 157 | + |
1 | 158 | Release 1.15.14 (2018-09-19 Bryce Harrington < [email protected]>)
|
2 | 159 | ============================================================================
|
3 | 160 | We're nearly ready to finalize the 1.16.0 release, so this snapshot
|
|
0 commit comments