21. A text code conversion system for displaying bi-directional text on a computer display comprising: a computer processor for performing a logical process; a computer-readable storage memory device suitable for storage of program instructions; program instruction embodied by the computer-readable storage memory device which cause a computer processor, when executed, to: detect a string of characters for display to a human interface device contains one or more Arabic Letters followed by one or more European Numbers; assign bidirectional attributes to a logical character stream; assign 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; change 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; associate final level numbers to the logical character stream through implicit processing; and reorder 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 display the reordered string of characters to a human interface device.
21. A text code conversion system for displaying bi-directional text on a computer display comprising: a computer processor for performing a logical process; a computer-readable storage memory device suitable for storage of program instructions; program instruction embodied by the computer-readable storage memory device which cause a computer processor, when executed, to: detect a string of characters for display to a human interface device contains one or more Arabic Letters followed by one or more European Numbers; assign bidirectional attributes to a logical character stream; assign 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; change 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; associate final level numbers to the logical character stream through implicit processing; and reorder 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 display the reordered string of characters to a human interface device. 25. The text code conversion system as set forth in claim 21 wherein the program instruction comprise Haskell functional language.