Note that no transformations are applied that would impact word breaking (like mapping into space, for example). In addition, this logic will not strip leading or trailing whitespace (across the entire run of text; leading whitespace can be skipped for a frames text because of whitespace compression).

Returns a pointer to the word, the number of characters in the word, the content length of the word, whether it is whitespace, and whether the text was transformed (any of the transformations listed above). The content length can be greater than the word length if whitespace compression occured or if characters were discarded

The default behavior is to reset the transform buffer to the beginning, but you can choose to not reste it and buffer across multiple words

The default is to transform all text to Unicode; however, you can specify that the text should be left as ascii if possible. Note that we don't step the text down from Unicode to ascii (even if it doesn't contain multibyte characters) so this only happens for text fragments that contain 1-byte text. XXX This is currently not implemented for GetPreviousWord()