-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
22 lines (22 loc) · 1.68 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
- make sure the order of parameter respects the Google C++ Style Guide
- test in both 64 and 32-bit as CGFloat is double in 64-bit and float in 32
- do not use CGFloat but something not OS X dependent
- bidi: test more complex text and align mainly RTL paragraphs right
- text container
- vertical text
- for tests, use open-source fonts and include them in the repo
- support bitmap fonts (mainly for emojis)
- typeset fonts that Harfbuzz doesn't support (AAT fonts) using Core Text even in the custom typesetter -> note that some fonts have both AAT and OpenType tables and you are supposed to used any of those so only use Core Text is the equivalent OpenType tables are not there
- render fonts that Core Text doesn't support (fonts with CBDT/CBLC tables) using FreeType
- http://stackoverflow.com/questions/5511830/how-does-line-spacing-work-in-core-text-and-why-is-it-different-from-nslayoutm#answer-5635981
- accessibility
- caret handling
- refresh the list of preferred languages if the system's list has changed? (using notifications) Not totally sure if it's a good idea though.
- be able to get list of prefered languages from the PANGO_LANGUAGE or LANGUAGE environment variable. Not needed on OS X (or iOS) but it would allow to test easily if the preferred languages list works properly.
- preferred_languages won't work properly in multi-thread
- FontManager is not multithread-safe
- do not use ssize_t everywhere, use size_t in places where the value is not supposed to be negative
- standardize on either "offset" or "index"
- use UCDN for getting a character's script (as ICU might be a bit old if you use the system's one)
- be able to load a font by filename
- do not sort runs of line if not needed