Author: hdu
Date: Fri May  4 08:24:43 2012
New Revision: 1333808

URL: http://svn.apache.org/viewvc?rev=1333808&view=rev
Log:
#i103131# starting IVS support on win>=7 platform

Modified:
    incubator/ooo/trunk/main/vcl/source/gdi/outdev3.cxx
    incubator/ooo/trunk/main/vcl/win/source/gdi/winlayout.cxx

Modified: incubator/ooo/trunk/main/vcl/source/gdi/outdev3.cxx
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/source/gdi/outdev3.cxx?rev=1333808&r1=1333807&r2=1333808&view=diff
==============================================================================
--- incubator/ooo/trunk/main/vcl/source/gdi/outdev3.cxx (original)
+++ incubator/ooo/trunk/main/vcl/source/gdi/outdev3.cxx Fri May  4 08:24:43 2012
@@ -5906,7 +5906,10 @@ ImplLayoutArgs OutputDevice::ImplPrepare
             ||  ((*pStr >= 0x1100) && (*pStr < 0x1200))   // hangul jamo
             ||  ((*pStr >= 0x1700) && (*pStr < 0x1900))   // many CTL scripts
             ||  ((*pStr >= 0xFB1D) && (*pStr < 0xFE00))   // middle east 
presentation
-            ||  ((*pStr >= 0xFE70) && (*pStr < 0xFEFF)) ) // arabic 
presentation B
+            ||  ((*pStr >= 0xFE70) && (*pStr < 0xFEFF))   // arabic 
presentation B
+            ||  ((*pStr >= 0xFE00) && (*pStr < 0xFE10))   // variation 
selectors in BMP
+            ||  ((pStr + 1 < pEnd) && (pStr[0] == 0xDB40) && (0xDD00 <= 
pStr[1]) && (pStr[1] < 0xDEF0)) // variation selector supplement
+                       )
                 break;
         if( pStr >= pEnd )
             nLayoutFlags |= SAL_LAYOUT_COMPLEX_DISABLED;

Modified: incubator/ooo/trunk/main/vcl/win/source/gdi/winlayout.cxx
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/win/source/gdi/winlayout.cxx?rev=1333808&r1=1333807&r2=1333808&view=diff
==============================================================================
--- incubator/ooo/trunk/main/vcl/win/source/gdi/winlayout.cxx (original)
+++ incubator/ooo/trunk/main/vcl/win/source/gdi/winlayout.cxx Fri May  4 
08:24:43 2012
@@ -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( ImplLa
     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( ImplLa
                         {
                             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( ImplLa
                         {
                             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 );
                             }
                         }


Reply via email to