NEWS | 23 +++++++++++++++++++++++ configure.ac | 2 +- src/hb-ft.cc | 12 ++++++++++-- 3 files changed, 34 insertions(+), 3 deletions(-)
New commits: commit 28f5e0b2f41670617bd778660364bbd58b1b68f2 Author: Behdad Esfahbod <[email protected]> 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 <[email protected]> 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; _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
