From c4ce6e92db9e784eed2c0863d4c30bf9eddf3da1 Mon Sep 17 00:00:00 2001
From: Herbert Dürr <hdu@apache.org>
Date: Fri, 4 May 2012 07:24:43 +0000
Subject: #i103131# starting IVS support on win>=7 platform

---
 vcl/win/source/gdi/winlayout.cxx | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

(limited to 'vcl/win')

diff --git a/vcl/win/source/gdi/winlayout.cxx b/vcl/win/source/gdi/winlayout.cxx
index b4b719845605..eb8c88985dc4 100644
--- a/vcl/win/source/gdi/winlayout.cxx
+++ b/vcl/win/source/gdi/winlayout.cxx
@@ -85,8 +85,8 @@ using namespace rtl;
 class ImplWinFontEntry : public ImplFontEntry
 {
 public:
-                            ImplWinFontEntry( ImplFontSelectData& );
-                            ~ImplWinFontEntry();
+    explicit                ImplWinFontEntry( ImplFontSelectData& );
+    virtual                 ~ImplWinFontEntry();
 
 private:
     // TODO: also add HFONT??? Watch out for issues with too many active fonts...
@@ -1306,6 +1306,7 @@ bool UniscribeLayout::LayoutText( ImplLayoutArgs& rArgs )
     SCRIPT_CONTROL aScriptControl = {nLangId,false,false,false,false,false,false,false,false,0};
     aScriptControl.fNeutralOverride = aScriptState.fOverrideDirection;
     aScriptControl.fContextDigits   = (0 != (rArgs.mnFlags & SAL_LAYOUT_SUBSTITUTE_DIGITS));
+    aScriptControl.fMergeNeutralItems = true;
     // determine relevant substring and work only on it
     // when Bidi status is unknown we need to look at the whole string though
     mnSubStringMin = 0;
@@ -1542,11 +1543,10 @@ bool UniscribeLayout::LayoutText( ImplLayoutArgs& rArgs )
                         {
                             if( mpLogClusters[ c ] == i )
                             {
-                                // --> HDU/FME 2005-10-25 #i55716# skip WORDJOINER
+                                // #i55716# skip WORDJOINER
                                 if( rArgs.mpStr[ c ] == 0x2060 )
                                     mpOutGlyphs[ i + rVisualItem.mnMinGlyphPos ] = 1;
                                 else
-                                // <--
                                     rArgs.NeedFallback( c, false );
                            }
                         }
@@ -1558,11 +1558,10 @@ bool UniscribeLayout::LayoutText( ImplLayoutArgs& rArgs )
                         {
                             if( mpLogClusters[ c ] == i )
                             {
-                                // --> HDU/FME 2005-10-25 #i55716# skip WORDJOINER
+                                // #i55716# skip WORDJOINER
                                 if( rArgs.mpStr[ c ] == 0x2060 )
                                     mpOutGlyphs[ i + rVisualItem.mnMinGlyphPos ] = 1;
                                 else
-                                // <--
                                     rArgs.NeedFallback( c, true );
                             }
                         }
-- 
cgit