2.0.0
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 18 Oct 2018 12:58:17 +0000 (05:58 -0700)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 18 Oct 2018 12:58:17 +0000 (05:58 -0700)
12 files changed:
NEWS
configure.ac
src/hb-buffer.cc
src/hb-common.h
src/hb-deprecated.h
src/hb-font.cc
src/hb-font.h
src/hb-ot-layout.cc
src/hb-ot-name.h
src/hb-ot-tag.cc
src/hb-ot-tag.h
src/hb-version.h

diff --git a/NEWS b/NEWS
index c9af0f3..58e21a5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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
 ====================================
index 1b9ddfe..a3ce8c1 100644 (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/])
index 00e7e14..ce9b053 100644 (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)
index c601b1f..2f09f43 100644 (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)
 
index 52ee49e..5af9bdb 100644 (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,
index c9656ce..7a43023 100644 (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,
index dc88f26..74c61ab 100644 (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,
index af38dcb..fb1d9b1 100644 (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,
index 0fdd63b..49423e8 100644 (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
 
index 7bcc63a..3d4e8b0 100644 (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,
index f7a061c..33a4dbd 100644 (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
 
index 3464951..d10a168 100644 (file)
 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) <= \