summaryrefslogtreecommitdiff
path: root/vcl/win
diff options
context:
space:
mode:
authorHerbert Dürr <hdu@apache.org>2012-05-04 07:24:43 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-03-01 12:44:14 +0000
commitee5d620011152e6f260a1712f02cb48da34734d6 (patch)
treeffa79b66057d6726a7c71e751e08b97f62c74c8f /vcl/win
parent7f47f5bd09b8bb32de9fd38f941a621965c48045 (diff)
(cherry picked from commit c4ce6e92db9e784eed2c0863d4c30bf9eddf3da1)
Conflicts: vcl/win/source/gdi/winlayout.cxx Change-Id: I564e3d2186578041a70f329810173b82c8f1ce5b
Diffstat (limited to 'vcl/win')
-rw-r--r--vcl/win/source/gdi/winlayout.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/vcl/win/source/gdi/winlayout.cxx b/vcl/win/source/gdi/winlayout.cxx
index abd5144084e5..1404c2c1244b 100644
--- a/vcl/win/source/gdi/winlayout.cxx
+++ b/vcl/win/source/gdi/winlayout.cxx
@@ -69,8 +69,8 @@ using ::rtl::OUStringToOString;
class ImplWinFontEntry : public ImplFontEntry
{
public:
- ImplWinFontEntry( FontSelectPattern& );
- ~ImplWinFontEntry();
+ explicit ImplWinFontEntry( FontSelectPattern& );
+ virtual ~ImplWinFontEntry();
private:
// TODO: also add HFONT??? Watch out for issues with too many active fonts...
@@ -1189,6 +1189,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;
@@ -1426,7 +1427,7 @@ bool UniscribeLayout::LayoutText( ImplLayoutArgs& rArgs )
{
if( mpLogClusters[ c ] == i )
{
- // #i55716#
+ // #i55716# skip WORDJOINER
if( rArgs.mpStr[ c ] == 0x2060 )
mpOutGlyphs[ i + rVisualItem.mnMinGlyphPos ] = 1;
else
@@ -1441,7 +1442,7 @@ bool UniscribeLayout::LayoutText( ImplLayoutArgs& rArgs )
{
if( mpLogClusters[ c ] == i )
{
- // #i55716#
+ // #i55716# skip WORDJOINER
if( rArgs.mpStr[ c ] == 0x2060 )
mpOutGlyphs[ i + rVisualItem.mnMinGlyphPos ] = 1;
else