This commit is contained in:
Behdad Esfahbod 2018-10-18 05:58:17 -07:00
parent 535ca678bf
commit 3d9a0306eb
12 changed files with 99 additions and 31 deletions

68
NEWS
View File

@ -1,3 +1,71 @@
Overview of changes leading to 2.0.0
Wednesday, October 17, 2018
====================================
- Added AAT shaping support (morx/kerx/trak).
Automatically used if GSUB/GPOS are not available respectively.
Set HB_OPTIONS=aat env var to have morx/kerx preferred over
GSUB/GPOS.
- Apply TrueType kern table internally, instead of relying on
hb_font_t callbacks.
- Khmer shaper significantly rewritten to better match Uniscribe.
- Indic3 tags ('dev3', etc) are passed to USE shaper.
- .dfont Mac font containers implemented.
- Script- and language-mapping revamped to better use BCP 47.
- Misc USE and Indic fixes.
- Misc everything fixes.
- Too many things to list. Biggest release since 0.9.1, with
over 500 commits in just over 5 weeks! Didn't intend it to
be a big release. Just happened to become.
- hb-ft now locks underlying FT_Face during use.
API changes:
- Newly-created hb_font_t's now have our internal "hb-ot-font"
callbacks set on them, so they should work out of the box
without any callbacks set. If callbacks are set, everything
is back to what it was before, the fallback callbacks are
null. If you to get the internal implementation modified,
sub_font it.
- New hb_font_funcs_set_nominal_glyphs_func() allows speeding
up character to glyph mapping.
New API:
+HB_FEATURE_GLOBAL_START
+HB_FEATURE_GLOBAL_END
+hb_buffer_set_invisible_glyph()
+hb_buffer_get_invisible_glyph()
+hb_font_funcs_set_nominal_glyphs_func()
+hb_ot_layout_table_select_script()
+hb_ot_layout_script_select_language()
+hb_ot_layout_feature_get_name_ids()
+hb_ot_layout_feature_get_characters()
+hb_name_id_t
+HB_NAME_ID_INVALID
+HB_OT_MAX_TAGS_PER_SCRIPT
+hb_ot_tags_from_script_and_language()
+hb_ot_tags_to_script_and_language()
Deprecated API:
-hb_font_funcs_set_glyph_func()
-hb_unicode_eastasian_width_func_t
-hb_unicode_funcs_set_eastasian_width_func()
-hb_unicode_eastasian_width()
-hb_unicode_decompose_compatibility_func_t
-HB_UNICODE_MAX_DECOMPOSITION_LEN
-hb_unicode_funcs_set_decompose_compatibility_func()
-hb_unicode_decompose_compatibility()
-hb_font_funcs_set_glyph_h_kerning_func()
-hb_font_funcs_set_glyph_v_kerning_func()
-hb_font_get_glyph_h_kerning()
-hb_font_get_glyph_v_kerning()
-hb_font_get_glyph_kerning_for_direction()
-hb_ot_layout_table_choose_script()
-hb_ot_layout_script_find_language()
-hb_ot_tags_from_script()
-hb_ot_tag_from_language()
Overview of changes leading to 1.9.0
Monday, September 10, 2018
====================================

View File

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

View File

@ -1190,7 +1190,7 @@ hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer)
* U+0020 SPACE character is used. Otherwise, this value is used
* verbatim.
*
* Since: REPLACEME
* Since: 2.0.0
**/
void
hb_buffer_set_invisible_glyph (hb_buffer_t *buffer,
@ -1211,7 +1211,7 @@ hb_buffer_set_invisible_glyph (hb_buffer_t *buffer,
* Return value:
* The @buffer invisible #hb_codepoint_t.
*
* Since: REPLACEME
* Since: 2.0.0
**/
hb_codepoint_t
hb_buffer_get_invisible_glyph (hb_buffer_t *buffer)

View File

@ -401,13 +401,13 @@ typedef void (*hb_destroy_func_t) (void *user_data);
/**
* HB_FEATURE_GLOBAL_START
*
* Since: REPLACEME
* Since: 2.0.0
*/
#define HB_FEATURE_GLOBAL_START 0
/**
* HB_FEATURE_GLOBAL_END
*
* Since: REPLACEME
* Since: 2.0.0
*/
#define HB_FEATURE_GLOBAL_END ((unsigned int) -1)

View File

@ -61,7 +61,7 @@ hb_set_invert (hb_set_t *set);
/**
* hb_unicode_eastasian_width_func_t:
*
* Deprecated: REPLACEME
* Deprecated: 2.0.0
*/
typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t unicode,
@ -77,7 +77,7 @@ typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t
*
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
HB_EXTERN HB_DEPRECATED void
hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs,
@ -88,7 +88,7 @@ hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs,
* hb_unicode_eastasian_width:
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
HB_EXTERN HB_DEPRECATED unsigned int
hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs,
@ -113,7 +113,7 @@ hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs,
*
* Return value: number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available.
*
* Deprecated: REPLACEME
* Deprecated: 2.0.0
*/
typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t u,
@ -125,7 +125,7 @@ typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_
*
* See Unicode 6.1 for details on the maximum decomposition length.
*
* Deprecated: REPLACEME
* Deprecated: 2.0.0
*/
#define HB_UNICODE_MAX_DECOMPOSITION_LEN (18+1) /* codepoints */
@ -139,7 +139,7 @@ typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_
*
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
HB_EXTERN HB_DEPRECATED void
hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
@ -150,7 +150,7 @@ hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
* hb_unicode_decompose_compatibility:
*
*
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
HB_EXTERN HB_DEPRECATED unsigned int
hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
@ -174,7 +174,7 @@ typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t;
*
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
HB_EXTERN void
hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs,
@ -191,7 +191,7 @@ hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs,
*
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
HB_EXTERN void
hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs,

View File

@ -922,7 +922,7 @@ hb_font_get_glyph_v_origin (hb_font_t *font,
* Return value:
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
hb_position_t
hb_font_get_glyph_h_kerning (hb_font_t *font,
@ -942,7 +942,7 @@ hb_font_get_glyph_h_kerning (hb_font_t *font,
* Return value:
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
hb_position_t
hb_font_get_glyph_v_kerning (hb_font_t *font,
@ -1171,7 +1171,7 @@ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
*
*
* Since: 0.9.2
* Deprecated: REPLACEME
* Deprecated: 2.0.0
**/
void
hb_font_get_glyph_kerning_for_direction (hb_font_t *font,

View File

@ -237,7 +237,7 @@ hb_font_funcs_set_nominal_glyph_func (hb_font_funcs_t *ffuncs,
*
*
*
* Since: REPLACEME
* Since: 2.0.0
**/
HB_EXTERN void
hb_font_funcs_set_nominal_glyphs_func (hb_font_funcs_t *ffuncs,

View File

@ -376,7 +376,7 @@ hb_ot_layout_table_choose_script (hb_face_t *face,
/**
* hb_ot_layout_table_select_script:
*
* Since: REPLACEME
* Since: 2.0.0
**/
hb_bool_t
hb_ot_layout_table_select_script (hb_face_t *face,
@ -489,7 +489,7 @@ hb_ot_layout_script_find_language (hb_face_t *face,
/**
* hb_ot_layout_script_select_language:
*
* Since: REPLACEME
* Since: 2.0.0
**/
hb_bool_t
hb_ot_layout_script_select_language (hb_face_t *face,
@ -1134,7 +1134,7 @@ hb_ot_layout_get_size_params (hb_face_t *face,
*
* Return value: true if data found, false otherwise
*
* Since: REPLACEME
* Since: 2.0.0
**/
hb_bool_t
hb_ot_layout_feature_get_name_ids (hb_face_t *face,
@ -1207,7 +1207,7 @@ hb_ot_layout_feature_get_name_ids (hb_face_t *face,
*
* Return value: Number of total sample characters in the cvXX feature.
*
* Since: REPLACEME
* Since: 2.0.0
**/
unsigned int
hb_ot_layout_feature_get_characters (hb_face_t *face,

View File

@ -37,14 +37,14 @@ HB_BEGIN_DECLS
/**
* hb_name_id_t:
*
* Since: REPLACEME
* Since: 2.0.0
*/
typedef unsigned int hb_name_id_t;
/**
* HB_NAME_ID_INVALID
*
* Since: REPLACEME
* Since: 2.0.0
**/
#define HB_NAME_ID_INVALID 0xFFFF

View File

@ -336,7 +336,7 @@ parse_private_use_subtag (const char *private_use_subtag,
*
* Converts an #hb_script_t and an #hb_language_t to script and language tags.
*
* Since: REPLACEME
* Since: 2.0.0
**/
void
hb_ot_tags_from_script_and_language (hb_script_t script,
@ -448,7 +448,7 @@ hb_ot_tag_to_language (hb_tag_t tag)
* Converts a script tag and a language tag to an #hb_script_t and an
* #hb_language_t.
*
* Since: REPLACEME
* Since: 2.0.0
**/
void
hb_ot_tags_to_script_and_language (hb_tag_t script_tag,

View File

@ -42,13 +42,13 @@ HB_BEGIN_DECLS
/**
* HB_OT_MAX_TAGS_PER_SCRIPT:
*
* Since: REPLACEME
* Since: 2.0.0
**/
#define HB_OT_MAX_TAGS_PER_SCRIPT 3u
/**
* HB_OT_MAX_TAGS_PER_LANGUAGE:
*
* Since: REPLACEME
* Since: 2.0.0
**/
#define HB_OT_MAX_TAGS_PER_LANGUAGE 3u

View File

@ -36,11 +36,11 @@
HB_BEGIN_DECLS
#define HB_VERSION_MAJOR 1
#define HB_VERSION_MINOR 9
#define HB_VERSION_MAJOR 2
#define HB_VERSION_MINOR 0
#define HB_VERSION_MICRO 0
#define HB_VERSION_STRING "1.9.0"
#define HB_VERSION_STRING "2.0.0"
#define HB_VERSION_ATLEAST(major,minor,micro) \
((major)*10000+(minor)*100+(micro) <= \