2f87cebe10
Should give us some performance boost.
126 lines
2.5 KiB
Plaintext
126 lines
2.5 KiB
Plaintext
General fixes:
|
|
=============
|
|
|
|
- mask propagation (when ligation, "or" the masks).
|
|
|
|
- fail_shaper that always fails.
|
|
|
|
- Make map in setup_masks() const, etc.
|
|
|
|
- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font
|
|
funcs found / set.
|
|
|
|
- In hb_shape(), assert if direction is INVALID.
|
|
|
|
- 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
|
|
|
|
- Move non-native direction and normalization handling to the generic non-OT
|
|
layer, such that other backends can use (Uniscribe doesn't need this).
|
|
|
|
- Convert NBSP into space glyph.
|
|
|
|
- Synthetic GDEF.
|
|
|
|
- Add Pango backend?
|
|
|
|
- Add ICUlayout backend?
|
|
|
|
- Add ICUlayout API?
|
|
|
|
- Add Old HarfBuzz backend?
|
|
|
|
- Add Old HarfBuzz API?
|
|
|
|
- Add namespace to avoid type clashes with Windows
|
|
|
|
|
|
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
|
|
|
|
- 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_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
|
|
|
|
|
|
Optimizations:
|
|
=============
|
|
|
|
- Avoid allocating blob objects internally for for_data() faces?
|
|
|
|
- Add caching layer to hb-ft?
|
|
|
|
- Cache feature-less shape plans internally on the face.
|