General fixes: ============= - Instead of forming clusters immediately, only do it if we are reversing the text. We'd need a separate bit to indicate cluster start then. Right now, BTW, for non-native direction runs, we get the cluster wrong... - Fix tt kern on/off and GPOS interaction - Remove fixed-size feature/lookup arrays in hb-ot-map - Use size_t in sanitize - Use templates instead of macros for objects? API issues to fix before 1.0: ============================ - Rename get_table to reference_table - get_table shouldn't return NULL - Figure out how many .so objects, how to link, etc - Shall y axis progress downward instead of upward? - User-data support ala cairo - Real subclassing support for vfunc vectors - Investigate Mozilla's user-data issue, make sure it's addressed - Add hb-cairo glue - Fix blob, remove mutex, etc. - Add sanitize API (since may affect blob API) - Add glib GBoxedType stuff API to add (maybe after 1.0): ============================ - Add hb_font_create_linear()? - Add hb_shape_plan()/hb_shape_execute() - Add query API for aalt-like features? - SFNT api? get_num_faces? - Full matrix instead of scale? - Add segmentation API - Add hb-fribidi? Build fixes: =========== - GNOME Bug 612402 - (hb-arm) HarfBuzz compilation fix for arm Optimizations: ============= - Avoid allocating blob objects internally for for_data() faces? - Add caching layer to hb-ft