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
|
Implementation issues:
* FriBidiEnv type should be defined that is to hold all global variables
and should be passed as environment to all fribidi functions.
* packtab.c should produce outputs with much fewer symbols, with the idea
of putting different tables in one, and store the offsets instead of
pointers.
* Add const keywords all over the source.
* with --without-charsets, fribidi char set converters use iconv internally.
* Update CapRTL with new Unicode reference version.
* Revise Reorder api, in fribidi_main.c reorder after link break.
* Add an option to fribidi_main.c to assume two consecutive returns as
paragraph separators.
* Change fribidi_main.c to act like 'bidiv' if argv[0] == "bidiv".
* Fix iconv problem: Check for old iconvs (without wchar_t, without
byteorder UTF-32 or UCS-4 types).
* When there is no glibc, libiconv should be linked when --without-charset
is enabled.
* Design better apis to do reorder based on available levels, remove
explicit marks then calculate position maps, ....
* Revise fribidi_util.c, add some functions, update other to support explicit
marks, and too many embedding levels, eg. fribidi_map_range.
* Charset converters and fribidi_analyse change API to allocate mem if
NULL is passed to them.
BiDi algorithms issues:
*
General issues:
* Better documentation.
* Write notes and a reference implementation for the following interactions
with fribidi:
- Terminal editing with cursor key interaction, e.g. through curses.
No mouse or cut and paste interaction.
- Like above (with fixed width fonts?) but in an GUI environment
where the mouse may be used to position the cursor.
- Like above but with the ability to do a mouse selection. At least
in logical mode, possibly in visual mode.
- Like above but with proportional fonts.
- Like above with proportional fonts and character attributes.
- Like above but with kerning between characters.
* Write a description of the needed steps to convert a LTR editor into a
BiDi aware editor.
* Make interfaces to other scripting languages if there is any interest.
* Consider the implications of a minimal incremental algorithm for
adding a single character.
* Add handling of precomposed and presentation unicode chars when converting
to 8-bit encodings (breaking into several chars, or better match)
* Persian 8-bit encoding ISIRI-3342 has the notion of strong typed chars like
spaces etc (all the characters in the range 0x00-0x7f are strongly typed
left-to-right, and sometimes have duplicates in 0x80-0xff as a strongly
typed right-to-left version. several chars in the range 0xa0-0xbf have
exact unicode counterparts; but others (and all in the range 0x80-0x9f,
and 0xff) have not; so how should that be handled when converting to
unicode to preserve at best the direction information?
|