diff --git a/src/hb-aat-layout-ankr-table.hh b/src/hb-aat-layout-ankr-table.hh index 3eac473a4..2e3ed2758 100644 --- a/src/hb-aat-layout-ankr-table.hh +++ b/src/hb-aat-layout-ankr-table.hh @@ -82,9 +82,9 @@ struct ankr protected: HBUINT16 version; /* Version number (set to zero) */ HBUINT16 flags; /* Flags (currently unused; set to zero) */ - LOffsetTo > > + LOffsetTo >, false> lookupTable; /* Offset to the table's lookup table */ - LOffsetTo + LOffsetTo anchorData; /* Offset to the glyph data table */ public: diff --git a/src/hb-aat-layout-common.hh b/src/hb-aat-layout-common.hh index 432b9e854..37f6d03cf 100644 --- a/src/hb-aat-layout-common.hh +++ b/src/hb-aat-layout-common.hh @@ -291,7 +291,9 @@ struct Lookup LookupFormat8 format8; } u; public: - DEFINE_SIZE_UNION (2, format); + DEFINE_SIZE_MIN (0); /* 0 min size, makes sure this cannot be used on null pool, + * because Format0 has unbounded size depending on num_glyphs. + * We cannot define custom null bytes for a template :(. */ }; diff --git a/src/hb-aat-layout-kerx-table.hh b/src/hb-aat-layout-kerx-table.hh index aa8039771..c09a6d310 100644 --- a/src/hb-aat-layout-kerx-table.hh +++ b/src/hb-aat-layout-kerx-table.hh @@ -278,10 +278,10 @@ struct KerxSubTableFormat2 protected: KerxSubTableHeader header; HBUINT32 rowWidth; /* The width, in bytes, of a row in the table. */ - LOffsetTo > + LOffsetTo, false> leftClassTable; /* Offset from beginning of this subtable to * left-hand class table. */ - LOffsetTo > + LOffsetTo, false> rightClassTable;/* Offset from beginning of this subtable to * right-hand class table. */ LOffsetTo, false> @@ -514,16 +514,16 @@ struct KerxSubTableFormat6 { TRACE_SANITIZE (this); return_trace (likely (c->check_struct (this) && - is_long () ? - ( - u.l.rowIndexTable.sanitize (c, this) && - u.l.columnIndexTable.sanitize (c, this) && - c->check_range (this, u.l.array) - ) : ( - u.s.rowIndexTable.sanitize (c, this) && - u.s.columnIndexTable.sanitize (c, this) && - c->check_range (this, u.s.array) - ))); + (is_long () ? + ( + u.l.rowIndexTable.sanitize (c, this) && + u.l.columnIndexTable.sanitize (c, this) && + c->check_range (this, u.l.array) + ) : ( + u.s.rowIndexTable.sanitize (c, this) && + u.s.columnIndexTable.sanitize (c, this) && + c->check_range (this, u.s.array) + )))); } struct accelerator_t @@ -548,17 +548,15 @@ struct KerxSubTableFormat6 { struct Long { - LOffsetTo > rowIndexTable; - LOffsetTo > columnIndexTable; - LOffsetTo, false> - array; + LOffsetTo, false> rowIndexTable; + LOffsetTo, false> columnIndexTable; + LOffsetTo, false> array; } l; struct Short { - LOffsetTo > rowIndexTable; - LOffsetTo > columnIndexTable; - LOffsetTo, false> - array; + LOffsetTo, false> rowIndexTable; + LOffsetTo, false> columnIndexTable; + LOffsetTo, false> array; } s; } u; public: diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index c88e7a720..651af2188 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/src/hb-aat-layout-morx-table.hh @@ -270,7 +270,7 @@ struct ContextualSubtable private: bool mark_set; unsigned int mark; - const UnsizedOffsetListOf, HBUINT32> &subs; + const UnsizedOffsetListOf, HBUINT32, false> &subs; }; inline bool apply (hb_aat_apply_context_t *c) const @@ -311,7 +311,7 @@ struct ContextualSubtable protected: StateTable machine; - LOffsetTo, HBUINT32>, false> + LOffsetTo, HBUINT32, false>, false> substitutionTables; public: DEFINE_SIZE_STATIC (20); @@ -393,16 +393,18 @@ struct LigatureSubtable unsigned int ligature_idx = 0; if (unlikely (!match_length)) - return false; + return true; + /* TODO Only when ligation happens? */ buffer->merge_out_clusters (match_positions[0], buffer->out_len); + unsigned int cursor = match_length; do { - if (unlikely (!match_length)) - return false; + if (unlikely (!cursor)) + break; - buffer->move_to (match_positions[--match_length]); + buffer->move_to (match_positions[--cursor]); const HBUINT32 &actionData = ligAction[action_idx]; if (unlikely (!actionData.sanitize (&c->sanitizer))) return false; @@ -410,7 +412,7 @@ struct LigatureSubtable uint32_t uoffset = action & LigActionOffset; if (uoffset & 0x20000000) - uoffset += 0xC0000000; + uoffset |= 0xC0000000; /* Sign-extend. */ int32_t offset = (int32_t) uoffset; if (buffer->idx >= buffer->len) return false; // TODO Work on previous instead? @@ -426,20 +428,21 @@ struct LigatureSubtable if (unlikely (!ligatureData.sanitize (&c->sanitizer))) return false; hb_codepoint_t lig = ligatureData; - match_positions[match_length++] = buffer->out_len; buffer->replace_glyph (lig); - //ligature_idx = 0; // XXX Yes or no? - } - else - { - buffer->skip_glyph (); - end--; + /* Now go and delete all subsequent components. */ + while (match_length - 1 > cursor) + { + buffer->move_to (match_positions[--match_length]); + buffer->skip_glyph (); + end--; + } } action_idx++; } while (!(action & LigActionLast)); + match_length = 0; buffer->move_to (end); } diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc index 1d3b602b4..00e7e149c 100644 --- a/src/hb-buffer.cc +++ b/src/hb-buffer.cc @@ -359,6 +359,8 @@ hb_buffer_t::replace_glyphs (unsigned int num_in, { if (unlikely (!make_room_for (num_in, num_out))) return; + assert (idx + num_in <= len); + merge_clusters (idx, idx + num_in); hb_glyph_info_t orig_info = info[idx]; diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh index 0aea6423e..9d2e1fa7c 100644 --- a/src/hb-open-type.hh +++ b/src/hb-open-type.hh @@ -385,12 +385,12 @@ struct UnsizedArrayOf }; /* Unsized array of offset's */ -template -struct UnsizedOffsetArrayOf : UnsizedArrayOf > {}; +template +struct UnsizedOffsetArrayOf : UnsizedArrayOf > {}; /* Unsized array of offsets relative to the beginning of the array itself. */ -template -struct UnsizedOffsetListOf : UnsizedOffsetArrayOf +template +struct UnsizedOffsetListOf : UnsizedOffsetArrayOf { inline const Type& operator [] (unsigned int i) const { @@ -400,13 +400,13 @@ struct UnsizedOffsetListOf : UnsizedOffsetArrayOf inline bool sanitize (hb_sanitize_context_t *c, unsigned int count) const { TRACE_SANITIZE (this); - return_trace ((UnsizedOffsetArrayOf::sanitize (c, count, this))); + return_trace ((UnsizedOffsetArrayOf::sanitize (c, count, this))); } template inline bool sanitize (hb_sanitize_context_t *c, unsigned int count, T user_data) const { TRACE_SANITIZE (this); - return_trace ((UnsizedOffsetArrayOf::sanitize (c, count, this, user_data))); + return_trace ((UnsizedOffsetArrayOf::sanitize (c, count, this, user_data))); } }; diff --git a/src/hb-ot-color-cbdt-table.hh b/src/hb-ot-color-cbdt-table.hh index 304596840..1e1fe0956 100644 --- a/src/hb-ot-color-cbdt-table.hh +++ b/src/hb-ot-color-cbdt-table.hh @@ -209,9 +209,10 @@ struct IndexSubtableRecord offsetToSubtable.sanitize (c, base, lastGlyphIndex - firstGlyphIndex + 1)); } - inline bool get_extents (hb_glyph_extents_t *extents) const + inline bool get_extents (hb_glyph_extents_t *extents, + const void *base) const { - return (this+offsetToSubtable).get_extents (extents); + return (base+offsetToSubtable).get_extents (extents); } bool get_image_data (unsigned int gid, @@ -420,7 +421,7 @@ struct CBDT if (!subtable_record || !x_ppem || !y_ppem) return false; - if (subtable_record->get_extents (extents)) + if (subtable_record->get_extents (extents, base)) return true; unsigned int image_offset = 0, image_length = 0, image_format = 0; diff --git a/src/hb-ot-kern-table.hh b/src/hb-ot-kern-table.hh index 3cc11d100..63551d313 100644 --- a/src/hb-ot-kern-table.hh +++ b/src/hb-ot-kern-table.hh @@ -38,9 +38,10 @@ struct hb_kern_machine_t hb_kern_machine_t (const Driver &driver_) : driver (driver_) {} HB_NO_SANITIZE_SIGNED_INTEGER_OVERFLOW - inline void kern (hb_font_t *font, - hb_buffer_t *buffer, - hb_mask_t kern_mask) const + inline void kern (hb_font_t *font, + hb_buffer_t *buffer, + hb_mask_t kern_mask, + bool scale = true) const { OT::hb_ot_apply_context_t c (1, font, buffer); c.set_lookup_mask (kern_mask); @@ -69,7 +70,6 @@ struct hb_kern_machine_t unsigned int i = idx; unsigned int j = skippy_iter.idx; - hb_position_t kern1, kern2; hb_position_t kern = driver.get_kerning (info[i].codepoint, info[j].codepoint); @@ -78,17 +78,23 @@ struct hb_kern_machine_t if (likely (!kern)) goto skip; - kern1 = kern >> 1; - kern2 = kern - kern1; if (horizontal) { + if (scale) + kern = font->em_scale_x (kern); + hb_position_t kern1 = kern >> 1; + hb_position_t kern2 = kern - kern1; pos[i].x_advance += kern1; pos[j].x_advance += kern2; pos[j].x_offset += kern2; } else { + if (scale) + kern = font->em_scale_y (kern); + hb_position_t kern1 = kern >> 1; + hb_position_t kern2 = kern - kern1; pos[i].y_advance += kern1; pos[j].y_advance += kern2; pos[j].y_offset += kern2; diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh index 8b20c150c..4f81b3278 100644 --- a/src/hb-ot-layout-gpos-table.hh +++ b/src/hb-ot-layout-gpos-table.hh @@ -1658,7 +1658,10 @@ reverse_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direc pos[j].attach_type() = type; } static void -propagate_attachment_offsets (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction) +propagate_attachment_offsets (hb_glyph_position_t *pos, + unsigned int len, + unsigned int i, + hb_direction_t direction) { /* Adjusts offsets of attached glyphs (both cursive and mark) to accumulate * offset of glyph they are attached to. */ @@ -1666,11 +1669,14 @@ propagate_attachment_offsets (hb_glyph_position_t *pos, unsigned int i, hb_direc if (likely (!chain)) return; - unsigned int j = (int) i + chain; - pos[i].attach_chain() = 0; - propagate_attachment_offsets (pos, j, direction); + unsigned int j = (int) i + chain; + + if (unlikely (j >= len)) + return; + + propagate_attachment_offsets (pos, len, j, direction); assert (!!(type & ATTACH_TYPE_MARK) ^ !!(type & ATTACH_TYPE_CURSIVE)); @@ -1726,7 +1732,7 @@ GPOS::position_finish_offsets (hb_font_t *font HB_UNUSED, hb_buffer_t *buffer) /* Handle attachments */ if (buffer->scratch_flags & HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT) for (unsigned int i = 0; i < len; i++) - propagate_attachment_offsets (pos, i, direction); + propagate_attachment_offsets (pos, len, i, direction); } diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc index d279b868d..af38dcb02 100644 --- a/src/hb-ot-layout.cc +++ b/src/hb-ot-layout.cc @@ -1197,7 +1197,7 @@ hb_ot_layout_feature_get_name_ids (hb_face_t *face, * called with an offset till resulting char_count gets to a number * lower than input buffer (or consider using just a bigger buffer for * one shot copying). - * @char_count: (in/out) (allow-none): The count of characters for which this feature + * @char_count: (inout) (allow-none): The count of characters for which this feature * provides glyph variants. (May be zero.) * @characters: (out) (allow-none): A buffer pointer. The Unicode Scalar Value * of the characters for which this feature provides glyph variants. diff --git a/src/hb-ot-shape-fallback.cc b/src/hb-ot-shape-fallback.cc index 655f45ca4..4c5ccc974 100644 --- a/src/hb-ot-shape-fallback.cc +++ b/src/hb-ot-shape-fallback.cc @@ -466,7 +466,7 @@ _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan, return; hb_ot_shape_fallback_kern_driver_t driver (font, buffer); hb_kern_machine_t machine (driver); - machine.kern (font, buffer, plan->kern_mask); + machine.kern (font, buffer, plan->kern_mask, false); } diff --git a/src/hb-ot-tag.cc b/src/hb-ot-tag.cc index df372e337..7bcc63abc 100644 --- a/src/hb-ot-tag.cc +++ b/src/hb-ot-tag.cc @@ -327,11 +327,11 @@ parse_private_use_subtag (const char *private_use_subtag, * @language: an #hb_language_t to convert. * @script_count: (allow-none): maximum number of script tags to retrieve (IN) * and actual number of script tags retrieved (OUT) - * @script_tags: (allow-none): array of size at least @script_count to store the + * @script_tags: (out) (allow-none): array of size at least @script_count to store the * script tag results * @language_count: (allow-none): maximum number of language tags to retrieve * (IN) and actual number of language tags retrieved (OUT) - * @language_tags: (allow-none): array of size at least @language_count to store + * @language_tags: (out) (allow-none): array of size at least @language_count to store * the language tag results * * Converts an #hb_script_t and an #hb_language_t to script and language tags. diff --git a/test/api/CMakeLists.txt b/test/api/CMakeLists.txt index 77cb35771..0c7337cb5 100644 --- a/test/api/CMakeLists.txt +++ b/test/api/CMakeLists.txt @@ -4,7 +4,7 @@ if (HB_HAVE_GLIB) list (APPEND TEST_PROGS test-ot-color - test-ot-nameid + test-ot-name test-ot-tag test-c test-cplusplus diff --git a/test/api/Makefile.am b/test/api/Makefile.am index 4572336ef..0175c2d4c 100644 --- a/test/api/Makefile.am +++ b/test/api/Makefile.am @@ -75,7 +75,7 @@ endif TEST_PROGS += \ test-ot-color \ - test-ot-nameid \ + test-ot-name \ test-ot-tag \ test-ot-extents-cff \ $(NULL) diff --git a/test/api/test-multithread.c b/test/api/test-multithread.c index b651b399b..7b62a0298 100644 --- a/test/api/test-multithread.c +++ b/test/api/test-multithread.c @@ -154,13 +154,15 @@ main (int argc, char **argv) hb_face_t *face = hb_face_create (blob, 0); font = hb_font_create (face); - hb_ot_font_set_funcs (font); - + /* Fill the reference */ ref_buffer = hb_buffer_create (); fill_the_buffer (ref_buffer); + /* Unnecessary, since version 2 it is ot-font by default */ + hb_ot_font_set_funcs (font); test_body (); + /* Test hb-ft in multithread */ hb_ft_font_set_funcs (font); test_body (); diff --git a/test/api/test-ot-nameid.c b/test/api/test-ot-name.c similarity index 92% rename from test/api/test-ot-nameid.c rename to test/api/test-ot-name.c index 1205190d2..477e67f0d 100644 --- a/test/api/test-ot-nameid.c +++ b/test/api/test-ot-name.c @@ -23,35 +23,16 @@ * */ -#include +#include "hb-test.h" + #include -#include static const char *font_path = "fonts/cv01.otf"; +static hb_face_t *face; -int -main (int argc, char **argv) +static void +test_ot_layout_feature_get_name_ids_and_characters () { - g_test_init (&argc, &argv, NULL); - -#if GLIB_CHECK_VERSION(2,37,2) - gchar *default_path = g_test_build_filename (G_TEST_DIST, font_path, NULL); -#else - gchar *default_path = g_strdup (font_path); -#endif - - hb_blob_t *blob; - hb_face_t *face; - hb_font_t *font; - - char *path = argc > 1 && *argv[1] ? argv[1] : (char *) default_path; - blob = hb_blob_create_from_file (path); - if (hb_blob_get_length (blob) == 0) - g_error ("Font not found."); - - face = hb_face_create (blob, 0); - font = hb_font_create (face); - hb_tag_t cv01 = HB_TAG ('c','v','0','1'); unsigned int feature_index; if (!hb_ot_layout_language_find_feature (face, @@ -89,12 +70,33 @@ main (int argc, char **argv) g_assert (char_count == 2); g_assert (characters[0] == 10); g_assert (characters[1] == 24030); +} - hb_font_destroy (font); +int +main (int argc, char **argv) +{ + g_test_init (&argc, &argv, NULL); + +#if GLIB_CHECK_VERSION(2,37,2) + gchar *default_path = g_test_build_filename (G_TEST_DIST, font_path, NULL); +#else + gchar *default_path = g_strdup (font_path); +#endif + + hb_blob_t *blob; + + char *path = argc > 1 && *argv[1] ? argv[1] : (char *) default_path; + blob = hb_blob_create_from_file (path); + if (hb_blob_get_length (blob) == 0) + g_error ("Font not found."); + + face = hb_face_create (blob, 0); + + hb_test_add (test_ot_layout_feature_get_name_ids_and_characters); + + unsigned int result = hb_test_run (); hb_face_destroy (face); hb_blob_destroy (blob); - g_free (default_path); - - return 0; + return result; } diff --git a/test/fuzzing/Makefile.am b/test/fuzzing/Makefile.am index a57f41dc8..250608861 100644 --- a/test/fuzzing/Makefile.am +++ b/test/fuzzing/Makefile.am @@ -18,6 +18,7 @@ EXTRA_DIST += \ run-shape-fuzzer-tests.py \ run-subset-fuzzer-tests.py \ CMakeLists.txt \ + fonts \ $(NULL) check_PROGRAMS = \ diff --git a/test/shaping/data/in-house/fonts/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf b/test/fuzzing/fonts/0509e80afb379d16560e9e47bdd7d888bebdebc6 similarity index 100% rename from test/shaping/data/in-house/fonts/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf rename to test/fuzzing/fonts/0509e80afb379d16560e9e47bdd7d888bebdebc6 diff --git a/test/shaping/data/in-house/fonts/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf b/test/fuzzing/fonts/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf similarity index 100% rename from test/shaping/data/in-house/fonts/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf rename to test/fuzzing/fonts/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf diff --git a/test/shaping/data/in-house/fonts/205edd09bd3d141cc9580f650109556cc28b22cb.ttf b/test/fuzzing/fonts/205edd09bd3d141cc9580f650109556cc28b22cb similarity index 100% rename from test/shaping/data/in-house/fonts/205edd09bd3d141cc9580f650109556cc28b22cb.ttf rename to test/fuzzing/fonts/205edd09bd3d141cc9580f650109556cc28b22cb diff --git a/test/shaping/data/in-house/fonts/217a934cfe15c548b572c203dceb2befdf026462.ttf b/test/fuzzing/fonts/217a934cfe15c548b572c203dceb2befdf026462 similarity index 100% rename from test/shaping/data/in-house/fonts/217a934cfe15c548b572c203dceb2befdf026462.ttf rename to test/fuzzing/fonts/217a934cfe15c548b572c203dceb2befdf026462 diff --git a/test/shaping/data/in-house/fonts/3511ff5c1647150595846ac414c595cccac34f18.ttf b/test/fuzzing/fonts/3511ff5c1647150595846ac414c595cccac34f18 similarity index 100% rename from test/shaping/data/in-house/fonts/3511ff5c1647150595846ac414c595cccac34f18.ttf rename to test/fuzzing/fonts/3511ff5c1647150595846ac414c595cccac34f18 diff --git a/test/shaping/data/in-house/fonts/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf b/test/fuzzing/fonts/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3 similarity index 100% rename from test/shaping/data/in-house/fonts/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf rename to test/fuzzing/fonts/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3 diff --git a/test/shaping/data/in-house/fonts/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf b/test/fuzzing/fonts/43979b90b2dd929723cf4fe1715990bcb9c9a56b similarity index 100% rename from test/shaping/data/in-house/fonts/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf rename to test/fuzzing/fonts/43979b90b2dd929723cf4fe1715990bcb9c9a56b diff --git a/test/shaping/data/in-house/fonts/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf b/test/fuzzing/fonts/558661aa659912f4d30ecd27bd09835171a8e2b0 similarity index 100% rename from test/shaping/data/in-house/fonts/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf rename to test/fuzzing/fonts/558661aa659912f4d30ecd27bd09835171a8e2b0 diff --git a/test/shaping/data/in-house/fonts/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf b/test/fuzzing/fonts/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8 similarity index 100% rename from test/shaping/data/in-house/fonts/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf rename to test/fuzzing/fonts/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8 diff --git a/test/shaping/data/in-house/fonts/641bd9db850193064d17575053ae2bf8ec149ddc.ttf b/test/fuzzing/fonts/641bd9db850193064d17575053ae2bf8ec149ddc similarity index 100% rename from test/shaping/data/in-house/fonts/641bd9db850193064d17575053ae2bf8ec149ddc.ttf rename to test/fuzzing/fonts/641bd9db850193064d17575053ae2bf8ec149ddc diff --git a/test/shaping/data/in-house/fonts/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf b/test/fuzzing/fonts/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f similarity index 100% rename from test/shaping/data/in-house/fonts/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf rename to test/fuzzing/fonts/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f diff --git a/test/shaping/data/in-house/fonts/a34a9191d9376bda419836effeef7e75c1386016.ttf b/test/fuzzing/fonts/a34a9191d9376bda419836effeef7e75c1386016 similarity index 100% rename from test/shaping/data/in-house/fonts/a34a9191d9376bda419836effeef7e75c1386016.ttf rename to test/fuzzing/fonts/a34a9191d9376bda419836effeef7e75c1386016 diff --git a/test/shaping/data/in-house/fonts/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf b/test/fuzzing/fonts/a69118c2c2ada48ff803d9149daa54c9ebdae30e similarity index 100% rename from test/shaping/data/in-house/fonts/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf rename to test/fuzzing/fonts/a69118c2c2ada48ff803d9149daa54c9ebdae30e diff --git a/test/shaping/data/in-house/fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf b/test/fuzzing/fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2 similarity index 100% rename from test/shaping/data/in-house/fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf rename to test/fuzzing/fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-5517117891805184 b/test/fuzzing/fonts/clusterfuzz-testcase-5517117891805184 new file mode 100644 index 000000000..0c7b518ba Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-5517117891805184 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-6107935408390144 b/test/fuzzing/fonts/clusterfuzz-testcase-6107935408390144 new file mode 100644 index 000000000..4c81a8660 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-6107935408390144 differ diff --git a/test/shaping/data/in-house/fonts/ef2511f215aa3ca847cbfffbf861793b42170875.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-4666056377368576 similarity index 100% rename from test/shaping/data/in-house/fonts/ef2511f215aa3ca847cbfffbf861793b42170875.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-4666056377368576 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-5662671558934528 b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-5662671558934528 new file mode 100644 index 000000000..cbb81acba Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-5662671558934528 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6243458541944832 b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6243458541944832 new file mode 100644 index 000000000..64864aa5c Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6243458541944832 differ diff --git a/test/shaping/data/in-house/fonts/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6303297511096320 similarity index 100% rename from test/shaping/data/in-house/fonts/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6303297511096320 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6696647723581440 b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6696647723581440 new file mode 100644 index 000000000..8b1c29305 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-hb-fuzzer-6696647723581440 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-hb-shape-fuzzer-5746142327865344 b/test/fuzzing/fonts/clusterfuzz-testcase-hb-shape-fuzzer-5746142327865344 new file mode 100644 index 000000000..1c1607b73 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-hb-shape-fuzzer-5746142327865344 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-hb-shape-fuzzer-5750379279548416 b/test/fuzzing/fonts/clusterfuzz-testcase-hb-shape-fuzzer-5750379279548416 new file mode 100644 index 000000000..f014d4b68 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-hb-shape-fuzzer-5750379279548416 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-4884742786777088 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-4884742786777088 new file mode 100644 index 000000000..ac7da9f9a Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-4884742786777088 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5255344882188288 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5255344882188288 new file mode 100644 index 000000000..ab1aede1f Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5255344882188288 differ diff --git a/test/shaping/data/in-house/fonts/233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5720051798769664 similarity index 100% rename from test/shaping/data/in-house/fonts/233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-minimized-5720051798769664 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5924299061854208 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5924299061854208 new file mode 100644 index 000000000..a8ea33283 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-5924299061854208 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-6460279560863744 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-6460279560863744 new file mode 100644 index 000000000..1cbe75a51 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-6460279560863744 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5973566991106048 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5973566991106048 new file mode 100644 index 000000000..984bb4bd5 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5973566991106048 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4523479581851648 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4523479581851648 new file mode 100644 index 000000000..1d16d70bc Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4523479581851648 differ diff --git a/test/shaping/data/in-house/fonts/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4535496598355968 similarity index 100% rename from test/shaping/data/in-house/fonts/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4535496598355968 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4548492505645056 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4548492505645056 new file mode 100644 index 000000000..065080f3a Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4548492505645056 differ diff --git a/test/shaping/data/in-house/fonts/243798dd281c1c77c065958e1ff467420faa9bde.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4595692015190016 similarity index 100% rename from test/shaping/data/in-house/fonts/243798dd281c1c77c065958e1ff467420faa9bde.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4595692015190016 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4687441845813248 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4687441845813248 new file mode 100644 index 000000000..d3e9f4694 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4687441845813248 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4706238090706944 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4706238090706944 new file mode 100644 index 000000000..269813a61 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4706238090706944 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4769173588672512 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4769173588672512 new file mode 100644 index 000000000..5426914d0 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4769173588672512 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4827735151083520 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4827735151083520 new file mode 100644 index 000000000..f5f1255e0 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4827735151083520 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4841745322868736 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4841745322868736 new file mode 100644 index 000000000..5e0f74d4f Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4841745322868736 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4884742786777088 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4884742786777088 new file mode 100644 index 000000000..ac7da9f9a Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-4884742786777088 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5216838347653120 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5216838347653120 new file mode 100644 index 000000000..23cc59087 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5216838347653120 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5255344882188288 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5255344882188288 new file mode 100644 index 000000000..ab1aede1f Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5255344882188288 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5294584596791296 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5294584596791296 new file mode 100644 index 000000000..bc1657958 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5294584596791296 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5303930168803328 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5303930168803328 new file mode 100644 index 000000000..805fe4d4d Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5303930168803328 differ diff --git a/test/shaping/data/in-house/fonts/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5331901587914752 similarity index 100% rename from test/shaping/data/in-house/fonts/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5331901587914752 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5388906574905344 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5388906574905344 new file mode 100644 index 000000000..5f7ff7c72 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5388906574905344 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5517117891805184 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5517117891805184 new file mode 100644 index 000000000..0c7b518ba Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5517117891805184 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5617496443846656 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5617496443846656 new file mode 100644 index 000000000..aeffab5db Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5617496443846656 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5672141338968064 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5672141338968064 new file mode 100644 index 000000000..3c8303fd6 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5672141338968064 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5700697074958336 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5700697074958336 new file mode 100644 index 000000000..2664e3070 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5700697074958336 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5720051798769664 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5720051798769664 new file mode 100644 index 000000000..999f29622 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5720051798769664 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5924299061854208 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5924299061854208 new file mode 100644 index 000000000..a8ea33283 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-5924299061854208 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6023178755244032 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6023178755244032 new file mode 100644 index 000000000..b0da1527d Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6023178755244032 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6111685556305920 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6111685556305920 new file mode 100644 index 000000000..8c1940d85 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6111685556305920 differ diff --git a/test/shaping/data/in-house/fonts/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6160439919509504 similarity index 100% rename from test/shaping/data/in-house/fonts/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf rename to test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6160439919509504 diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6210176798425088 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6210176798425088 new file mode 100644 index 000000000..1c62961ec Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6210176798425088 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6260579246276608 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6260579246276608 new file mode 100644 index 000000000..036a20611 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6260579246276608 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6264625609834496 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6264625609834496 new file mode 100644 index 000000000..035dd72f1 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6264625609834496 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6424351550210048 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6424351550210048 new file mode 100644 index 000000000..afb08c52d Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6424351550210048 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6460279560863744 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6460279560863744 new file mode 100644 index 000000000..1cbe75a51 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6460279560863744 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6576177596596224 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6576177596596224 new file mode 100644 index 000000000..35171ee31 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6576177596596224 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6595199411159040 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6595199411159040 new file mode 100644 index 000000000..a4d503d40 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6595199411159040 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6624904746106880 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6624904746106880 new file mode 100644 index 000000000..fcc1b6435 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6624904746106880 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6723367514144768 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6723367514144768 new file mode 100644 index 000000000..55b1ef885 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-fuzzer-6723367514144768 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5630246225707008 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5630246225707008 new file mode 100644 index 000000000..ab534e31f Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5630246225707008 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5633985665826816 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5633985665826816 new file mode 100644 index 000000000..387d7fd46 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5633985665826816 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5635082459545600 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5635082459545600 new file mode 100644 index 000000000..6d0feff4d Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5635082459545600 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5650286710882304 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5650286710882304 new file mode 100644 index 000000000..95322e184 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5650286710882304 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5652019562414080 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5652019562414080 new file mode 100644 index 000000000..8e859800f Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5652019562414080 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5656511058018304 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5656511058018304 new file mode 100644 index 000000000..bb68572e9 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5656511058018304 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5659641787187200 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5659641787187200 new file mode 100644 index 000000000..8a63dc4c8 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5659641787187200 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5668791174823936 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5668791174823936 new file mode 100644 index 000000000..1f750c11c Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5668791174823936 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5672261407735808 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5672261407735808 new file mode 100644 index 000000000..629754944 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5672261407735808 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5674361600606208 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5674361600606208 new file mode 100644 index 000000000..1d4f84a98 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5674361600606208 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5677421274071040 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5677421274071040 new file mode 100644 index 000000000..3be3b91c2 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5677421274071040 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5679244475105280 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5679244475105280 new file mode 100644 index 000000000..2894bdc0f Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5679244475105280 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5685596677210112 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5685596677210112 new file mode 100644 index 000000000..d9937a347 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5685596677210112 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5695615258853376 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5695615258853376 new file mode 100644 index 000000000..af43a4433 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5695615258853376 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5696686572175360 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5696686572175360 new file mode 100644 index 000000000..c6e8bfd86 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5696686572175360 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5718889451749376 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5718889451749376 new file mode 100644 index 000000000..6360579be Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5718889451749376 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5719982789361664 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5719982789361664 new file mode 100644 index 000000000..0515086a1 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5719982789361664 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5725129603022848 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5725129603022848 new file mode 100644 index 000000000..8ba0f9df5 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5725129603022848 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5726089628876800 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5726089628876800 new file mode 100644 index 000000000..61750d4a0 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5726089628876800 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5729361857085440 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5729361857085440 new file mode 100644 index 000000000..a6ecc6107 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5729361857085440 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5733166795456512 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5733166795456512 new file mode 100644 index 000000000..dfaf6d9d7 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5733166795456512 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5734736291430400 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5734736291430400 new file mode 100644 index 000000000..31c805cbc Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5734736291430400 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5740171484463104 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5740171484463104 new file mode 100644 index 000000000..aef0d924c Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5740171484463104 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5750379279548416 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5750379279548416 new file mode 100644 index 000000000..b4551bfc2 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5750379279548416 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5762490181353472 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5762490181353472 new file mode 100644 index 000000000..db06a1ccd Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-shape-fuzzer-5762490181353472 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5359635656605696 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5359635656605696 new file mode 100644 index 000000000..8a659c654 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5359635656605696 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5521982557782016 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5521982557782016 new file mode 100644 index 000000000..55541f749 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5521982557782016 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5542653037903872 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5542653037903872 new file mode 100644 index 000000000..6307ddd4b Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5542653037903872 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5609911946838016 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5609911946838016 new file mode 100644 index 000000000..8c647a8a4 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5609911946838016 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5629878397829120 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5629878397829120 new file mode 100644 index 000000000..a055cdb42 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5629878397829120 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5651059347816448 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5651059347816448 new file mode 100644 index 000000000..b2e4034c0 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5651059347816448 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5669437462544384 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5669437462544384 new file mode 100644 index 000000000..c4eb9091c Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5669437462544384 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5670861909524480 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5670861909524480 new file mode 100644 index 000000000..49bcb3098 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5670861909524480 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5696607199166464 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5696607199166464 new file mode 100644 index 000000000..ca4fcd74e Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5696607199166464 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5711951464759296 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5711951464759296 new file mode 100644 index 000000000..b20e8496b Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5711951464759296 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5747265633779712 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5747265633779712 new file mode 100644 index 000000000..463e0c14e Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5747265633779712 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5750092395970560 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5750092395970560 new file mode 100644 index 000000000..d622c2563 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5750092395970560 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5758598970343424 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5758598970343424 new file mode 100644 index 000000000..7087f63eb Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5758598970343424 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6543700493598720 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6543700493598720 new file mode 100644 index 000000000..c0e981197 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6543700493598720 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6651660668502016 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6651660668502016 new file mode 100644 index 000000000..6206f0776 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6651660668502016 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5203067375976448 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5203067375976448 new file mode 100644 index 000000000..cf92d88a0 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5203067375976448 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5630904853069824 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5630904853069824 new file mode 100644 index 000000000..7c242eef5 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5630904853069824 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5687638085337088 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5687638085337088 new file mode 100644 index 000000000..e8706f39b Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5687638085337088 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5736539338833920 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5736539338833920 new file mode 100644 index 000000000..f57262179 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5736539338833920 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5973295416475648 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5973295416475648 new file mode 100644 index 000000000..b506d2a5a Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5973295416475648 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-6136125075750912 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-6136125075750912 new file mode 100644 index 000000000..ffcea6460 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-6136125075750912 differ diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-6394290358976512 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-6394290358976512 new file mode 100644 index 000000000..8ee7752aa Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-6394290358976512 differ diff --git a/test/shaping/data/in-house/fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf b/test/fuzzing/fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467 similarity index 100% rename from test/shaping/data/in-house/fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf rename to test/fuzzing/fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467 diff --git a/test/shaping/data/in-house/fonts/fab39d60d758cb586db5a504f218442cd1395725.ttf b/test/fuzzing/fonts/fab39d60d758cb586db5a504f218442cd1395725 similarity index 100% rename from test/shaping/data/in-house/fonts/fab39d60d758cb586db5a504f218442cd1395725.ttf rename to test/fuzzing/fonts/fab39d60d758cb586db5a504f218442cd1395725 diff --git a/test/fuzzing/run-shape-fuzzer-tests.py b/test/fuzzing/run-shape-fuzzer-tests.py index fea0b01b4..074ecc8ea 100755 --- a/test/fuzzing/run-shape-fuzzer-tests.py +++ b/test/fuzzing/run-shape-fuzzer-tests.py @@ -20,14 +20,14 @@ please provide it as the first argument to the tool""") print ('hb_shape_fuzzer:', hb_shape_fuzzer) fails = 0 -parent_path = os.path.join (srcdir, "..", "shaping", "data", "in-house", "tests") -for line in open (os.path.join (parent_path, "fuzzed.tests")): - font = line.split (":")[0] - font_path = os.path.join (parent_path, font) +parent_path = os.path.join (srcdir, "fonts") +for file in os.listdir (parent_path): + path = os.path.join(parent_path, file) - p = subprocess.Popen ([hb_shape_fuzzer, font_path]) + p = subprocess.Popen ([hb_shape_fuzzer, path]) if p.wait () != 0: + print ('failure on %s', font) fails = fails + 1 if fails: diff --git a/test/fuzzing/run-subset-fuzzer-tests.py b/test/fuzzing/run-subset-fuzzer-tests.py index ff4440baa..d4e3487f0 100755 --- a/test/fuzzing/run-subset-fuzzer-tests.py +++ b/test/fuzzing/run-subset-fuzzer-tests.py @@ -20,21 +20,26 @@ please provide it as the first argument to the tool""") print ('hb_subset_fuzzer:', hb_subset_fuzzer) fails = 0 -parent_path = os.path.join (srcdir, "..", "subset", "data", "fonts") -print ("running subset fuzzer against fonts in %s" % parent_path) -for file in os.listdir (parent_path): - path = os.path.join(parent_path, file) +def run_dir (parent_path): + global fails + print ("running subset fuzzer against fonts in %s" % parent_path) + for file in os.listdir (parent_path): + path = os.path.join(parent_path, file) - print ("running subset fuzzer against %s" % path) - p = subprocess.Popen ([hb_subset_fuzzer, path]) + print ("running subset fuzzer against %s" % path) + p = subprocess.Popen ([hb_subset_fuzzer, path]) - if p.wait () != 0: - print ("failed for %s" % path) - fails = fails + 1 + if p.wait () != 0: + print ("failed for %s" % path) + fails = fails + 1 - if p.wait () != 0: - print ("failed for %s" % path) - fails = fails + 1 + if p.wait () != 0: + print ("failed for %s" % path) + fails = fails + 1 + +run_dir (os.path.join (srcdir, "..", "subset", "data", "fonts")) +# TODO running these tests very slow tests. Fix and re-enable +#run_dir (os.path.join (srcdir, "fonts")) if fails: print ("%i subset fuzzer related tests failed." % fails) diff --git a/test/shaping/data/in-house/Makefile.sources b/test/shaping/data/in-house/Makefile.sources index d0a3f1f64..6e21ddd4c 100644 --- a/test/shaping/data/in-house/Makefile.sources +++ b/test/shaping/data/in-house/Makefile.sources @@ -15,7 +15,6 @@ TESTS = \ tests/default-ignorables.tests \ tests/emoji.tests \ tests/fallback-positioning.tests \ - tests/fuzzed.tests \ tests/hangul-jamo.tests \ tests/hyphens.tests \ tests/indic-consonant-with-stacker.tests \ diff --git a/test/shaping/data/in-house/tests/fuzzed.tests b/test/shaping/data/in-house/tests/fuzzed.tests deleted file mode 100644 index ff0a09782..000000000 --- a/test/shaping/data/in-house/tests/fuzzed.tests +++ /dev/null @@ -1,23 +0,0 @@ -../fonts/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf:--font-funcs=ot:U+0041:* -../fonts/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf:--font-funcs=ot:U+0041:* -../fonts/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf:--font-funcs=ot:U+0041:* -../fonts/641bd9db850193064d17575053ae2bf8ec149ddc.ttf:--font-funcs=ot:U+0041:* -../fonts/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf:--font-funcs=ot:U+0041:* -../fonts/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf:--font-funcs=ot:U+0041:* -../fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf:--font-funcs=ot:U+0041:* -../fonts/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf:--font-funcs=ot:U+0041:* -../fonts/3511ff5c1647150595846ac414c595cccac34f18.ttf:--font-funcs=ot --no-positions --no-clusters --no-glyph-names:U+0041:* -../fonts/fab39d60d758cb586db5a504f218442cd1395725.ttf:--font-funcs=ot:U+0041,U+0041:* -../fonts/205edd09bd3d141cc9580f650109556cc28b22cb.ttf:--font-funcs=ot:U+0041:* -../fonts/217a934cfe15c548b572c203dceb2befdf026462.ttf:--font-funcs=ot:U+0061,U+0061,U+0061:* -../fonts/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf:--font-funcs=ot:U+FFFD,U+E0100,U+FFFD,U+E0010:* -../fonts/a34a9191d9376bda419836effeef7e75c1386016.ttf:--font-funcs=ot:U+0041:* -../fonts/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf:--font-funcs=ot:U+0041:* -../fonts/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf:--font-funcs=ot:U+0041:* -../fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf:--font-funcs=ot:U+0041:* -../fonts/243798dd281c1c77c065958e1ff467420faa9bde.ttf:--font-funcs=ot:U+0041:* -../fonts/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf:--font-funcs=ot --no-positions --no-clusters --no-glyph-names:U+0041:* -../fonts/ef2511f215aa3ca847cbfffbf861793b42170875.ttf:--font-funcs=ot:U+0041:* -../fonts/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf:--font-funcs=ot:U+0041:* -../fonts/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf:--font-funcs=ot:U+0041:* -../fonts/233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf:--font-funcs=ot:U+0041:* diff --git a/test/shaping/data/text-rendering-tests/DISABLED b/test/shaping/data/text-rendering-tests/DISABLED index 8539c0ee1..ef987a4df 100644 --- a/test/shaping/data/text-rendering-tests/DISABLED +++ b/test/shaping/data/text-rendering-tests/DISABLED @@ -1,3 +1,5 @@ +tests/MORX-41.tests + # Non-Unicode cmap tests/CMAP-3.tests diff --git a/test/shaping/data/text-rendering-tests/Makefile.sources b/test/shaping/data/text-rendering-tests/Makefile.sources index c7f487600..5e0db6bd8 100644 --- a/test/shaping/data/text-rendering-tests/Makefile.sources +++ b/test/shaping/data/text-rendering-tests/Makefile.sources @@ -73,6 +73,7 @@ TESTS = \ $(NULL) DISBALED_TESTS = \ + tests/MORX-41.tests \ tests/CMAP-3.tests \ tests/SHARAN-1.tests \ tests/SHBALI-1.tests \ diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXFourtyone.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXFourtyone.ttf new file mode 100644 index 000000000..98ebe3329 Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXFourtyone.ttf differ diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-41.tests b/test/shaping/data/text-rendering-tests/tests/MORX-41.tests new file mode 100644 index 000000000..84dca89ae --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-41.tests @@ -0,0 +1,4 @@ +../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0061,U+0063:[a_c] +../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0062,U+0063:[b_c] +../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0063,U+0063:[c] +../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0061,U+0062,U+0063,U+0063:[a|b_c@561,0|c@1631,0]