[HarfBuzz] harfbuzz: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Fri Jan 23 12:47:54 PST 2015


 NEWS         |   23 +++++++++++++++++++++++
 configure.ac |    2 +-
 src/hb-ft.cc |   12 ++++++++++--
 3 files changed, 34 insertions(+), 3 deletions(-)

New commits:
commit 28f5e0b2f41670617bd778660364bbd58b1b68f2
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Fri Jan 23 12:45:35 2015 -0800

    0.9.38

diff --git a/NEWS b/NEWS
index e3b69d3..3a33bdf 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,26 @@
+Overview of changes leading to 0.9.38
+Friday, January 23, 2015
+=====================================
+
+- Fix minor out-of-bounds access in Indic shaper.
+- Change New Tai Lue shaping engine from South-East Asian to default,
+  reflecting change in Unicode encoding model.
+- Add hb-shape --font-size.  Can take up to two numbers for separate
+  x / y size.
+- Fix CoreText and FreeType scale issues with negative scales.
+- Reject blobs larger than 2GB.  This might break some icu-le-hb clients
+  that need security fixes.  See:
+  http://www.icu-project.org/trac/ticket/11450
+- Avoid accessing font tables during face destruction, in casce rogue
+  clients released face data already.
+- Fix up gobject-introspection a bit.  Python bindings kinda working.
+  See README.python.
+- Misc fixes.
+- API additions:
+  hb_ft_face_create_referenced()
+  hb_ft_font_create_referenced()
+
+
 Overview of changes leading to 0.9.37
 Wednesday, December 17, 2014
 =====================================
diff --git a/configure.ac b/configure.ac
index 4dc562c..3e42d95 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [0.9.37],
+        [0.9.38],
         [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
         [harfbuzz],
         [http://harfbuzz.org/])
commit a319d0777b746a2bbe5cd5a206172f1580da3379
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Fri Jan 23 12:44:24 2015 -0800

    [ft] Handle negative x_scale / y_scale

diff --git a/src/hb-ft.cc b/src/hb-ft.cc
index 7e75ba9..f57f566 100644
--- a/src/hb-ft.cc
+++ b/src/hb-ft.cc
@@ -99,6 +99,9 @@ hb_ft_get_glyph_h_advance (hb_font_t *font HB_UNUSED,
   if (unlikely (FT_Get_Advance (ft_face, glyph, load_flags, &v)))
     return 0;
 
+  if (font->x_scale < 0)
+    v = -v;
+
   return (v + (1<<9)) >> 10;
 }
 
@@ -530,14 +533,19 @@ hb_ft_font_set_funcs (hb_font_t *font)
 
   FT_Select_Charmap (ft_face, FT_ENCODING_UNICODE);
 
-  assert (font->y_scale >= 0);
   FT_Set_Char_Size (ft_face,
-		    font->x_scale, font->y_scale,
+		    abs (font->x_scale), abs (font->y_scale),
 		    0, 0);
 #if 0
 		    font->x_ppem * 72 * 64 / font->x_scale,
 		    font->y_ppem * 72 * 64 / font->y_scale);
 #endif
+  if (font->x_scale < 0 || font->y_scale < 0)
+  {
+    FT_Matrix matrix = { font->x_scale < 0 ? -1 : +1, 0,
+			  0, font->y_scale < 0 ? -1 : +1};
+    FT_Set_Transform (ft_face, &matrix, NULL);
+  }
 
   ft_face->generic.data = blob;
   ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;


More information about the HarfBuzz mailing list