Lines 4213-4225
Link Here
|
4213 |
long nPosInPortion = pLine->GetCharPosArray().GetObject( nPos ); |
4213 |
long nPosInPortion = pLine->GetCharPosArray().GetObject( nPos ); |
4214 |
#else |
4214 |
#else |
4215 |
// #i74188# (positioning the cursor after deleting components of combined indic characters) |
4215 |
// #i74188# (positioning the cursor after deleting components of combined indic characters) |
|
|
4216 |
sal_uInt16 nStartCalc = 0; |
4217 |
for (sal_uInt16 i = 0; i < nTextPortion; ++i) |
4218 |
{ |
4219 |
TextPortion *pTextPortion = pParaPortion->GetTextPortions().GetObject( i ); |
4220 |
nStartCalc += pTextPortion->GetLen(); |
4221 |
} |
4222 |
|
4216 |
SvxFont aTmpFont( pParaPortion->GetNode()->GetCharAttribs().GetDefFont() ); |
4223 |
SvxFont aTmpFont( pParaPortion->GetNode()->GetCharAttribs().GetDefFont() ); |
|
|
4224 |
|
4225 |
GetRefDevice()->Push( PUSH_ALL ); |
4226 |
ImplInitLayoutMode( GetRefDevice(), GetEditDoc().GetPos(pParaPortion->GetNode()), 0xFFFF ); |
4227 |
ImplInitDigitMode( GetRefDevice(), 0, 0, 0, aTmpFont.GetLanguage() ); |
4228 |
GetRefDevice()->SetMapMode( MAP_100TH_MM ); |
4229 |
|
4217 |
SeekCursor( pParaPortion->GetNode(), nPos+1, aTmpFont ); |
4230 |
SeekCursor( pParaPortion->GetNode(), nPos+1, aTmpFont ); |
4218 |
aTmpFont.SetPhysFont( GetRefDevice() ); |
4231 |
aTmpFont.SetPhysFont( GetRefDevice() ); |
4219 |
ImplInitDigitMode( GetRefDevice(), 0, 0, 0, aTmpFont.GetLanguage() ); |
4232 |
String sSegment(*pParaPortion->GetNode(), pLine->GetStart()+nStartCalc, nPos+1-nStartCalc); |
4220 |
String sSegment(*pParaPortion->GetNode(), pLine->GetStart(), nPos+1); |
|
|
4221 |
long nPosInPortion = aTmpFont.QuickGetTextSize( GetRefDevice(), |
4233 |
long nPosInPortion = aTmpFont.QuickGetTextSize( GetRefDevice(), |
4222 |
sSegment, 0, nPos+1, NULL ).Width(); |
4234 |
sSegment, 0, nPos+1-nStartCalc, NULL ).Width(); |
|
|
4235 |
|
4236 |
GetRefDevice()->Pop(); |
4223 |
#endif |
4237 |
#endif |
4224 |
|
4238 |
|
4225 |
if ( !pPortion->IsRightToLeft() ) |
4239 |
if ( !pPortion->IsRightToLeft() ) |