harfbuzz/TODO

79 lines
1.8 KiB
Plaintext

General fixes:
=============
- Instead of forming clusters immediately, only do it if we are reversing
the text. We'd need a separate bit to indicate cluster start then.
- Right now, BTW, for non-native direction runs, we get the cluster wrong...
Should do min(input-glyphs.cluster)
- Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS)
- Do proper rounding when scaling from font space?
- Adjust default features for vertical text:
* vrt2 preferred over vert; but if user selects vert, turn vrt2 off?
* vkrn (enables vpal? vpal anyone???);
* valt: "This feature is mutually exclusive with all other glyph-height features (e.g. vhal and vpal),
which should be turned off when it's applied. It deactivates the kern."
API issues to fix before 1.0:
============================
- 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)
- hb_shape() currently does a bit more than hb_ot_shape(). Shouldn't.
- Add glib GBoxedType stuff and introspection
API to add (maybe after 1.0):
============================
- 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)
- Full matrix instead of scale?
- 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)
Optimizations:
=============
- Avoid allocating blob objects internally for for_data() faces?
- Add caching layer to hb-ft