summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/harfbuzz-ng/TODO
blob: e1aa39c4c016c6463d2c52f202835742e6aa77e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
General fixes:
=============

- AAT 'morx' implementation.

- Return "safe-to-break" bit from shaping.

- Implement 'rand' feature.

- mask propagation? (when ligation, "or" the masks).

- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font
  funcs found / set.

- Do proper rounding when scaling from font space?  May be a non-issue.

- Misc features:
  * init/medi/fina/isol for non-cursive scripts


API issues to fix before 1.0:
============================

- API to accept a list of languages?

- Add init_func to font_funcs.  Adjust ft.

- hb-ft load_flags issues.

- Add pkg-config files for glue codes (harfbuzz-glib, etc)

- 'const' for getter APIs? (use mutable internally)

- Remove hb_ot_shape_glyphs_closure()?


API additions
=============

- Language to/from script.

- blob_from_file?

- Add hb-cairo glue

- Add sanitize API (and a cached version, that saves result on blob user-data)

- BCP 47 language handling / API (language_matches?)

- Add hb_font_create_unscaled()?

- Add query / enumeration 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:
===============================

- Add --width, --height, --auto-size, --ink-box, --align, etc?


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_cache_t and relatives

- hb_feature_to/from_string
- hb_buffer_[sg]et_contents