This commit is contained in:
Khaled Hosny 2022-06-27 20:51:16 +02:00
parent f1fb8c4489
commit 8537d68172
9 changed files with 46 additions and 12 deletions

34
NEWS
View File

@ -1,3 +1,37 @@
Overview of changes leading to 4.4.0
Monday, June 27, 2022
====================================
- Caching of variable fonts shaping, in particular when using HarfBuzzs own
font loading functions (ot). Bringing performance of variable shaping in par
with non-variable fonts shaping. (Behdad Esfahbod)
- Caching of format 2 “Contextual Substitution” and “Chained Contexts
Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts
like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod)
- Improved ANSI output from hb-view. (Behdad Esfahbod)
- Support for shaping legacy, pre-OpenType Windows 3.1-era, Arabic fonts that
relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod)
- Sinhala script is now shaped by the USE shaper instead of “indic” one.
(Behdad Esfahbod, David Corbett)
- Thai shaper improvements. (David Corbett)
- hb-ot-name API supports approximate BCP-47 language matching, for example
asking for “en_US” in a font that has only “en” names will return them.
(Behdad Esfahbod)
- Optimized TrueType glyph shape loading. (Behdad Esfahbod)
- Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables().
(Garret Rieger)
- Add 32 bit var store support to the subsetter. (Garret Rieger)
- New API
+HB_BUFFER_FLAG_DEFINED
+HB_BUFFER_SERIALIZE_FLAG_DEFINED
+hb_font_changed()
+hb_font_get_serial()
+hb_ft_hb_font_changed()
+hb_set_hash()
+hb_map_copy()
+hb_map_hash()
Overview of changes leading to 4.3.0 Overview of changes leading to 4.3.0
Friday, May 20, 2022 Friday, May 20, 2022
==================================== ====================================

View File

@ -1,6 +1,6 @@
AC_PREREQ([2.64]) AC_PREREQ([2.64])
AC_INIT([HarfBuzz], AC_INIT([HarfBuzz],
[4.3.0], [4.4.0],
[https://github.com/harfbuzz/harfbuzz/issues/new], [https://github.com/harfbuzz/harfbuzz/issues/new],
[harfbuzz], [harfbuzz],
[http://harfbuzz.org/]) [http://harfbuzz.org/])

View File

@ -1,6 +1,6 @@
project('harfbuzz', 'c', 'cpp', project('harfbuzz', 'c', 'cpp',
meson_version: '>= 0.55.0', meson_version: '>= 0.55.0',
version: '4.3.0', version: '4.4.0',
default_options: [ default_options: [
'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway 'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway
'cpp_std=c++11', 'cpp_std=c++11',

View File

@ -373,7 +373,7 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
* flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT * flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
* glyph-flag should be produced by the shaper. By default * glyph-flag should be produced by the shaper. By default
* it will not be produced since it incurs a cost. Since: 4.0.0 * it will not be produced since it incurs a cost. Since: 4.0.0
* @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: REPLACEME * @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: 4.4.0
* *
* Flags for #hb_buffer_t. * Flags for #hb_buffer_t.
* *
@ -586,7 +586,7 @@ hb_buffer_normalize_glyphs (hb_buffer_t *buffer);
* @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0 * @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0
* @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances, * @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances,
* glyph offsets will reflect absolute glyph positions. Since: 1.8.0 * glyph offsets will reflect absolute glyph positions. Since: 1.8.0
* @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: REPLACEME * @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: 4.4.0
* *
* Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs(). * Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().
* *

View File

@ -1945,7 +1945,7 @@ hb_font_is_immutable (hb_font_t *font)
* *
* Return value: serial number * Return value: serial number
* *
* Since: REPLACEME. * Since: 4.4.0.
**/ **/
unsigned int unsigned int
hb_font_get_serial (hb_font_t *font) hb_font_get_serial (hb_font_t *font)
@ -1961,7 +1961,7 @@ hb_font_get_serial (hb_font_t *font)
* This has the effect of increasing the serial as returned * This has the effect of increasing the serial as returned
* by hb_font_get_serial(), which invalidates internal caches. * by hb_font_get_serial(), which invalidates internal caches.
* *
* Since: REPLACEME. * Since: 4.4.0.
**/ **/
void void
hb_font_changed (hb_font_t *font) hb_font_changed (hb_font_t *font)

View File

@ -1042,7 +1042,7 @@ hb_ft_font_changed (hb_font_t *font)
* *
* Return value: true if changed, false otherwise * Return value: true if changed, false otherwise
* *
* Since: REPLACEME * Since: 4.4.0
**/ **/
hb_bool_t hb_bool_t
hb_ft_hb_font_changed (hb_font_t *font) hb_ft_hb_font_changed (hb_font_t *font)

View File

@ -180,7 +180,7 @@ hb_map_allocation_successful (const hb_map_t *map)
* *
* Return value: Newly-allocated map. * Return value: Newly-allocated map.
* *
* Since: REPLACEME * Since: 4.4.0
**/ **/
hb_map_t * hb_map_t *
hb_map_copy (const hb_map_t *map) hb_map_copy (const hb_map_t *map)
@ -337,7 +337,7 @@ hb_map_is_equal (const hb_map_t *map,
* Return value: * Return value:
* A hash of @map. * A hash of @map.
* *
* Since: REPLACEME * Since: 4.4.0
**/ **/
HB_EXTERN unsigned int HB_EXTERN unsigned int
hb_map_hash (const hb_map_t *map) hb_map_hash (const hb_map_t *map)

View File

@ -368,7 +368,7 @@ hb_set_is_equal (const hb_set_t *set,
* Return value: * Return value:
* A hash of @set. * A hash of @set.
* *
* Since: REPLACEME * Since: 4.4.0
**/ **/
HB_EXTERN unsigned int HB_EXTERN unsigned int
hb_set_hash (const hb_set_t *set) hb_set_hash (const hb_set_t *set)

View File

@ -47,7 +47,7 @@ HB_BEGIN_DECLS
* *
* The minor component of the library version available at compile-time. * The minor component of the library version available at compile-time.
*/ */
#define HB_VERSION_MINOR 3 #define HB_VERSION_MINOR 4
/** /**
* HB_VERSION_MICRO: * HB_VERSION_MICRO:
* *
@ -60,7 +60,7 @@ HB_BEGIN_DECLS
* *
* A string literal containing the library version available at compile-time. * A string literal containing the library version available at compile-time.
*/ */
#define HB_VERSION_STRING "4.3.0" #define HB_VERSION_STRING "4.4.0"
/** /**
* HB_VERSION_ATLEAST: * HB_VERSION_ATLEAST: