gecko/gfx/harfbuzz/TODO
Jonathan Kew 6f8dbeb979 bug 695857 - update harfbuzz code and adapt gfx/thebes for revised harfbuzz API. r=jdaggett
harfbuzz library code from upstream harfbuzz-ng commit f51e167436a51b890ffe3f7f7920498fa287acd9;
replaced HB_SCRIPT_* with MOZ_SCRIPT_* codes in gfx;
adapted for changes to HB function signatures.
2012-02-14 08:03:01 +00:00

86 lines
1.8 KiB
Plaintext

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