General fixes:
=============

- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode funcs
  found / set.

- In hb_shape(), assert if direction is INVALID.

- Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS).

- Do proper rounding when scaling from font space?  May be a non-issue.

- Misc features:
  * init/medi/fina/isol for non-cursive scripts
  * vkna,hkna etc for kana, etc

- Move non-native direction and normalization handling to the generic non-OT
  layer, such that uniscribe and other backends can use.

- Uniscribe backend needs to enforce one direction only, otherwise cluster
  values can confused the user.

- GSUB ligation should call merge_clusters().

- Convert NBSP into space glyph.


API issues to fix before 1.0:
============================

- Add pkg-config files for glue codes (harfbuzz-glib, etc)

- Figure out how many .so objects, how to link, etc

- 'const' for getter APIs? (use mutable internally)


API additions
=============

- Buffer (de)serialize API ala hb-shape?
- Move feature parsing from util into the library

- Add hb-cairo glue

- Add sanitize API (and a cached version, that saves result on blob user-data)

- Add glib GBoxedType stuff and introspection

- Add Uniscribe face / font get API

- BCP 47 language handling / API (language_matches?)

- Add hb_face_get_glyph_count()?

- Add hb_font_create_linear()?

- Add hb_shape_plan()/hb_shape_planned()

- Add query API for aalt-like features?

- SFNT api? get_num_faces? get_table_tags? (there's something in stash)

- Add segmentation API

- Add hb-fribidi glue?

- Add segmentation API


hb-view / hb-shape enhancements:
===============================

- Add --width, --height, --auto-size, --align, etc?
- Add XML and JSON formats to hb-shape
- --features="init=medi=isol=fina=0"


Tests to write:
==============

- ot-layout enumeration API (needs font)

- Finish test-shape.c, grep for TODO

- Finish test-unicode.c, grep for TODO

- GObject, FreeType, etc

- hb_set_t


Optimizations:
=============

- Avoid allocating blob objects internally for for_data() faces?

- Add caching layer to hb-ft?
