Okay, I can confirm that this is due to ExtTextOut() returning an error for long strings and is not due to any limits on canvas size or any other display-related feature. It appears to be the same issue mentioned in the discussion on stackoverflow, including this one
, indicating a timeout in the ExtTextOut() API when it takes too long to process the string.
The clipping region is set to the size of the window, so ExtTextout() should stop emitting text once it has reached the edge of the clipping region. But it looks like it pre-processes the whole line first, regardless of clipping region width. It may be that it was not optimally designed to handle this much text at once, or perhaps it was designed this way to conserve system resources.
I have implemented a check in the display routines where if the length of the text is 1) longer than the clipping region and 2) longer than 1024 characters, the line length will be progressively halved etc. and the shorter line length is passed to ExtTextOut(). This appears to resolve the issue and will be in the next beta.