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
|
Implementation issues:
* FriBidiEnv type should be defined that is to hold all global variables
and should be passed as environment to all fribidi functions.
* 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?
|