Imported Upstream version 0.9.12
[platform/upstream/harfbuzz.git] / TODO
1 General fixes:
2 =============
3
4 - AAT 'morx' implementation.
5
6 - Return "safe-to-break" bit from shaping.
7
8 - Disable 'vert' if 'vrt2' is available (eg. Motoya fonts with arrow chars).
9
10 - Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS).
11
12 - Implement 'rand' feature.
13
14 - mask propagation? (when ligation, "or" the masks).
15
16 - Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font
17   funcs found / set.
18
19 - Do proper rounding when scaling from font space?  May be a non-issue.
20
21 - Misc features:
22   * init/medi/fina/isol for non-cursive scripts
23   * vkna,hkna etc for kana, etc
24   * smpl,trad for ZHS / ZHT
25
26
27 API issues to fix before 1.0:
28 ============================
29
30 - API to accept a list of languages.
31
32 - Add default font_funcs / Unicode funcs API and to utils.
33
34 - Add init_func to font_funcs.  Adjust ft.
35
36 - Add pkg-config files for glue codes (harfbuzz-glib, etc)
37
38 - Figure out how many .so objects, how to link, etc
39
40 - 'const' for getter APIs? (use mutable internally)
41
42 - blob_from_file?
43
44
45 API additions
46 =============
47
48 - Language to/from script.
49
50 - Buffer (de)serialize API ala hb-shape?
51
52 - Add hb-cairo glue
53
54 - Add sanitize API (and a cached version, that saves result on blob user-data)
55
56 - Add glib GBoxedType stuff and introspection
57
58 - BCP 47 language handling / API (language_matches?)
59
60 - Add hb_font_create_linear()?
61
62 - Add query API for aalt-like features?
63
64 - SFNT api? get_num_faces? get_table_tags? (there's something in stash)
65
66 - Add segmentation API
67
68 - Add hb-fribidi glue?
69
70
71 hb-view / hb-shape enhancements:
72 ===============================
73
74 - Add --width, --height, --auto-size, --align, etc?
75
76
77 Tests to write:
78 ==============
79
80 - ot-layout enumeration API (needs font)
81
82 - Finish test-shape.c, grep for TODO
83
84 - Finish test-unicode.c, grep for TODO
85
86 - GObject, FreeType, etc
87
88 - hb_cache_t and relatives
89
90 - hb_feature_to/from_string
91 - hb_buffer_[sg]et_contents