General fixes: ============= - Ligature matching and match_input() of (Chain)Context should use the same logic. Right now the Ligature logic is more involved. Possibly merge, or duplicate. - mask propagation? (when ligation, "or" the masks). - Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font funcs found / set. - 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 - Add Pango backend? - Add ICUlayout backend? - Add ICUlayout API? 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? - 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 - 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