Lines 1764-1772
Link Here
|
1764 |
|
1764 |
|
1765 |
USHORT nS = ( nPara == nStartPara ) ? aSel.Min().GetIndex() : 0; |
1765 |
USHORT nS = ( nPara == nStartPara ) ? aSel.Min().GetIndex() : 0; |
1766 |
USHORT nE = ( nPara == nEndPara ) ? aSel.Max().GetIndex() : pParaPortion->GetNode()->Len(); |
1766 |
USHORT nE = ( nPara == nEndPara ) ? aSel.Max().GetIndex() : pParaPortion->GetNode()->Len(); |
|
|
1767 |
|
1768 |
// Find all the scripts types that intersect the selection. |
1769 |
// For moving cursor from char to char then we have no selection, |
1770 |
// so use a selection over the previous character if there was one. |
1771 |
// If there is no previous character, then we'll eventually fallback |
1772 |
// to the input language. |
1773 |
if ( !rSel.HasRange() && nS ) |
1774 |
{ |
1775 |
DBG_ASSERT( nS == nE && nStartPara == nEndPara, "Move in sich selbst ?" ); |
1776 |
--nS; |
1777 |
} |
1778 |
|
1767 |
for ( USHORT n = 0; n < rTypes.Count(); n++ ) |
1779 |
for ( USHORT n = 0; n < rTypes.Count(); n++ ) |
1768 |
{ |
1780 |
{ |
1769 |
if ( ( rTypes[n].nStartPos <= nE ) && ( rTypes[n].nEndPos >= nS ) ) |
1781 |
if ( ( nS < rTypes[n].nEndPos ) && ( nE > rTypes[n].nStartPos ) ) |
1770 |
{ |
1782 |
{ |
1771 |
if ( rTypes[n].nScriptType != i18n::ScriptType::WEAK ) |
1783 |
if ( rTypes[n].nScriptType != i18n::ScriptType::WEAK ) |
1772 |
{ |
1784 |
{ |