diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml
index 7a42d2378..00113e985 100644
--- a/docs/harfbuzz-docs.xml
+++ b/docs/harfbuzz-docs.xml
@@ -180,7 +180,7 @@
Index of new symbols in 1.2.3
-
+
Index of new symbols in 1.3.3
diff --git a/docs/harfbuzz-sections.txt b/docs/harfbuzz-sections.txt
index 270c87c44..b4ae15dd5 100644
--- a/docs/harfbuzz-sections.txt
+++ b/docs/harfbuzz-sections.txt
@@ -245,6 +245,7 @@ hb_font_get_scale
hb_font_get_user_data
hb_font_get_variation_glyph
hb_font_get_variation_glyph_func_t
+hb_font_get_var_coords_normalized
hb_font_glyph_from_string
hb_font_glyph_to_string
hb_font_is_immutable
@@ -252,9 +253,16 @@ hb_font_make_immutable
hb_font_reference
hb_font_set_funcs
hb_font_set_funcs_data
+hb_font_set_parent
hb_font_set_ppem
hb_font_set_scale
hb_font_set_user_data
+hb_variation_t
+hb_variation_from_string
+hb_variation_to_string
+hb_font_set_variations
+hb_font_set_var_coords_design
+hb_font_set_var_coords_normalized
hb_font_subtract_glyph_origin_for_direction
hb_font_t
hb_reference_table_func_t
@@ -266,7 +274,6 @@ hb_font_get_font_h_extents_func_t
hb_font_get_font_v_extents_func_t
hb_font_get_h_extents
hb_font_get_v_extents
-hb_font_set_parent
@@ -304,6 +311,9 @@ HB_GOBJECT_TYPE_FONT
HB_GOBJECT_TYPE_FONT_FUNCS
HB_GOBJECT_TYPE_MEMORY_MODE
HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS
+HB_GOBJECT_TYPE_OT_MATH_CONSTANT
+HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS
+HB_GOBJECT_TYPE_OT_MATH_KERN
HB_GOBJECT_TYPE_SCRIPT
HB_GOBJECT_TYPE_SHAPE_PLAN
HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS
@@ -328,6 +338,9 @@ hb_gobject_font_funcs_get_type
hb_gobject_font_get_type
hb_gobject_memory_mode_get_type
hb_gobject_ot_layout_glyph_class_get_type
+hb_gobject_ot_math_constant_get_type
+hb_gobject_ot_math_glyph_part_flags_get_type
+hb_gobject_ot_math_kern_get_type
hb_gobject_script_get_type
hb_gobject_shape_plan_get_type
hb_gobject_unicode_combining_class_get_type
@@ -384,12 +397,14 @@ hb_ot_shape_glyphs_closure
HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX
HB_OT_LAYOUT_NO_FEATURE_INDEX
HB_OT_LAYOUT_NO_SCRIPT_INDEX
+HB_OT_LAYOUT_NO_VARIATIONS_INDEX
HB_OT_TAG_GDEF
HB_OT_TAG_GPOS
HB_OT_TAG_GSUB
HB_OT_TAG_JSTF
hb_ot_layout_collect_lookups
hb_ot_layout_feature_get_lookups
+hb_ot_layout_feature_with_variations_get_lookups
hb_ot_layout_get_attach_points
hb_ot_layout_get_glyph_class
hb_ot_layout_get_glyphs_in_class
@@ -410,6 +425,7 @@ hb_ot_layout_lookup_would_substitute
hb_ot_layout_script_find_language
hb_ot_layout_script_get_language_tags
hb_ot_layout_table_choose_script
+hb_ot_layout_table_find_feature_variations
hb_ot_layout_table_find_script
hb_ot_layout_table_get_feature_tags
hb_ot_layout_table_get_script_tags
@@ -422,6 +438,19 @@ Xhb_ot_layout_lookup_position
Xhb_ot_layout_lookup_substitute
+
+hb-ot-var
+HB_OT_TAG_avar
+HB_OT_TAG_fvar
+HB_OT_VAR_NO_AXIS_INDEX
+hb_ot_var_axis_t
+hb_ot_var_has_data
+hb_ot_var_find_axis
+hb_ot_var_get_axis_count
+hb_ot_var_get_axes
+hb_ot_var_normalize_axis_value
+
+
hb-ot-math
HB_OT_TAG_MATH
@@ -486,8 +515,8 @@ hb_set_union
hb-shape
-hb_feature_from_string
hb_feature_t
+hb_feature_from_string
hb_feature_to_string
hb_shape
hb_shape_full
@@ -498,6 +527,8 @@ hb_shape_list_shapers
hb-shape-plan
hb_shape_plan_create
hb_shape_plan_create_cached
+hb_shape_plan_create2
+hb_shape_plan_create_cached2
hb_shape_plan_destroy
hb_shape_plan_execute
hb_shape_plan_get_empty
diff --git a/src/hb-common.cc b/src/hb-common.cc
index a804f822b..64e77d434 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -898,6 +898,11 @@ parse_one_variation (const char **pp, const char *end, hb_variation_t *variation
*pp == end;
}
+/**
+ * hb_variation_from_string:
+ *
+ * Since: 1.4.2
+ */
hb_bool_t
hb_variation_from_string (const char *str, int len,
hb_variation_t *variation)
@@ -919,6 +924,11 @@ hb_variation_from_string (const char *str, int len,
return false;
}
+/**
+ * hb_variation_to_string:
+ *
+ * Since: 1.4.2
+ */
void
hb_variation_to_string (hb_variation_t *variation,
char *buf, unsigned int size)
diff --git a/src/hb-common.h b/src/hb-common.h
index ed0b97dfd..634cb96a6 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -379,6 +379,11 @@ HB_EXTERN void
hb_feature_to_string (hb_feature_t *feature,
char *buf, unsigned int size);
+/**
+ * hb_variation_t:
+ *
+ * Since: 1.4.2
+ */
typedef struct hb_variation_t {
hb_tag_t tag;
float value;
diff --git a/src/hb-directwrite.cc b/src/hb-directwrite.cc
index 11b935310..d63bc0473 100644
--- a/src/hb-directwrite.cc
+++ b/src/hb-directwrite.cc
@@ -915,7 +915,7 @@ _hb_directwrite_shape(hb_shape_plan_t *shape_plan,
*/
hb_bool_t
-hb_shape_dwrite_experimental_width(hb_font_t *font,
+hb_directwrite_shape_experimental_width(hb_font_t *font,
hb_buffer_t *buffer,
const hb_feature_t *features,
unsigned int num_features,
diff --git a/src/hb-directwrite.h b/src/hb-directwrite.h
index 0eb116f4c..e743af214 100644
--- a/src/hb-directwrite.h
+++ b/src/hb-directwrite.h
@@ -30,7 +30,7 @@
HB_BEGIN_DECLS
HB_EXTERN hb_bool_t
-hb_shape_dwrite_experimental_width(hb_font_t *font, hb_buffer_t *buffer,
+hb_directwrite_shape_experimental_width(hb_font_t *font, hb_buffer_t *buffer,
const hb_feature_t *features, unsigned int num_features, float width);
HB_END_DECLS
diff --git a/src/hb-font.cc b/src/hb-font.cc
index 607bd4893..3140ee47c 100644
--- a/src/hb-font.cc
+++ b/src/hb-font.cc
@@ -1551,6 +1551,11 @@ _hb_font_adopt_var_coords_normalized (hb_font_t *font,
font->num_coords = coords_length;
}
+/**
+ * hb_font_set_variations:
+ *
+ * Since: 1.4.2
+ */
void
hb_font_set_variations (hb_font_t *font,
const hb_variation_t *variations,
@@ -1584,6 +1589,11 @@ hb_font_set_variations (hb_font_t *font,
_hb_font_adopt_var_coords_normalized (font, normalized, coords_length);
}
+/**
+ * hb_font_set_var_coords_design:
+ *
+ * Since: 1.4.2
+ */
void
hb_font_set_var_coords_design (hb_font_t *font,
const float *coords,
@@ -1603,6 +1613,11 @@ hb_font_set_var_coords_design (hb_font_t *font,
_hb_font_adopt_var_coords_normalized (font, normalized, coords_length);
}
+/**
+ * hb_font_set_var_coords_normalized:
+ *
+ * Since: 1.4.2
+ */
void
hb_font_set_var_coords_normalized (hb_font_t *font,
const int *coords, /* 2.14 normalized */
@@ -1621,6 +1636,11 @@ hb_font_set_var_coords_normalized (hb_font_t *font,
_hb_font_adopt_var_coords_normalized (font, copy, coords_length);
}
+/**
+ * hb_font_set_var_coords_normalized:
+ *
+ * Since: 1.4.2
+ */
int *
hb_font_get_var_coords_normalized (hb_font_t *font,
unsigned int *length)
diff --git a/src/hb-ot-var.cc b/src/hb-ot-var.cc
index d1e97257c..508042477 100644
--- a/src/hb-ot-var.cc
+++ b/src/hb-ot-var.cc
@@ -63,6 +63,11 @@ hb_ot_var_has_data (hb_face_t *face)
return &_get_fvar (face) != &OT::Null(OT::fvar);
}
+/**
+ * hb_ot_var_get_axis_count:
+ *
+ * Since: 1.4.2
+ **/
unsigned int
hb_ot_var_get_axis_count (hb_face_t *face)
{
@@ -70,6 +75,11 @@ hb_ot_var_get_axis_count (hb_face_t *face)
return fvar.get_axis_count ();
}
+/**
+ * hb_ot_var_get_axes:
+ *
+ * Since: 1.4.2
+ **/
unsigned int
hb_ot_var_get_axes (hb_face_t *face,
unsigned int start_offset,
@@ -80,7 +90,12 @@ hb_ot_var_get_axes (hb_face_t *face,
return fvar.get_axis_infos (start_offset, axes_count, axes_array);
}
-HB_EXTERN hb_bool_t
+/**
+ * hb_ot_var_find_axis:
+ *
+ * Since: 1.4.2
+ **/
+hb_bool_t
hb_ot_var_find_axis (hb_face_t *face,
hb_tag_t axis_tag,
unsigned int *axis_index,
@@ -90,7 +105,12 @@ hb_ot_var_find_axis (hb_face_t *face,
return fvar.find_axis (axis_tag, axis_index, axis_info);
}
-HB_EXTERN int
+/**
+ * hb_ot_var_normalize_axis_value:
+ *
+ * Since: 1.4.2
+ **/
+int
hb_ot_var_normalize_axis_value (hb_face_t *face,
unsigned int axis_index,
float v)
diff --git a/src/hb-ot-var.h b/src/hb-ot-var.h
index 4023b29f4..652a78d07 100644
--- a/src/hb-ot-var.h
+++ b/src/hb-ot-var.h
@@ -60,6 +60,11 @@ typedef struct hb_ot_var_axis_t {
HB_EXTERN hb_bool_t
hb_ot_var_has_data (hb_face_t *face);
+/**
+ * HB_OT_VAR_NO_AXIS_INDEX:
+ *
+ * Since: 1.4.2
+ */
#define HB_OT_VAR_NO_AXIS_INDEX 0xFFFFFFFFu
HB_EXTERN unsigned int
@@ -83,13 +88,6 @@ hb_ot_var_normalize_axis_value (hb_face_t *face,
unsigned int axis_index,
float v);
-#if 0
-
-HB_EXTERN unsigned int
-Xhb_ot_var_get_named_instances (hb_face_t *face, ... );
-
-#endif
-
HB_END_DECLS
diff --git a/src/hb-set.cc b/src/hb-set.cc
index cb7fcdbf6..f3fe1ba43 100644
--- a/src/hb-set.cc
+++ b/src/hb-set.cc
@@ -105,7 +105,7 @@ hb_set_destroy (hb_set_t *set)
* @set: a set.
* @key:
* @data:
- * @destroy (closure data):
+ * @destroy:
* @replace:
*
* Return value: