Add hb_script_from_string()
diff --git a/src/hb-unicode.c b/src/hb-unicode.c
index 63c39b1..bf18631 100644
--- a/src/hb-unicode.c
+++ b/src/hb-unicode.c
@@ -492,6 +492,12 @@
   return HB_SCRIPT_UNKNOWN;
 }
 
+hb_script_t
+hb_script_from_string (const char *s)
+{
+  return hb_script_from_iso15924_tag (hb_tag_from_string (s));
+}
+
 hb_tag_t
 hb_script_to_iso15924_tag (hb_script_t script)
 {
diff --git a/src/hb-unicode.h b/src/hb-unicode.h
index 148b5a2..56e3012 100644
--- a/src/hb-unicode.h
+++ b/src/hb-unicode.h
@@ -295,6 +295,10 @@
 hb_script_t
 hb_script_from_iso15924_tag (hb_tag_t tag);
 
+/* suger for tag_from_string() then script_from_iso15924_tag */
+hb_script_t
+hb_script_from_string (const char *s);
+
 hb_tag_t
 hb_script_to_iso15924_tag (hb_script_t script);
 
diff --git a/src/hb-view.c b/src/hb-view.c
index 3a5b9e7..87d9b30 100644
--- a/src/hb-view.c
+++ b/src/hb-view.c
@@ -354,7 +354,7 @@
 
   hb_buffer_add_utf8 (hb_buffer, text, len, 0, len);
   if (script)
-    hb_buffer_set_script (hb_buffer, hb_script_from_iso15924_tag (hb_tag_from_string (script)));
+    hb_buffer_set_script (hb_buffer, hb_script_from_string (script));
   else
     hb_buffer_set_script (hb_buffer, HB_SCRIPT_INVALID);
   hb_buffer_set_direction (hb_buffer, HB_DIRECTION_INVALID);