4.4.0
This commit is contained in:
parent
f1fb8c4489
commit
8537d68172
34
NEWS
34
NEWS
|
@ -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 HarfBuzz’s 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
|
||||||
====================================
|
====================================
|
||||||
|
|
|
@ -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/])
|
||||||
|
|
|
@ -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',
|
||||||
|
|
|
@ -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().
|
||||||
*
|
*
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue