summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorAnkush Dua <ankush.d@samsung.com>2012-06-27 15:27:25 +0900
committerAnkush Dua <ankush.d@samsung.com>2012-06-27 15:27:25 +0900
commitb08254dad51328fed58b3c0999a1eb7a25f53efc (patch)
tree0f76464fb409a86ee71f6c895ca28d5c95778349 /TODO
parent12696a9e64dbccb08db7c8adb66e1075a39d6d14 (diff)
downloadharfbuzz-b08254dad51328fed58b3c0999a1eb7a25f53efc.tar.gz
harfbuzz-b08254dad51328fed58b3c0999a1eb7a25f53efc.tar.bz2
harfbuzz-b08254dad51328fed58b3c0999a1eb7a25f53efc.zip
Change-Id: I9d121292a9dee634ebd0a542d1b290c898db09b7
Diffstat (limited to 'TODO')
-rw-r--r--TODO80
1 files changed, 62 insertions, 18 deletions
diff --git a/TODO b/TODO
index 04852c6..4a1ad19 100644
--- a/TODO
+++ b/TODO
@@ -1,33 +1,72 @@
General fixes:
=============
-- Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS)
+- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font
+ funcs found / set.
-- Do proper rounding when scaling from font space?
+- 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, *jmo for hangul, etc
+ * vkna,hkna etc for kana, 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 confuse the user.
+
+- GSUB ligation should call merge_clusters(). Also other places.
+
+- Convert NBSP into space glyph.
+
+- Synthetic GDEF.
+
+- Add Pango backend?
+
+- Add ICUlayout backend?
+
+- Add ICUlayout API?
+
+- Add Old HarfBuzz backend?
+
+- Add Old HarfBuzz API?
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
+=============
+
+- 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)
-- 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):
-============================
+- Add Uniscribe face / font get API
- BCP 47 language handling / API (language_matches?)
@@ -35,26 +74,23 @@ API to add (maybe after 1.0):
- Add hb_font_create_linear()?
-- Add hb_shape_plan()/hb_shape_execute()
+- 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)
-- Full matrix instead of scale?
-
- Add segmentation API
-- Add hb-fribidi?
+- Add hb-fribidi glue?
-hb-view enhancements:
-====================
+hb-view / hb-shape enhancements:
+===============================
-- Add --format
- Add --width, --height, --auto-size, --align, etc?
-- Port to GOption, --help
-- Add XML and JSON formats
+- Add XML and JSON formats to hb-shape
+- --features="init=medi=isol=fina=0"
Tests to write:
@@ -66,10 +102,18 @@ Tests to write:
- 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
+- Add caching layer to hb-ft?
+
+- Cache feature-less shape plans internally on the face.