02aeca985b
hb_shape() now accepts a shaper_options and a shaper_list argument. Both can be set to NULL to emulate previous API. And in most situations they are expected to be set to NULL. hb_shape() also returns a boolean for now. If shaper_list is NULL, the return value can be ignored. shaper_options is ignored for now, but otherwise it should be a NULL-terminated list of strings. shaper_list is a NULL-terminated list of strings. Currently recognized strings are "ot" for native OpenType Layout implementation, "uniscribe" for the Uniscribe backend, and "fallback" for the non-complex backend (that will be implemented shortly). The fallback backend never fails. The env var HB_SHAPER_LIST is also parsed and honored. It's a colon-separated list of shaper names. The fallback shaper is invoked if none of the env-listed shapers succeed. New API hb_buffer_guess_properties() added.
76 lines
1.5 KiB
Plaintext
76 lines
1.5 KiB
Plaintext
General fixes:
|
|
=============
|
|
|
|
- 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
|
|
|
|
|
|
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):
|
|
============================
|
|
|
|
- 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)
|
|
|
|
- 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
|