gfx/harfbuzz/TODO

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

michael@0 1 General fixes:
michael@0 2 =============
michael@0 3
michael@0 4 - Move feature parsing from util into the library
michael@0 5
michael@0 6 - 'const' for getter APIs? (use mutable internally)
michael@0 7
michael@0 8 - Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS)
michael@0 9
michael@0 10 - Do proper rounding when scaling from font space?
michael@0 11
michael@0 12 - Misc features:
michael@0 13 * init/medi/fina/isol for non-cursive scripts
michael@0 14 * vkna,hkna etc for kana, *jmo for hangul, etc
michael@0 15
michael@0 16 - Move non-native direction and normalization handling to the generic non-OT
michael@0 17 layer, such that uniscribe and other backends can use.
michael@0 18
michael@0 19 - Uniscribe backend needs to enforce one direction only, otherwise cluster
michael@0 20 values can confused the user.
michael@0 21
michael@0 22
michael@0 23 API issues to fix before 1.0:
michael@0 24 ============================
michael@0 25
michael@0 26 - Rename all internal symbols (static ones even) to have _hb prefix?
michael@0 27
michael@0 28 - Add pkg-config files for glue codes (harfbuzz-glib, etc)
michael@0 29
michael@0 30 - Figure out how many .so objects, how to link, etc
michael@0 31
michael@0 32 - Add hb-cairo glue
michael@0 33
michael@0 34 - Add sanitize API (and a cached version, that saves result on blob user-data)
michael@0 35
michael@0 36 - Add glib GBoxedType stuff and introspection
michael@0 37
michael@0 38
michael@0 39 API to add (maybe after 1.0):
michael@0 40 ============================
michael@0 41
michael@0 42 - Add Uniscribe face / font get API
michael@0 43
michael@0 44 - BCP 47 language handling / API (language_matches?)
michael@0 45
michael@0 46 - Add hb_face_get_glyph_count()?
michael@0 47
michael@0 48 - Add hb_font_create_linear()?
michael@0 49
michael@0 50 - Add hb_shape_plan()/hb_shape_execute()
michael@0 51
michael@0 52 - Add query API for aalt-like features?
michael@0 53
michael@0 54 - SFNT api? get_num_faces? get_table_tags? (there's something in stash)
michael@0 55
michael@0 56 - Add segmentation API
michael@0 57
michael@0 58 - Add hb-fribidi?
michael@0 59
michael@0 60
michael@0 61 hb-view enhancements:
michael@0 62 ====================
michael@0 63
michael@0 64 - Add --format
michael@0 65 - Add --width, --height, --auto-size, --align, etc?
michael@0 66 - Port to GOption, --help
michael@0 67 - Add XML and JSON formats
michael@0 68
michael@0 69
michael@0 70 Tests to write:
michael@0 71 ==============
michael@0 72
michael@0 73 - ot-layout enumeration API (needs font)
michael@0 74
michael@0 75 - Finish test-shape.c, grep for TODO
michael@0 76
michael@0 77 - Finish test-unicode.c, grep for TODO
michael@0 78
michael@0 79
michael@0 80 Optimizations:
michael@0 81 =============
michael@0 82
michael@0 83 - Avoid allocating blob objects internally for for_data() faces?
michael@0 84
michael@0 85 - Add caching layer to hb-ft

mercurial