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 );
}
}