[pango/pango2: 5/44] NEWS: Updates
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/pango2: 5/44] NEWS: Updates
- Date: Thu, 16 Jun 2022 00:50:33 +0000 (UTC)
commit bb852d91164c3ab1bc6ba905a51b01444cb6c1e2
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Jun 9 15:48:19 2022 -0400
NEWS: Updates
NEWS | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++
docs/first-steps.png | Bin 0 -> 2274 bytes
2 files changed, 114 insertions(+)
---
diff --git a/NEWS b/NEWS
index dfb5cd73..8c3714ce 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,117 @@
+Overview of changes in 1.90
+===========================
+
+This is an unstable development release leading towards
+Pango 2.0, which will be major new version, and will not
+be API or ABI compatible with Pango 1.x.
+
+Feedback on the changes in this release is very appreciated,
+so we can fix up oversights and omissions before finalizing
+the 2.0 API.
+
+This release is parallel-installable with Pango 1.50.x.
+
+Changes
+-------
+
+Pango is now shipped as a single shared object, libpango-2.so,
+which contains the high-level cross-platform code as well as
+platform-specific fontmap implementations and the cairo
+support (if it is enabled).
+
+Linking both libpango-1.so and libpango-2.so into the same
+process is not supported, and we try to detect and prevent
+this situation.
+
+Major new APIs
+--------------
+
+- PangoLineBreaker:
+
+ PangoLineBreaker is the core of pango's line-breaking algorithm,
+ broken out from PangoLayout. Having this available indepentent
+ from PangoLayout will facilitate uses such as multi-column
+ layout, text flow between frames and shaping paragraphs around
+ images.
+
+- PangoLines
+
+ PangoLines is the 'formatted output' part of a PangoLayout, and
+ can be used to collect the output of a PangoLineBreaker.
+
+- PangoFontMap
+
+ The PangoFontMap class has seen some significant changes. It is
+ now possible to instantiate a PangoFontMap, and populate it manually
+ with PangoFontFamily and PangoFontFace objects.
+
+ There are platform-specific subclasses
+
+ - PangoFcFontMap
+ - PangoCoreTextFontMap
+ - PangoDirectWriteFontMap
+
+ which will use platform API to enumerate fonts and populate
+ the fontmap.
+
+- PangoGenericFamily
+
+ PangoGenericFamily is a new object representing generic font
+ families such as 'Sans' or 'Serif', which are populated with
+ lots of individual font families matching these general styles.
+
+ When a PangoFontMap returns a fontset matching a query, it will
+ always include at least on PangoGenericFamily in the result, to
+ ensure good charset coverage.
+
+ In the past, this was achieved by having the fontconfig fontmap
+ always return a fontset including *all* the system fonts, with
+ varying order. The new approach should be more performant on
+ systems with many fonts, where sorting all the fonts is expensive.
+
+- PangoHbFace, PangoHbFont
+
+ The Pango font classes have been replaced by this pair of classes
+ which are thin wrappers around hb_face_t and hb_font_t. Since
+ HarfBuzz provides these cross-platform objects for us, we don't
+ need platform-specific font implementations anymore.
+
+ As one of the advantages of the new font implementation it is
+ now possible to instantiate fonts from a font file, or from font
+ data in memory.
+
+ The cairo support code has learned to generate cairo scaled
+ fonts from PangoHbFont objects.
+
+- PangoUserFont, PangoUserFace
+
+ These are a new kind of callback-based font implementation to
+ allow for entirely application-defined font handling, including
+ glyph drawing.
+
+Other API changes
+-----------------
+
+- PangoAttribute has been reimplemented
+
+- All deprecated APIs have been dropped
+
+- The PangoScript enumeration has been replaced by GUnicodeScript
+
+- PangoCoverage has been replaced by pango_font_face_has_char
+
+- PangoColor has gained an alpha field
+
+- The PangoFontsetSimple object is unused and has been dropped
+
+- PangoXft, PangoFT2 and other backend-specific rendering APIs
+ have been dropped for now
+
+- Most structs have been made private
+
+- Many smaller API cleanups and reductions
+
+
Overview of changes in 1.50.7, 14-04-2022
=========================================
- coretext: Fix the build
diff --git a/docs/first-steps.png b/docs/first-steps.png
new file mode 100644
index 00000000..c5b5afc5
Binary files /dev/null and b/docs/first-steps.png differ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]