This commit is contained in:
Khaled Hosny 2022-01-31 18:12:01 +02:00
parent 3e8742e376
commit 98da330638
8 changed files with 55 additions and 20 deletions

32
NEWS
View File

@ -1,7 +1,37 @@
Overview of changes leading to 3.3.0
Monday, January 31, 2022
====================================
- Improved documentation.
- Internal code cleanup, using C++ standard library more.
- The low 16-bits of face index will be used by hb_face_create() to select a
face inside a font collection file format, while the high 16-bits will be
used by hb_font_create() to load the named instance.
- Glyph positions and other font metrics now apply synthetic slant set by
hb_font_set_synthetic_slant(), for improved positioning for synthetically
slanted fonts.
- Fixed unintentional locale dependency in hb_variation_to_string() for decimal
point representation.
- When applying pair positioning (kerning) the positioning value is split
between the two sides of the pair for improved cursor positioning between
such pairs.
- Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in conjunction
with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing re-shaping during line
breaking. Check the documentation for further details.
- Improved handling of macrolanguages when mapping BCP 47 codes to OpenType
tags.
- New API:
+HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
+hb_segment_properties_overlay()
+hb_buffer_create_similar()
+hb_font_set_synthetic_slant()
+hb_font_get_synthetic_slant()
+hb_font_get_var_coords_design()
Overview of changes leading to 3.2.0 Overview of changes leading to 3.2.0
Friday, November 26, 2021 Friday, November 26, 2021
==================================== ====================================
“harfbuzz” library improvements: “harfbuzz” library improvements:
- Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod) - Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod)
- Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod) - Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod)

View File

@ -1,6 +1,6 @@
AC_PREREQ([2.64]) AC_PREREQ([2.64])
AC_INIT([HarfBuzz], AC_INIT([HarfBuzz],
[3.2.0], [3.3.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

@ -116,6 +116,7 @@
<index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index> <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
<index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index> <index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
<index id="api-index-3-3-0" role="3.3.0"><title>Index of new symbols in 3.3.0</title><xi:include href="xml/api-index-3.3.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-3-1-0" role="3.1.0"><title>Index of new symbols in 3.1.0</title><xi:include href="xml/api-index-3.1.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-3-1-0" role="3.1.0"><title>Index of new symbols in 3.1.0</title><xi:include href="xml/api-index-3.1.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-3-0-0" role="3.0.0"><title>Index of new symbols in 3.0.0</title><xi:include href="xml/api-index-3.0.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-3-0-0" role="3.0.0"><title>Index of new symbols in 3.0.0</title><xi:include href="xml/api-index-3.0.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-2-9-1" role="2.9.1"><title>Index of new symbols in 2.9.1</title><xi:include href="xml/api-index-2.9.1.xml"><xi:fallback /></xi:include></index> <index id="api-index-2-9-1" role="2.9.1"><title>Index of new symbols in 2.9.1</title><xi:include href="xml/api-index-2.9.1.xml"><xi:fallback /></xi:include></index>

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: '3.2.0', version: '3.3.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

@ -102,7 +102,7 @@ hb_segment_properties_hash (const hb_segment_properties_t *p)
* can be unset), if @p does not have language set, language is copied from * can be unset), if @p does not have language set, language is copied from
* @src. * @src.
* *
* Since: REPLACEME * Since: 3.3.0
**/ **/
void void
hb_segment_properties_overlay (hb_segment_properties_t *p, hb_segment_properties_overlay (hb_segment_properties_t *p,
@ -664,14 +664,13 @@ hb_buffer_create ()
* hb_buffer_create_similar: * hb_buffer_create_similar:
* @src: An #hb_buffer_t * @src: An #hb_buffer_t
* *
* Resets the buffer to its initial status, as if it was just newly created * Creates a new #hb_buffer_t, similar to hb_buffer_create(). The only
* with hb_buffer_create().
*
* Return value: (transfer full):
* A newly allocated #hb_buffer_t, similar to hb_buffer_create(). The only
* difference is that the buffer is configured similarly to @src. * difference is that the buffer is configured similarly to @src.
* *
* Since: REPLACEME * Return value: (transfer full):
* A newly allocated #hb_buffer_t, similar to hb_buffer_create().
*
* Since: 3.3.0
**/ **/
hb_buffer_t * hb_buffer_t *
hb_buffer_create_similar (const hb_buffer_t *src) hb_buffer_create_similar (const hb_buffer_t *src)

View File

@ -137,7 +137,7 @@ typedef struct hb_glyph_info_t {
* clusters. * clusters.
* The #HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will * The #HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will
* always imply this flag. * always imply this flag.
* Since: REPLACEME * Since: 3.3.0
* @HB_GLYPH_FLAG_DEFINED: All the currently defined flags. * @HB_GLYPH_FLAG_DEFINED: All the currently defined flags.
* *
* Flags for #hb_glyph_info_t. * Flags for #hb_glyph_info_t.

View File

@ -2053,7 +2053,7 @@ hb_font_get_ptem (hb_font_t *font)
* <note>Note: The slant value is a ratio. For example, a * <note>Note: The slant value is a ratio. For example, a
* 20% slant would be represented as a 0.2 value.</note> * 20% slant would be represented as a 0.2 value.</note>
* *
* Since: REPLACEME * Since: 3.3.0
**/ **/
HB_EXTERN void HB_EXTERN void
hb_font_set_synthetic_slant (hb_font_t *font, float slant) hb_font_set_synthetic_slant (hb_font_t *font, float slant)
@ -2073,7 +2073,7 @@ hb_font_set_synthetic_slant (hb_font_t *font, float slant)
* *
* Return value: Synthetic slant. By default is zero. * Return value: Synthetic slant. By default is zero.
* *
* Since: REPLACEME * Since: 3.3.0
**/ **/
HB_EXTERN float HB_EXTERN float
hb_font_get_synthetic_slant (hb_font_t *font) hb_font_get_synthetic_slant (hb_font_t *font)
@ -2266,7 +2266,7 @@ hb_font_set_var_coords_normalized (hb_font_t *font,
/** /**
* hb_font_get_var_coords_normalized: * hb_font_get_var_coords_normalized:
* @font: #hb_font_t to work upon * @font: #hb_font_t to work upon
* @length: Number of coordinates retrieved * @length: (out): Number of coordinates retrieved
* *
* Fetches the list of normalized variation coordinates currently * Fetches the list of normalized variation coordinates currently
* set on a font. * set on a font.
@ -2277,6 +2277,8 @@ hb_font_set_var_coords_normalized (hb_font_t *font,
* Return value is valid as long as variation coordinates of the font * Return value is valid as long as variation coordinates of the font
* are not modified. * are not modified.
* *
* Return value: coordinates array
*
* Since: 1.4.2 * Since: 1.4.2
*/ */
const int * const int *
@ -2292,18 +2294,21 @@ hb_font_get_var_coords_normalized (hb_font_t *font,
/** /**
* hb_font_get_var_coords_design: * hb_font_get_var_coords_design:
* @font: #hb_font_t to work upon * @font: #hb_font_t to work upon
* @length: (out): number of coordinates * @length: (out): Number of coordinates retrieved
* *
* Return value is valid as long as variation coordinates of the font * Fetches the list of variation coordinates (in design-space units) currently
* are not modified. * set on a font.
* *
* Note that this returned array may only contain values for some * Note that this returned array may only contain values for some
* (or none) of the axes; omitted axes effectively have their default * (or none) of the axes; omitted axes effectively have their default
* values. * values.
* *
* Return value is valid as long as variation coordinates of the font
* are not modified.
*
* Return value: coordinates array * Return value: coordinates array
* *
* Since: REPLACEME * Since: 3.3.0
*/ */
const float * const float *
hb_font_get_var_coords_design (hb_font_t *font, hb_font_get_var_coords_design (hb_font_t *font,

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 2 #define HB_VERSION_MINOR 3
/** /**
* 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 "3.2.0" #define HB_VERSION_STRING "3.3.0"
/** /**
* HB_VERSION_ATLEAST: * HB_VERSION_ATLEAST: