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 / remove hb_buffer_add_glyph()?

- Sprinkle const all over public and private API

- Rename get_table to reference_table

- get_table shouldn't return NULL

- Use tags for hb_script_t

- 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-glib / hb-icu two-way script conversion API

- Add hb-cairo glue

- Fix blob, remove mutex, etc.

- Add sanitize API (since may affect blob API)


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

