Kaydet (Commit) ee5d6200 authored tarafından Herbert Dürr's avatar Herbert Dürr Kaydeden (comit) Caolán McNamara

(cherry picked from commit c4ce6e92)

Conflicts:
	vcl/win/source/gdi/winlayout.cxx

Change-Id: I564e3d2186578041a70f329810173b82c8f1ce5b
üst 7f47f5bd
......@@ -5972,7 +5972,10 @@ ImplLayoutArgs OutputDevice::ImplPrepareLayoutArgs( String& rStr,
|| ((*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;
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment