[Libreoffice-commits] core.git: Branch 'aoo/trunk' - vcl/aqua

Herbert Dürr hdu at apache.org
Mon Mar 24 01:07:45 PDT 2014


 vcl/aqua/source/gdi/ctlayout.cxx |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit c7243848547b19a3b237f18629b809d93ee821c4
Author: Herbert Dürr <hdu at apache.org>
Date:   Mon Mar 24 07:48:44 2014 +0000

    #i124375# force soft-hyphen visibility for CoreText to meet Writer+EEng expectations

diff --git a/vcl/aqua/source/gdi/ctlayout.cxx b/vcl/aqua/source/gdi/ctlayout.cxx
index 88b912f..4aa5112 100644
--- a/vcl/aqua/source/gdi/ctlayout.cxx
+++ b/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);


More information about the Libreoffice-commits mailing list