[subset] Add special case handling of bit 57 in os2 ulUnicodeRange.
diff --git a/src/hb-ot-os2-table.hh b/src/hb-ot-os2-table.hh
index 63e9726..7325e93 100644
--- a/src/hb-ot-os2-table.hh
+++ b/src/hb-ot-os2-table.hh
@@ -90,6 +90,13 @@
         unsigned int mask = 1 << bit_in_block;
         ulUnicodeRange[block].set (ulUnicodeRange[block] | mask);
       }
+      if (cp >= 0x10000 && cp <= 0x110000)
+      {
+        /* the spec says that bit 57 ("Non Plane 0") implies that there's
+           at least one codepoint beyond the BMP; so I also include all
+           the non-BMP codepoints here */
+        ulUnicodeRange[2].set (ulUnicodeRange[2] | (1 << 25));
+      }
     }
   }
 
diff --git a/src/test-unicode-ranges.cc b/src/test-unicode-ranges.cc
index 68dfe07..16d01ef 100644
--- a/src/test-unicode-ranges.cc
+++ b/src/test-unicode-ranges.cc
@@ -31,9 +31,6 @@
 void
 test (hb_codepoint_t cp, int bit)
 {
-  // TODO:
-  //  Note: * Setting bit 57 implies that there is at least one codepoint beyond the Basic
-  //  Multilingual Plane that is supported by this font. (See fontTools impl.)
   if (OT::hb_get_unicode_range_bit (cp) != bit)
   {
     fprintf (stderr, "got incorrect bit (%d) for cp 0x%X. Should have been %d.",