1. A computer-implemented method for displaying bi-directional text on a computer display comprising: detecting by a computer that a string of characters for display to a human interface device contains one or more Arabic Letters followed by one or more European Numbers; responsive to the detecting, treating by the computer the one or more European Numbers as one or more Arabic Numbers by: assigning bidirectional attributes to a logical character stream; assigning initial level numbers while honoring any directional overrides by explicit processing, wherein the directional overrides include Left-to-right display order and Right-to-left display order; changing attribute types based upon surrounding attribute types through weak processing and neutral processing, wherein, during the weak processing, a directional override is changed to Right-to-left display order for a last Arabic Letter of the one or more Arabic Letters which immediate precedes a first character of the one or more European Numbers while retaining an attribute type of Arabic Letter for the last Arabic Letter, thereby causing the first European Number to change to an attribute type of Arabic Number; associating final level numbers to the logical character stream through implicit processing; and reordering the string of characters within the logical character stream into display order according to the final level numbers by separately handling facets of layout relating to character reordering and facets related to character stream rendering; and displaying by a computer the reordered string of characters to a human interface device.
1. A computer-implemented method for displaying bi-directional text on a computer display comprising: detecting by a computer that a string of characters for display to a human interface device contains one or more Arabic Letters followed by one or more European Numbers; responsive to the detecting, treating by the computer the one or more European Numbers as one or more Arabic Numbers by: assigning bidirectional attributes to a logical character stream; assigning initial level numbers while honoring any directional overrides by explicit processing, wherein the directional overrides include Left-to-right display order and Right-to-left display order; changing attribute types based upon surrounding attribute types through weak processing and neutral processing, wherein, during the weak processing, a directional override is changed to Right-to-left display order for a last Arabic Letter of the one or more Arabic Letters which immediate precedes a first character of the one or more European Numbers while retaining an attribute type of Arabic Letter for the last Arabic Letter, thereby causing the first European Number to change to an attribute type of Arabic Number; associating final level numbers to the logical character stream through implicit processing; and reordering the string of characters within the logical character stream into display order according to the final level numbers by separately handling facets of layout relating to character reordering and facets related to character stream rendering; and displaying by a computer the reordered string of characters to a human interface device. 8. The computer-implemented method as set forth in claim 1 wherein one or more steps are provided in Miranda functional language.