Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 1 | General fixes: |
| 2 | ============= |
| 3 | |
Behdad Esfahbod | a0d4cae | 2012-04-17 13:42:30 -0400 | [diff] [blame] | 4 | - Warn at compile time (and runtime with HB_DEBUG?) if no Unicode funcs |
| 5 | found / set. |
| 6 | |
Behdad Esfahbod | d01402d | 2012-04-12 17:38:02 -0400 | [diff] [blame] | 7 | - In hb_shape(), assert if direction is INVALID. |
| 8 | |
| 9 | - Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS). |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 10 | |
Behdad Esfahbod | 3baae24 | 2012-04-11 21:54:37 -0400 | [diff] [blame] | 11 | - Do proper rounding when scaling from font space? May be a non-issue. |
Behdad Esfahbod | 80dce8b | 2011-05-17 17:08:36 -0400 | [diff] [blame] | 12 | |
Behdad Esfahbod | 0eafce5 | 2011-06-01 12:44:30 -0400 | [diff] [blame] | 13 | - Misc features: |
| 14 | * init/medi/fina/isol for non-cursive scripts |
Behdad Esfahbod | 6d16403 | 2012-04-11 22:04:42 -0400 | [diff] [blame] | 15 | * vkna,hkna etc for kana, etc |
Behdad Esfahbod | 0eafce5 | 2011-06-01 12:44:30 -0400 | [diff] [blame] | 16 | |
Behdad Esfahbod | 652d64a | 2011-09-16 16:34:39 -0400 | [diff] [blame] | 17 | - Move non-native direction and normalization handling to the generic non-OT |
| 18 | layer, such that uniscribe and other backends can use. |
| 19 | |
| 20 | - Uniscribe backend needs to enforce one direction only, otherwise cluster |
| 21 | values can confused the user. |
| 22 | |
Behdad Esfahbod | 3baae24 | 2012-04-11 21:54:37 -0400 | [diff] [blame] | 23 | - GSUB ligation should call merge_clusters(). |
| 24 | |
Behdad Esfahbod | ff7cbd0 | 2011-05-25 09:56:06 -0400 | [diff] [blame] | 25 | |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 26 | API issues to fix before 1.0: |
| 27 | ============================ |
| 28 | |
Behdad Esfahbod | 1587c26 | 2011-05-27 16:05:01 -0400 | [diff] [blame] | 29 | - Add pkg-config files for glue codes (harfbuzz-glib, etc) |
| 30 | |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 31 | - Figure out how many .so objects, how to link, etc |
| 32 | |
Behdad Esfahbod | 3baae24 | 2012-04-11 21:54:37 -0400 | [diff] [blame] | 33 | - 'const' for getter APIs? (use mutable internally) |
| 34 | |
| 35 | |
| 36 | API additions |
| 37 | ============= |
| 38 | |
Behdad Esfahbod | d01402d | 2012-04-12 17:38:02 -0400 | [diff] [blame] | 39 | - Buffer (de)serialize API ala hb-shape? |
Behdad Esfahbod | 3baae24 | 2012-04-11 21:54:37 -0400 | [diff] [blame] | 40 | - Move feature parsing from util into the library |
| 41 | |
Behdad Esfahbod | 4accc92 | 2011-04-07 15:53:26 -0400 | [diff] [blame] | 42 | - Add hb-cairo glue |
| 43 | |
Behdad Esfahbod | ff7cbd0 | 2011-05-25 09:56:06 -0400 | [diff] [blame] | 44 | - Add sanitize API (and a cached version, that saves result on blob user-data) |
| 45 | |
Behdad Esfahbod | a5e4e10 | 2011-05-11 22:00:56 -0400 | [diff] [blame] | 46 | - Add glib GBoxedType stuff and introspection |
Behdad Esfahbod | 2d7b61a | 2011-04-20 16:40:56 -0400 | [diff] [blame] | 47 | |
Behdad Esfahbod | bf3eef5 | 2011-08-09 00:13:24 +0200 | [diff] [blame] | 48 | - Add Uniscribe face / font get API |
| 49 | |
Behdad Esfahbod | 1368018 | 2011-05-13 20:25:38 -0400 | [diff] [blame] | 50 | - BCP 47 language handling / API (language_matches?) |
| 51 | |
Behdad Esfahbod | 3994be3 | 2011-05-11 21:08:31 -0400 | [diff] [blame] | 52 | - Add hb_face_get_glyph_count()? |
| 53 | |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 54 | - Add hb_font_create_linear()? |
| 55 | |
Behdad Esfahbod | 3baae24 | 2012-04-11 21:54:37 -0400 | [diff] [blame] | 56 | - Add hb_shape_plan()/hb_shape_planned() |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 57 | |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 58 | - Add query API for aalt-like features? |
| 59 | |
Behdad Esfahbod | ab428ae | 2011-05-06 19:30:46 -0400 | [diff] [blame] | 60 | - SFNT api? get_num_faces? get_table_tags? (there's something in stash) |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 61 | |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 62 | - Add segmentation API |
| 63 | |
Behdad Esfahbod | 3baae24 | 2012-04-11 21:54:37 -0400 | [diff] [blame] | 64 | - Add hb-fribidi glue? |
| 65 | |
| 66 | - Add segmentation API |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 67 | |
| 68 | |
Behdad Esfahbod | 0b6d2ac | 2012-04-10 10:52:03 -0400 | [diff] [blame] | 69 | hb-view / hb-shape enhancements: |
| 70 | =============================== |
Behdad Esfahbod | eb5796f | 2011-04-27 12:14:53 -0400 | [diff] [blame] | 71 | |
Behdad Esfahbod | eb5796f | 2011-04-27 12:14:53 -0400 | [diff] [blame] | 72 | - Add --width, --height, --auto-size, --align, etc? |
Behdad Esfahbod | 0b6d2ac | 2012-04-10 10:52:03 -0400 | [diff] [blame] | 73 | - Add XML and JSON formats to hb-shape |
Behdad Esfahbod | d01402d | 2012-04-12 17:38:02 -0400 | [diff] [blame] | 74 | - --features="init=medi=isol=fina=0" |
Behdad Esfahbod | eb5796f | 2011-04-27 12:14:53 -0400 | [diff] [blame] | 75 | |
| 76 | |
Behdad Esfahbod | ee8dd83 | 2011-05-12 01:02:03 -0400 | [diff] [blame] | 77 | Tests to write: |
| 78 | ============== |
| 79 | |
| 80 | - ot-layout enumeration API (needs font) |
| 81 | |
Behdad Esfahbod | c464172 | 2011-07-07 23:47:19 -0400 | [diff] [blame] | 82 | - Finish test-shape.c, grep for TODO |
| 83 | |
| 84 | - Finish test-unicode.c, grep for TODO |
Behdad Esfahbod | 5bf56ea | 2011-05-25 14:43:10 -0400 | [diff] [blame] | 85 | |
Behdad Esfahbod | 08569c0 | 2012-04-14 18:47:07 -0400 | [diff] [blame] | 86 | - GObject, FreeType, etc |
| 87 | |
Behdad Esfahbod | 0b08adb | 2012-04-23 22:41:09 -0400 | [diff] [blame] | 88 | - hb_set_t |
| 89 | |
Behdad Esfahbod | ee8dd83 | 2011-05-12 01:02:03 -0400 | [diff] [blame] | 90 | |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 91 | Optimizations: |
| 92 | ============= |
| 93 | |
Behdad Esfahbod | 4accc92 | 2011-04-07 15:53:26 -0400 | [diff] [blame] | 94 | - Avoid allocating blob objects internally for for_data() faces? |
Behdad Esfahbod | 04a3023 | 2010-10-13 10:57:27 -0400 | [diff] [blame] | 95 | |
Behdad Esfahbod | 0b6d2ac | 2012-04-10 10:52:03 -0400 | [diff] [blame] | 96 | - Add caching layer to hb-ft? |