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

- AAT 'morx' implementation.

- Return "safe-to-break" bit from shaping.

- Disable 'vert' if 'vrt2' is available (eg. Motoya fonts with arrow chars).

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

- Implement 'rand' feature.

- mask propagation? (when ligation, "or" the masks).

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

- 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
  * smpl,trad for ZHS / ZHT


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

- Add default font_funcs / Unicode funcs API and to utils.

- Add init_func to font_funcs.  Adjust ft.

- 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)

- blob_from_file?


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

- Language to/from script.

- Buffer (de)serialize API ala hb-shape?

- Add hb-cairo glue

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

- Add glib GBoxedType stuff and introspection

- Finish Uniscribe / CoreText 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?


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

- --output-format should list available formats.
- 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

- hb_cache_t and relatives

- hb_feature_to/from_string
- hb_buffer_[sg]et_contents
