Imported Upstream version 8.2.2
[platform/upstream/harfbuzz.git] / test / api / test-style.c
index 73accfb..27b135f 100644 (file)
@@ -147,6 +147,34 @@ test_face_user_setting (void)
   hb_face_destroy (face);
 }
 
+static void
+test_synthetic_slant (void)
+{
+  hb_face_t *face = hb_test_open_font_file ("fonts/AdobeVFPrototype_vsindex.otf");
+  hb_font_t *font = hb_font_create (face);
+
+  assert_cmpfloat (hb_style_get_value (font, HB_STYLE_TAG_SLANT_RATIO), 0);
+
+  hb_font_set_synthetic_slant (font, 0.2);
+
+  assert_cmpfloat (hb_style_get_value (font, HB_STYLE_TAG_SLANT_RATIO), 0.2);
+
+  hb_font_destroy (font);
+  hb_face_destroy (face);
+
+  face = hb_test_open_font_file ("fonts/notosansitalic.ttf");
+  font = hb_font_create (face);
+
+  /* We expect a negative angle for a typical italic font,
+   * which should give us a positive ratio
+   */
+  assert_cmpfloat (hb_style_get_value (font, HB_STYLE_TAG_SLANT_ANGLE), -12);
+  assert_cmpfloat (hb_style_get_value (font, HB_STYLE_TAG_SLANT_RATIO), 0.21);
+
+  hb_font_destroy (font);
+  hb_face_destroy (face);
+}
+
 int
 main (int argc, char **argv)
 {
@@ -155,6 +183,7 @@ main (int argc, char **argv)
   hb_test_add (test_empty_face);
   hb_test_add (test_regular_face);
   hb_test_add (test_face_user_setting);
+  hb_test_add (test_synthetic_slant);
 
   return hb_test_run ();
 }