[style] Hide behind HB_EXPERIMENTAL_API compile flag
diff --git a/docs/harfbuzz-sections.txt b/docs/harfbuzz-sections.txt
index 3549ea4..bcad37a 100644
--- a/docs/harfbuzz-sections.txt
+++ b/docs/harfbuzz-sections.txt
@@ -715,12 +715,6 @@
 </SECTION>
 
 <SECTION>
-<FILE>hb-style</FILE>
-hb_style_tag_t
-hb_style_get_value
-</SECTION>
-
-<SECTION>
 <FILE>hb-unicode</FILE>
 HB_UNICODE_MAX
 hb_unicode_combining_class
diff --git a/src/gen-def.py b/src/gen-def.py
index b6b8b20..1ff3f48 100755
--- a/src/gen-def.py
+++ b/src/gen-def.py
@@ -36,6 +36,7 @@
 hb_draw_funcs_set_line_to_func
 hb_draw_funcs_set_move_to_func
 hb_draw_funcs_set_quadratic_to_func
+hb_style_get_value
 hb_font_get_var_coords_design
 hb_ot_layout_closure_lookups
 hb_ot_layout_closure_features""".splitlines ()
diff --git a/src/hb-style.cc b/src/hb-style.cc
index afa4a9f..69f5bee 100644
--- a/src/hb-style.cc
+++ b/src/hb-style.cc
@@ -25,6 +25,7 @@
 #include "hb.hh"
 
 #ifndef HB_NO_STYLE
+#ifdef HB_EXPERIMENTAL_API
 
 #include "hb-aat-fdsc-table.hh"
 #include "hb-ot-var-avar-table.hh"
@@ -36,6 +37,39 @@
 #include "hb-ot-face.hh"
 
 /**
+ * hb_style_tag_t:
+ * @HB_STYLE_TAG_ITALIC: Used to vary between non-italic and italic.
+ * A value of 0 can be interpreted as "Roman" (non-italic); a value of 1 can
+ * be interpreted as (fully) italic.
+ * @HB_STYLE_TAG_OPTICAL_SIZE: Used to vary design to suit different text sizes.
+ * Non-zero. Values can be interpreted as text size, in points.
+ * @HB_STYLE_TAG_SLANT: Used to vary between upright and slanted text. Values
+ * must be greater than -90 and less than +90. Values can be interpreted as
+ * the angle, in counter-clockwise degrees, of oblique slant from whatever the
+ * designer considers to be upright for that font design.
+ * @HB_STYLE_TAG_WIDTH: Used to vary width of text from narrower to wider.
+ * Non-zero. Values can be interpreted as a percentage of whatever the font
+ * designer considers “normal width” for that font design.
+ * @HB_STYLE_TAG_WEIGHT: Used to vary stroke thicknesses or other design details
+ * to give variation from lighter to blacker. Values can be interpreted in direct
+ * comparison to values for usWeightClass in the OS/2 table,
+ * or the CSS font-weight property.
+ *
+ * Defined by https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg
+ *
+ * Since: EXPERIMENTAL
+ **/
+typedef enum {
+  HB_STYLE_TAG_ITALIC		= HB_TAG ('i','t','a','l'),
+  HB_STYLE_TAG_OPTICAL_SIZE	= HB_TAG ('o','p','s','z'),
+  HB_STYLE_TAG_SLANT		= HB_TAG ('s','l','n','t'),
+  HB_STYLE_TAG_WIDTH		= HB_TAG ('w','d','t','h'),
+  HB_STYLE_TAG_WEIGHT		= HB_TAG ('w','g','h','t'),
+
+  _HB_STYLE_TAG_MAX_VALUE	= HB_TAG_MAX_SIGNED /*< skip >*/
+} hb_style_tag_t;
+
+/**
  * hb_style_get_value:
  * @font: a #hb_font_t object.
  * @style_tag: a style tag.
@@ -46,11 +80,12 @@
  *
  * Returns: Corresponding axis or default value to a style tag.
  *
- * Since: REPLACEME
+ * Since: EXPERIMENTAL
  **/
 float
-hb_style_get_value (hb_font_t *font, hb_style_tag_t style_tag)
+hb_style_get_value (hb_font_t *font, hb_tag_t tag)
 {
+  hb_style_tag_t style_tag = (hb_style_tag_t) tag;
   hb_face_t *face = font->face;
 
 #ifndef HB_NO_VAR
@@ -111,3 +146,4 @@
 }
 
 #endif
+#endif
diff --git a/src/hb-style.h b/src/hb-style.h
index ee84b72..1209c79 100644
--- a/src/hb-style.h
+++ b/src/hb-style.h
@@ -33,42 +33,10 @@
 
 HB_BEGIN_DECLS
 
-
-/**
- * hb_style_tag_t:
- * @HB_STYLE_TAG_ITALIC: Used to vary between non-italic and italic.
- * A value of 0 can be interpreted as "Roman" (non-italic); a value of 1 can
- * be interpreted as (fully) italic.
- * @HB_STYLE_TAG_OPTICAL_SIZE: Used to vary design to suit different text sizes.
- * Non-zero. Values can be interpreted as text size, in points.
- * @HB_STYLE_TAG_SLANT: Used to vary between upright and slanted text. Values
- * must be greater than -90 and less than +90. Values can be interpreted as
- * the angle, in counter-clockwise degrees, of oblique slant from whatever the
- * designer considers to be upright for that font design.
- * @HB_STYLE_TAG_WIDTH: Used to vary width of text from narrower to wider.
- * Non-zero. Values can be interpreted as a percentage of whatever the font
- * designer considers “normal width” for that font design.
- * @HB_STYLE_TAG_WEIGHT: Used to vary stroke thicknesses or other design details
- * to give variation from lighter to blacker. Values can be interpreted in direct
- * comparison to values for usWeightClass in the OS/2 table,
- * or the CSS font-weight property.
- *
- * Defined by https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg
- *
- * Since: REPLACEME
- **/
-typedef enum {
-  HB_STYLE_TAG_ITALIC		= HB_TAG ('i','t','a','l'),
-  HB_STYLE_TAG_OPTICAL_SIZE	= HB_TAG ('o','p','s','z'),
-  HB_STYLE_TAG_SLANT		= HB_TAG ('s','l','n','t'),
-  HB_STYLE_TAG_WIDTH		= HB_TAG ('w','d','t','h'),
-  HB_STYLE_TAG_WEIGHT		= HB_TAG ('w','g','h','t'),
-
-  _HB_STYLE_TAG_MAX_VALUE	= HB_TAG_MAX_SIGNED /*< skip >*/
-} hb_style_tag_t;
-
+#ifdef HB_EXPERIMENTAL_API
 HB_EXTERN float
-hb_style_get_value (hb_font_t *font, hb_style_tag_t style_tag);
+hb_style_get_value (hb_font_t *font, hb_tag_t style_tag);
+#endif
 
 HB_END_DECLS
 
diff --git a/test/api/test-ot-face.c b/test/api/test-ot-face.c
index 155d1ff..fb31ed2 100644
--- a/test/api/test-ot-face.c
+++ b/test/api/test-ot-face.c
@@ -131,11 +131,13 @@
   hb_ot_name_get_utf16 (face, cp, NULL, NULL, NULL);
   hb_ot_name_get_utf32 (face, cp, NULL, NULL, NULL);
 
+#if 0
   hb_style_get_value (font, HB_STYLE_TAG_ITALIC);
   hb_style_get_value (font, HB_STYLE_TAG_OPTICAL_SIZE);
   hb_style_get_value (font, HB_STYLE_TAG_SLANT);
   hb_style_get_value (font, HB_STYLE_TAG_WIDTH);
   hb_style_get_value (font, HB_STYLE_TAG_WEIGHT);
+#endif
 
   hb_ot_var_get_axis_count (face);
   hb_ot_var_get_axis_infos (face, 0, NULL, NULL);
diff --git a/test/api/test-style.c b/test/api/test-style.c
index 9225a0a..b9a406b 100644
--- a/test/api/test-style.c
+++ b/test/api/test-style.c
@@ -22,6 +22,7 @@
  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  */
 
+#ifdef HB_EXPERIMENTAL_API
 #include "hb-test.h"
 
 #include <hb.h>
@@ -30,6 +31,12 @@
 
 #define assert_cmpfloat(n1, n2) g_assert_cmpint ((int) (n1 * 100.f), ==, (int) (n2 * 100.f))
 
+#define HB_STYLE_TAG_ITALIC		HB_TAG ('i','t','a','l')
+#define HB_STYLE_TAG_OPTICAL_SIZE	HB_TAG ('o','p','s','z')
+#define HB_STYLE_TAG_SLANT		HB_TAG ('s','l','n','t')
+#define HB_STYLE_TAG_WIDTH		HB_TAG ('w','d','t','h')
+#define HB_STYLE_TAG_WEIGHT		HB_TAG ('w','g','h','t')
+
 static void
 test_empty_face (void)
 {
@@ -178,3 +185,6 @@
 
   return hb_test_run ();
 }
+#else
+int main () {}
+#endif