diff options
author | Martin Hosken <martin_hosken@sil.org> | 2015-09-10 10:14:18 +0700 |
---|---|---|
committer | Martin Hosken <martin_hosken@sil.org> | 2015-09-14 01:16:40 +0000 |
commit | 41007842ed9bb5d6165792a197769f72dae55a2c (patch) | |
tree | 3db9834122c1a6b43bd2428129629a6f66669978 /editeng | |
parent | 35fd0cf311d0ab6e647ef8a244f350d8a690e734 (diff) |
Refactor graphite integration and update graphite
Change-Id: I09db7262c2a6180a078620ba086dd7a4c132bd82
Reviewed-on: https://gerrit.libreoffice.org/18459
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Reviewed-by: Martin Hosken <martin_hosken@sil.org>
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/impedit3.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index ae3be6a1f042..e5f10c0d9a9b 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -720,6 +720,8 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY ) EditLine aSaveLine( *pLine ); SvxFont aTmpFont( pNode->GetCharAttribs().GetDefFont() ); + ImplInitLayoutMode( GetRefDevice(), nPara, nIndex ); + bool bCalcCharPositions = true; std::unique_ptr<long[]> pBuf(new long[ pNode->Len() ]); @@ -1044,6 +1046,8 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY ) aTmpFont.SetPhysFont( GetRefDevice() ); ImplInitDigitMode(GetRefDevice(), aTmpFont.GetLanguage()); + pPortion->SetRightToLeft( GetRightToLeft( nPara, nTmpPos+1 ) ); + if ( bCalcCharPositions || !pPortion->HasValidSize() ) { pPortion->GetSize() = aTmpFont.QuickGetTextSize( GetRefDevice(), pParaPortion->GetNode()->GetString(), nTmpPos, pPortion->GetLen(), pBuf.get() ); @@ -1075,8 +1079,6 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY ) nTmpWidth += pPortion->GetSize().Width(); - pPortion->SetRightToLeft( GetRightToLeft( nPara, nTmpPos+1 ) ); - sal_Int32 _nPortionEnd = nTmpPos + pPortion->GetLen(); if( bScriptSpace && ( _nPortionEnd < pNode->Len() ) && ( nTmpWidth < nXWidth ) && IsScriptChange( EditPaM( pNode, _nPortionEnd ) ) ) { |