diff --git a/src/post.cc b/src/post.cc index 74ba4530..f4a0b0de 100644 --- a/src/post.cc +++ b/src/post.cc @@ -76,10 +76,9 @@ bool ots_post_parse(OpenTypeFile *file, const uint8_t *data, size_t length) { if (!table.ReadU16(&post->glyph_name_index[i])) { return OTS_FAILURE(); } - if (post->glyph_name_index[i] >= 32768) { - // Note: droid_arialuni.ttf fails this test. - return OTS_FAILURE(); // reserved area. - } + // Note: A strict interpretation of the specification requires name indexes + // are less than 32768. This, however, excludes fonts like unifont.ttf + // which cover all of unicode. } // Now we have an array of Pascal strings. We have to check that they are all diff --git a/test/BLACKLIST.txt b/test/BLACKLIST.txt index 094fd75b..f3cd2076 100644 --- a/test/BLACKLIST.txt +++ b/test/BLACKLIST.txt @@ -109,10 +109,6 @@ DroidSansFallback.ttf # Malformed GLYF table; The content of flags array and the lengths of xCoordinates, yCoordinates are inconsistent. DecoTypeNaskh.ttf -# Malformed POST table; A glyph index in the reserved area (>= 32768) is specified. -wqy-zenhei.ttf -unifont.ttf - # Malformed HMTX table; The table is too short. mona.ttf