I find that the WRAP version of the default text rendering handles newlines in the string correctly, but the non-WRAP version truncates width based on the width of the entire string, rather than handling the embedded newlines by breaking up the strings. I believe the problems are in drawTextVerticalAlign in SWTX.java