- Support Windows Active Kbd Switching, Far East IME API.

- BIDI support

  - Use text properties to handle nesting levels, overrides
    BIDI-specific text properties (as per Unicode BIDI algorithm)
    computed at text insertion time.

  - Lisp API for reordering a display line at redisplay time,
    possibly substitution of different glyphs (esp. mirroring of
    glyphs).

  - Lisp API called after a display line is laid out, but only when
    reordering may be necessary (display engine checks for
    non-uniform BIDI text properties; can handle internally a line
    that's completely in one direction)

  - Default direction is a buffer-local variable

  - We concentrate on implementing Unicode BIDI algorithm.

  - Display support for mirroring of entire window

  - Display code keeps track of mirroring junctures so it can
    display double cursor.

  - Entire layout of screen (on a per window basis) is exported as a
    Lisp API, for visual editing (also very useful for other
    purposes e.g. proper handling of word wrapping with proportional
    fonts, complex Lisp layout engines e.g. W3)

  - Logical, visual, etc. cursor movement handled entirely in Lisp,
    using aforementioned API, plus a specifier for controlling how
    cursor is shown (e.g. split or not).