diff --git main/vcl/aqua/source/gdi/ctlayout.cxx main/vcl/aqua/source/gdi/ctlayout.cxx index f79cd3770341..b8e307fb6c2e 100644 --- main/vcl/aqua/source/gdi/ctlayout.cxx +++ main/vcl/aqua/source/gdi/ctlayout.cxx @@ -121,8 +121,16 @@ bool CTLayout::LayoutText( ImplLayoutArgs& rArgs ) if( mnCharCount <= 0 ) return false; - // create the CoreText line layout + // prepare the string to be layouted by CoreText CFStringRef aCFText = CFStringCreateWithCharactersNoCopy( NULL, rArgs.mpStr + mnMinCharPos, mnCharCount, kCFAllocatorNull ); + // #i124375# force soft-hyphen visibility to meet the expectations of Writer+EditEngine + if( CFStringFind( aCFText, (CFStringRef)@"\u00AD", 0).length > 0 ) + { + NSString* pDashStr = [(NSString*)aCFText stringByReplacingOccurrencesOfString: @"\u00AD" withString: @"-"]; + aCFText = CFStringCreateCopy( NULL, (CFStringRef)pDashStr ); + } + + // create the CoreText line layout using the requested text style mpAttrString = CFAttributedStringCreate( NULL, aCFText, mpTextStyle->GetStyleDict() ); mpCTLine = CTLineCreateWithAttributedString( mpAttrString ); CFRelease( aCFText);