michael@0: General fixes: michael@0: ============= michael@0: michael@0: - Move feature parsing from util into the library michael@0: michael@0: - 'const' for getter APIs? (use mutable internally) michael@0: michael@0: - Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS) michael@0: michael@0: - Do proper rounding when scaling from font space? michael@0: michael@0: - Misc features: michael@0: * init/medi/fina/isol for non-cursive scripts michael@0: * vkna,hkna etc for kana, *jmo for hangul, etc michael@0: michael@0: - Move non-native direction and normalization handling to the generic non-OT michael@0: layer, such that uniscribe and other backends can use. michael@0: michael@0: - Uniscribe backend needs to enforce one direction only, otherwise cluster michael@0: values can confused the user. michael@0: michael@0: michael@0: API issues to fix before 1.0: michael@0: ============================ michael@0: michael@0: - Rename all internal symbols (static ones even) to have _hb prefix? michael@0: michael@0: - Add pkg-config files for glue codes (harfbuzz-glib, etc) michael@0: michael@0: - Figure out how many .so objects, how to link, etc michael@0: michael@0: - Add hb-cairo glue michael@0: michael@0: - Add sanitize API (and a cached version, that saves result on blob user-data) michael@0: michael@0: - Add glib GBoxedType stuff and introspection michael@0: michael@0: michael@0: API to add (maybe after 1.0): michael@0: ============================ michael@0: michael@0: - Add Uniscribe face / font get API michael@0: michael@0: - BCP 47 language handling / API (language_matches?) michael@0: michael@0: - Add hb_face_get_glyph_count()? michael@0: michael@0: - Add hb_font_create_linear()? michael@0: michael@0: - Add hb_shape_plan()/hb_shape_execute() michael@0: michael@0: - Add query API for aalt-like features? michael@0: michael@0: - SFNT api? get_num_faces? get_table_tags? (there's something in stash) michael@0: michael@0: - Add segmentation API michael@0: michael@0: - Add hb-fribidi? michael@0: michael@0: michael@0: hb-view enhancements: michael@0: ==================== michael@0: michael@0: - Add --format michael@0: - Add --width, --height, --auto-size, --align, etc? michael@0: - Port to GOption, --help michael@0: - Add XML and JSON formats michael@0: michael@0: michael@0: Tests to write: michael@0: ============== michael@0: michael@0: - ot-layout enumeration API (needs font) michael@0: michael@0: - Finish test-shape.c, grep for TODO michael@0: michael@0: - Finish test-unicode.c, grep for TODO michael@0: michael@0: michael@0: Optimizations: michael@0: ============= michael@0: michael@0: - Avoid allocating blob objects internally for for_data() faces? michael@0: michael@0: - Add caching layer to hb-ft