*** /cygdrive/c/_temp/ooo_SRC680_m182_src/svx/source/editeng/impedit3.cxx Sun Jul 16 16:27:59 2006 --- /cygdrive/c/_temp/ooo_SRC680_m182_src/svx/source/editeng/impedit3.modified.cxx Tue Oct 17 15:49:53 2006 *************** *** 1716,1723 **** sal_uInt16 nBreakInLine = nPortionStart - pLine->GetStart(); sal_uInt16 nMax = nBreakInLine + pPortion->GetLen(); ! while ( ( nBreakInLine < nMax ) && ( pLine->GetCharPosArray()[nBreakInLine] < nRemainingWidth ) ) nBreakInLine++; sal_uInt16 nMaxBreakPos = nBreakInLine + pLine->GetStart(); sal_uInt16 nBreakPos = 0xFFFF; --- 1716,1735 ---- sal_uInt16 nBreakInLine = nPortionStart - pLine->GetStart(); sal_uInt16 nMax = nBreakInLine + pPortion->GetLen(); ! //while ( ( nBreakInLine < nMax ) && ( pLine->GetCharPosArray()[nBreakInLine] < nRemainingWidth ) ) ! // nBreakInLine++; ! // test patch for issue 20260 ->> ! sal_Bool bIsBlank = sal_True; ! sal_uInt16 nLineStart = pLine->GetStart(); ! while ( ( nBreakInLine < nMax ) && ( pLine->GetCharPosArray()[nBreakInLine] < nRemainingWidth ) || bIsBlank ) ! { nBreakInLine++; + sal_Unicode cBlankCJKChar = sal_Unicode(12288);//CJK Space + if( pNode->GetChar( nBreakInLine ) == ' ' || pNode->GetChar( nBreakInLine + nLineStart ) == cBlankCJKChar ) + bIsBlank = sal_True; + else + bIsBlank = sal_False; + } sal_uInt16 nMaxBreakPos = nBreakInLine + pLine->GetStart(); sal_uInt16 nBreakPos = 0xFFFF;