summaryrefslogtreecommitdiff
path: root/editeng/source
diff options
context:
space:
mode:
authorMartin Hosken <martin_hosken@sil.org>2015-09-10 10:14:18 +0700
committerMartin Hosken <martin_hosken@sil.org>2015-09-14 01:16:40 +0000
commit41007842ed9bb5d6165792a197769f72dae55a2c (patch)
tree3db9834122c1a6b43bd2428129629a6f66669978 /editeng/source
parent35fd0cf311d0ab6e647ef8a244f350d8a690e734 (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/source')
-rw-r--r--editeng/source/editeng/impedit3.cxx6
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 ) ) )
{