diff -r 000000000000 -r 6474c204b198 gfx/harfbuzz/TODO --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/harfbuzz/TODO Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,85 @@ +General fixes: +============= + +- Move feature parsing from util into the library + +- 'const' for getter APIs? (use mutable internally) + +- Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS) + +- Do proper rounding when scaling from font space? + +- Misc features: + * init/medi/fina/isol for non-cursive scripts + * vkna,hkna etc for kana, *jmo for hangul, 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. + + +API issues to fix before 1.0: +============================ + +- Rename all internal symbols (static ones even) to have _hb prefix? + +- Add pkg-config files for glue codes (harfbuzz-glib, etc) + +- Figure out how many .so objects, how to link, etc + +- Add hb-cairo glue + +- Add sanitize API (and a cached version, that saves result on blob user-data) + +- Add glib GBoxedType stuff and introspection + + +API to add (maybe after 1.0): +============================ + +- 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_execute() + +- 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? + + +hb-view enhancements: +==================== + +- Add --format +- Add --width, --height, --auto-size, --align, etc? +- Port to GOption, --help +- Add XML and JSON formats + + +Tests to write: +============== + +- ot-layout enumeration API (needs font) + +- Finish test-shape.c, grep for TODO + +- Finish test-unicode.c, grep for TODO + + +Optimizations: +============= + +- Avoid allocating blob objects internally for for_data() faces? + +- Add caching layer to hb-ft