1. A method of ensuring the proper reading order of bi-directional text, comprising the steps of: scanning a text selection for a portion of the text selection that must be rendered differently than other portions of the text selection according to text rendering rules of the language to which the text selection belongs; marking the beginning of the portion of the text selection; marking the end of the portion of the text selection; and rendering the portion of the text selection differently than other portions of the text selection according to the rules of the language to which the text selection belongs.