diff --git a/src/hb-common.cc b/src/hb-common.cc
index fb8c7b7..ab93bf4 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -731,7 +731,7 @@
   /* Intentionally use strtol instead of strtoul, such that
    * -1 turns into "big number"... */
   errno = 0;
-  v = strtol (p, &pend, 0);
+  v = strtol (p, &pend, 10);
   if (errno || p == pend)
     return false;
 
@@ -755,7 +755,7 @@
   /* Intentionally use strtol instead of strtoul, such that
    * -1 turns into "big number"... */
   errno = 0;
-  v = strtol (p, &pend, 0);
+  v = strtol (p, &pend, 10);
   if (errno || p == pend)
     return false;
 
@@ -857,9 +857,14 @@
     (*pp)++;
 
   /* CSS allows on/off as aliases 1/0. */
-  if (*pp - p == 2 && 0 == strncmp (p, "on", 2))
+  if (*pp - p == 2
+      && TOLOWER (p[0]) == 'o'
+      && TOLOWER (p[1]) == 'n')
     *pv = 1;
-  else if (*pp - p == 3 && 0 == strncmp (p, "off", 3))
+  else if (*pp - p == 3
+	   && TOLOWER (p[0]) == 'o'
+	   && TOLOWER (p[1]) == 'f'
+	   && TOLOWER (p[2]) == 'f')
     *pv = 0;
   else
     return false;
@@ -975,8 +980,9 @@
  * Parses a string into a #hb_feature_t.
  *
  * The format for specifying feature strings follows. All valid CSS
- * font-feature-settings values other than 'normal' and 'inherited' are also
- * accepted, though, not documented below.
+ * font-feature-settings values other than 'normal' and the global values are
+ * also accepted, though not documented below. CSS string escapes are not
+ * supported.
  *
  * The range indices refer to the positions between Unicode characters. The
  * position before the first character is always 0.
diff --git a/util/options.cc b/util/options.cc
index b315c6a..c5a4f0f 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -432,7 +432,8 @@
     "    Features can be enabled or disabled, either globally or limited to\n"
     "    specific character ranges.  The format for specifying feature settings\n"
     "    follows.  All valid CSS font-feature-settings values other than 'normal'\n"
-    "    and 'inherited' are also accepted, though, not documented below.\n"
+    "    and the global values are also accepted, though not documented below.\n"
+    "    CSS string escapes are not supported."
     "\n"
     "    The range indices refer to the positions between Unicode characters,\n"
     "    unless the --utf8-clusters is provided, in which case range indices\n"
