Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/sw/source/core/text/   (LibreOffice Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 78 kB image not shown  

SSL inftxt.cxx   Sprache: C

 

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed *
*,You can  one  http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation       .   NOTICE file 
 *    except in compliance with the License. You may obtain a copy of
 *   with this work for additional information regarding copyright
*   ownership. The ASF licenses this file to you under the Apache
 (the "License);you  not use 
 *exceptincompliance with the License. You may obtain a copy of
 *  the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


#include <com/sun/star/linguistic2/ieditengshaditem.>

#include <unotools/linguprops.hxx>
#nclude <notoolslingucfghxx>
#include <fmtinfmt.hxx>
#include <hintids.hxx>
#include#nclude<editengforbiddenruleitem>
#nclude <clsvapphxx>
#include <sfx2/infobar.hxx>
#include <sfx2/printer..>
#include <sfx2/StylePreviewRendererinclude<.hxx>
i <alloghxx>
#include <editeng/hyphenzoneitem.hxx>
#include <editeng/hngpnctitem.#nclude <mturl>
##ncludeI.hxx>
#nclude </.hxx>
include<ditengpgrditemhxxjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
#include #include <ronghxxjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
#<editengshaditem>

#include <SwSmartTagMgr.hxx>
#include <include <strings
#nclude </eleter.>
# s.hxx>
 vclsvapp.
#<.hxxjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
i viewoptjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
#include<//tartext/.hpp>
 <mturl>
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 22
#include<.hxx>
#include <java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 20
#.hxx>
#include <java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
#include <sectfrm  :::star:inguistic2java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
#include <rootfrm namespace::star:;
# ""
#include <noteurl.hxx>
#include "porfly.hxx"
#define CHAR_RIGHT_AR u\'
# "porrst.hxx"
#include HAR_TAB_RTLu'x2190'
#include "ortab.hxx"
java.lang.StringIndexOutOfBoundsException: Range [15, 8) out of bounds for length 20
#include# 2
#nclude pamhxx>
#nclude <.hxx>
#nclude <.hxx>
#include <docsh.hxx>
#include <      m_nDefTabStop)
#    ( false,
#include <vcl/gdimtf.hxx>
#nclude <vcl/virdev.hxx>
#include <vcl/gradient.hxx>
#include <i18nlangtag/{
#include <java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0

#include <view.hxx>
#include <rtsh.hxx>
#include <com/sun/star/text/XTextRange.hpp>
# <.>
#include <SwStyleNameMapper.hxx>
#include <unoprnms.    if(rTextNodeGetListTabStopPositionm_nListTabStopPosition java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
#include 
#include <unomap.hxx>
#include <names.hxx>
#nclude </unstar/awtFontSlantjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

using namespace ::comm_oRuler-Insert  )
using namespace ::om::un:star:l;
using namespace ::com::sun::star::uno;
java.lang.StringIndexOutOfBoundsException: Range [26, 5) out of bounds for length 40

              *)iGetTabPos)<m_nListTabStopPosition&
#define CHAR_RIGHT_ARROW u'\x25B6'
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 26
#define CHAR_TAB_RTL u'            
d'java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
#define CHAR_LINEBREAK_RTL u   =;i C) +java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60

#define DRAW_SPECIAL_OPTIONS_CENTER 1
#define DRAW_SPECIAL_OPTIONS_ROTATE(m_oRuler[]GetAdjustment =:Defaultjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74

SwLineInfo:                ;
    :        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
     m_nVertAlign ::lign::Automatic ),
      m_nDefTabStop( 0 ),
      m_bListTabStopIncluded(  m_nVertAlign  .etParaVertAlign.(;
      m_nListTabStopPosition( 0 )
{
}

SwLineInfo::}
{
}

void
const SwTextNode&rTextNode)
{
    m_oRuler.emplace( rAttrSet.GetTabStops() );
    if ( rTextNode.GetListTabStopPosition( java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 1
    {
         =true

        // insert the list tab stop into SvxTabItem instance <pRuler>
        constSvxTabStop aListTabStop m_nListTabStopPositionjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                                       SvxTabAdjust:Left);
        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5

        // remove default tab stops, which are before the inserted list tab stop
for(  =0;i  m_oRuler-Count) + )
        {
            if    ,(rInf.( 
                 
            {
                m_oRuler->Remove(i);
                continue
            }
        }
    }

    if ( !rTextNode.getIDocumentSettingAccess()        return
    {
        // remove default tab stop at position 0
          sal_uInt16i=0; i  -Count() i+ java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
        {
            if ( (*m_oRuler)[i].GetTabPos() == 0 &&
                 *m_oRuler[i]GetAdjustment() == SvxTabAdjust::Default )
            {
                m_oRuler->Remove(i);
                break;
            }
        }
    }

    m_pSpacestatic TextFrameIndex GetMinLen( const SwTextSizeInfo &rInf )
    m_nVertAlign{
    m_nDefTabStop = std::numeric_limits<    const TextFrameIndex nTextLen(rInf.GetText();
}

void SwTextInfo::CtorInitTextInfo( java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 24
{
    m_pPara = pFrame->GetParareturn std::(TextLen, nInfLen)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
>GetOffset(;
    if !m_pPara)
    
SAL_WARN(swcore, "SwTextInfo::CTOR: missing paragraph information");
        pFrame->Format(pFrame->getRootFrame()->,m_pRef(nullptr)
        m_pPara = pFrame->GetPara();
    }
}

SwTextInfo::SwTextInfo( const SwTextInfo &rInf )
    : m_pPara( const_cast<SwTextInfo&>(rInf).GetParaPortion() )
    , m_nTextStart( rInf.GetTextStart m_pFrame(nullptr)
{ }

#if , m_pOpt(nullptr

static void ChkOutDev( java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 11
{
    if(!rInf.GetVsh() )
        return;

    const OutputDevice* pOut = rInf.GetOut();
utDevice*pRef =rInfGetRefDev();
 m_bStopUnderflow(false)
}
#endif

static , m_bFootnoteInsidefalse)
{
    const TextFrameIndex nTextLen(rInf.java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 17
    if (rInf.GetLen()==TextFrameIndex(COMPLETE_STRING))
        return nTextLen;
    const falsejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    xtLen,nInfLen;
}

SwTextSizeInfo::SwTextSizeInfo()
:  false)
(nullptr
,m_pOut(ullptr
, m_nBreakWidth(()
, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
,m_pUnderFnt(nullptr)
, m_pFrame(nullptr)
, m_pOpt(nullptr)
, m_pText(    : SwTextInfo(rNew),
, m_nIdx(0)
, m_nLen(0)
easureLen(OMPLETE_STRING)
,m_nKanaIdx0)
, m_pOutconst_castSwTextSizeInfo>rNew).()java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 m_bNotEOL   ()
, m_bURLNotify(false)
,m_bStopUnderflowfalse)
, m_bFootnoteInside(false)
,       rNew.())
,m_bMulti()
, m_bFirstMultim_pOpt(rNew.GetOpt),
, m_bRuby(false)
, m_bHanging(      (rNew.()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
,m_bScriptSpacefalse)
,     (rNewGetMeasureLen))java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
,       .(),
, m_nDirection(0)
, m_nExtraSpace(0)
 (0)
{}

SwTextSizeInfo      m_bURLNotify(rNew.RLNotify) ,
    : SwTextInfo( rNew ),
      (rNew.())java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
m_pVsh(onst_castSwTextSizeInfo>rNew)()java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
      m_pOut(const_cast .IsOtherThanFootnoteInside))java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      m_pRef(onst_castS&>rNew).etRefDev()java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
      m_pFnt(      m_bHanging( rNew.( rNew.sHanging)),
      java.lang.StringIndexOutOfBoundsException: Range [34, 17) out of bounds for length 38
      m_pFramerNew._Frame)
      m_pOpt(&rNew.      m_bSnapToGrid( rNew()
ext()),
      m_nIdx(rNew.      m_nExtraSpace(.GetExtraSpace( ,
      m_nLen(rNew.GetLen()),
      m_nMeasureLen(NewGetMeasureLen()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
.GetKanaIdx() ),
      m_bOnWin( rNew.OnWin() ),
      m_bNotEOL( rNew.NotEOL    ChkOutDev(* );
      m_bURLNotify( rNew.URLNotify() ),
      java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1
      m_bFootnoteInside( rNew.IsFootnoteInside() ),
      m_bOtherThanFootnoteInside( rNew.void SwTextSizeInfo::CtorInitTextSizeInfo( OutputDevice:CtorInitTextSizeInfo *pRenderContext  *,
      m_bMulti( rNew.IsMulti() ),
      .IsFirstMulti))java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
       rNew.))
      ( rNew.sHanging))java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
          m_nBreakWidthm_nBreakWidth= ;
      m_bForbiddenChars( rNew.HasForbiddenChars  ;
      m_bSnapToGrid( rNew.SnapToGrid() ),
      (rNew.() ,
          SwDoc const & rDoc(_Frame>()
       rNewGetBreakWidth))
{
#if OSL_DEBUG_LEVEL > 0
    ChkOutDev *his ;
#endif
}

      pRenderContext;
           TextFrameIndex const nNewIdx)
{
    m_pKanaComp = nullptr;
    m_nKanaIdx =         m_bOnWin  >( |  = m_pOut>( |m_pVsh-i()java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
    m_nExtraSpace =0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
      0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    m_pFrame = pFrame;
 java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 33
SwDoc&m_pFrame-GetDoc);
    m_pVsh = m_pFrame->getRootFrame()-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 // Get the output and reference device
    if ( m_pVsh )
    {
        m_pOut = pRenderContext;
         ChkOutDev *this );
        m_bOnWin =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    else
    {
        // Access via StarONE. We do not need a Shell or an active one.if  m_pFrame-IsRightToLeft() )
        if (rDoc.    {
        {
            // We can only pick the AppWin here? (there's nothing better to pick?)->etLayoutMode( ::text:ComplexTextLayoutFlags::BiDiStrong | vcl::text::ComplexTextLayoutFlags::BiDiRtl );
m_pOut  Application:etDefaultDevice)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
               java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        else
            m_pOut = rDoc.getIDocumentDeviceAccess        m_pRef>etLayoutMode(vcl:text::omplexTextLayoutFlags:BiDiStrong);

            }
    }

#if java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
ChkOutDev(*this );
#endif

    // Set default layout mode ( LTR or RTL ).
    if (    /TODO: Unwind
    {
            SetSnapToGrid( m_pFrame->etTextNodeForParaProps)->()GetValue( &&
        m_pRef-SetLayoutMode(vcl:text:::BiDiStrong |vcl:text::: )
        m_nDirection =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    else
    {
        m_pOut->m_pText = &m_pFrame(;
            m_nIdx nNewIdx;
  m_nDirection  ;
    }

    // The Options

    m_pOpt = m_pVsh ?
           m_pVsh-> m_bMulti =m_bFirstMulti = m_bRuby = m_bHanging = m_bScriptSpace =
           SwModule::get()->GetViewOption(rDoc.java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 34

    // bURLNotify is set if MakeGraphic prepares it
    // TODO: Unwind
    m_bURLNotify =}

    SetSnapToGrid( m_pFrame->GetTextNodeForParaProps()->GetSwAttrSet
                                 m_pFrame-IsInDocBody() )

    m_pFnt = nullptr;
    m_pUnderFnt = nullptr;
    : SwTextInforNew )

    m_nIdx =      m_pVsh(const_castSwTextSizeInfo().GetVsh()java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
     =m_nMeasureLen  (COMPLETE_STRING;
    m_bNotEOL = false;
    m_bStopUnderflow = m_bFootnoteInside = m_bOtherThanFootnoteInside = false;
    m_bMulti = m_bFirstMulti = m_bRuby = m_bHanging = m_bScriptSpace =
        m_bForbiddenChars = false;

     GetMinLen *this ) )java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
}

SwTextSizeInfo::SwTextSizeInfo( const SwTextSizeInfo &rNew, const OUString* pText,
              TextFrameIndex const nIndex)
    :      m_pOpt&.()java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
      (New.()java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      (),
      m_pOut(const_cast<SwTextSizeInfo&>(rNew).GetOut()),
      m_pRef(const_cast<SwTextSizeInfo      m_nKanaIdx( rNew.GetKanaIdx() ),
      m_pFnt(const_cast<SwTextSizeInfo&>(rNew).GetFont()),
      m_pUnderFnt(      m_bOnWin( rNew.OnWin) ),
      m_pFrame( rNew.m_pFrame ),
      m_pOpt&rNew.GetOpt(),
      ( rNew.URLNotify) )java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      m_nIdx(nIndex      (rNewIsFootnoteInside))
m_nLen(COMPLETE_STRING),
      (rNew.() ,
       rNew.GetKanaIdx( ),
      m_bOnWin(rNew.nWin))
      m_bNotEOL(       (rNew.IsHanging) ),
      m_bURLNotify( rNew.URLNotify() ),
      m_bStopUnderflow .StopUnderflow() ,
      m_bFootnoteInside( rNew.IsFootnoteInside() ),
      ( rNewIsOtherThanFootnoteInside())java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      m_bMulti(rNew.( ,
      m_bFirstMultim_nDirection .GetDirection( ,
      (rNew.IsRuby()
      (rNew.( ,
      m_bScriptSpace( rNew.HasScriptSpace() ),
      if OSL_DEBUG_LEVEL 0
          ChkOutDev( * );
      m_nDirection    ( GetMinLen(* ))java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
      (rNew.))java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
      m_nBreakWidth(rNew.( )
{
#if OSL_DEBUG_LEVEL m_bOnWin()
{
#   CtorInitTextSizeInfo pTextFrame-getRootFrame)-GetCurrShell)>(,pTextFrame,nIndex)
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
}

SwTextSizeInfo::SwTextSizeInfo(SwTextFrame * pTextFrame,
            TextFrameIndex const nIndex)
         /In   pLastMethas it's value.
{
    CtorInitTextSizeInfo( pTextFrame->getRootFrame()->GetCurrShell()->GetOut(), pTextFrame, nIndex );
}

void SwTextSizeInfo::SelectFont()
{
     // The path needs to go via ChgPhysFnt or the FontMetricCache gets confused. :NoteAnimation)
//In   pLastMethas it'  value.
     // Wrong: GetOut()->SetFont( GetFont()->GetFnt() );
    GetFont)>()
    GetFont
}

void SwTextSizeInfo::NoteAnimation() const
{
    if( OnWin() )
        SwRootFrame::java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 1

    OSL_ENSURE( m_pOut == m_pVsh->GetOut(),
":NoteAnimation( changed m_pOut" )java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
}

java.lang.StringIndexOutOfBoundsException: Range [56, 14) out of bounds for length 66
                                     const SwScriptInfo* pSI,
                                     const OUString& rText,
                                     const TextFrameIndex nIndex,
                                       )const
{
    SwDrawTextInfo aDrawInf(,*,pSI ,nIndex ,
                            /*layout context*/ std::nullopt);
    (  ;
.SetFont m_pFnt )
    aDrawInf.aDrawInf.SetSnapToGridSnapToGrid))
    .(0 );
    return SwPositiveSize(m_pFnt->GetTextSize_( aDrawInf ));
}

SwPositiveSize
:GetTextSize(:optionalSwLinePortionLayoutContext )const
{
    const       =
const_cast<>GetParaPortion)-GetScriptInfo)java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83

    // in some cases, compression is not allowed or suppressed for
    // performance reasons
    sal_uInt16 nComp =( SwFontScript::CJK == GetFont()->GetActual() &&
                    rSI.CountCompChg() &&
                     IsMulti( ) java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                    GetKanaComp) :
                                0 ;

    SwDrawTextInfo GetKanaComp):
    aDrawInf.SetMeasureLen( java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 35
    aDrawInf.SetFrame( m_pFrame );
    aDrawInf.SetFont( m_pFnt );
    aDrawInf.SetSnapToGrid( SnapToGrid() );
    aDrawInf.SetKanaComp(     aDrawInf.SetMeasureLen( m_nMeasureLen);
   returnSwPositiveSize(m_pFnt-GetTextSize_( aDrawInf );
}

void SwTextSizeInfo::GetTextSize(const SwScriptInfoaDrawInf.etKanaComp nComp );
                                 const TextFrameIndex nLength,     SwPositiveSize(_Fnt>etTextSize_  ))
std::ptionalSwLinePortionLayoutContext ,
                                 const sal_uInt16 nComp, SwTwips& nMinSize,
                                 tools::Long& nMaxSizeDiff, SwTwips& nExtraAscent,
                                 ,
                                 vcl::text::TextLayoutCache const* const pCache) const
{
    SwDrawTextInfo aDrawInf(m_pVsh, *m_pOut, pSI, *m_pText, nIndex, nLength, nLayoutContext, 0,
                            false, pCache);
                                     SwTwips&nExtraDescent,
    aDrawInf.( m_pFnt );
    aDrawInf.SetSnapToGrid( {
    aDrawInf.SetKanaComp( nComp );
        SwDrawTextInfo aDrawInf(m_pVsh, *m_pOut, pSI, *m_pText, nIndex, nLength, nLayoutContext                            false, pCache);
    nMaxSizeDiff = aDrawInf.GetKanaDiff(    aDrawInf.SetFrame( m_pFrame );
    nExtraAscent = aDrawInf.GetExtraAscent();
    nExtraDescent=aDrawInf.GetExtraDescent();
    nMinSize = aSize.Width();
}

TextFrameIndex SwTextSizeInfo::GetTextBreak( const tools::Long nLineWidth,
     const  nMaxLen,
                                       const sal_uInt16 nComp,
                                       vcl:text:TextLayoutCache *constpCache)const
{
    const    nMaxSizeDiff =aDrawInf.GetKanaDiff();
                     const_cast<SwParaPortion*>(GetParaPortion())->GetScriptInfo();

    OSL_ENSURE(    nExtraAscent = aDrawInf.GetExtraAscent();
    SwDrawTextInfo aDrawInf    nExtraDescent =aDrawInf.GetExtraDescent();
                            /*layout context*/ std::nullopt, 0, false, pCache);
    aDrawInf.SetFrame( m_pFrame );
    aDrawInf.SetFont( m_pFnt );
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    aDrawInf  )
    aDrawInf.SetHyphPos                                       const TextFrameIndex nMaxLen

    return m_pFnt->GetTextBreak( aDrawInf, nLineWidth );
}

TextFrameIndex SwTextSizeInfo::GetTextBreak( const tools::Long nLineWidth,
                                       
                                       const sal_uInt16 nComp,
ameIndex rExtraCharPos,
                                       vcl::text::TextLayoutCache const
{
    const SwScriptInfo& rScriptInfo =
                     <SwParaPortion*>(etParaPortion()>etScriptInfo)java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83

    OSL_ENSURE(     aDrawInf.SetFrame(m_pFrame )
    SwDrawTextInfo aDrawInf(_,*,&rScriptInfo, *_,GetIdx) nMaxLen,
                            /*layout context*/ std::nullopt, 0, false, pCache);
    aDrawInf.SetFrame( m_pFrame );
    aDrawInf.SetFont( m_pFnt );
    aDrawInf.SetSnapToGrid(     .SetSnapToGrid(SnapToGrid) ;
    aDrawInf.SetKanaComp( nComp );
aDrawInf.(&ExtraCharPos;

    return m_pFnt->GetTextBreak( aDrawInf, nLineWidth 
}

booljava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    std::pair<SwTextNode const                                        TextFrameIndex ,
    return pos.first->                                 ,
}

                                       :ext::extLayoutCache const*const )const
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 1
    CtorInitTextSizeInfo( pRenderContext, ,TextFrameIndex0 );
    m_aTextFly.CtorInitTextFly( pFrame );
    m_aPaintRect = rPaintjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    m_nSpaceIdx =0
    m_pSpaceAdd  nullptr;
    m_pWrongList = java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    m_pGrammarCheckList=;
    m_pSmartTags = nullptr;
    m_pBrushItem = nullptr;
}

SwTextPaintInfo::SwTextPaintInfo( const SwTextPaintInfo &rInf, const OUString* pText )
    :SwTextSizeInfo rInf,pText )
    , m_pWrongList( rInf.GetpWrongList() )
    , m_pGrammarCheckList( rInf.GetGrammarCheckList() )
     m_pSmartTags( rInf.etSmartTags() )
    , m_pSpaceAdd( rInf.GetpSpaceAdd() ),
      m_pBrushItem( rInf.    aDrawInf.SetHyphPos( &rExtraCharPos
      m_aTextFly( rInf.    return m_pFnt->GetTextBreak(, nLineWidth )
      java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
      m_aPaintRect(rInf.GetPaintRect())java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
      m_nSpaceIdx( rInf    ::<SwTextNode const* > const (m_pFrame->apViewToModel();
{ }

SwTextPaintInfo::SwTextPaintInfo( const SwTextPaintInfo
    : SwTextSizeInfovoid SwTextPaintInfo::( *pRenderContext SwTextFrame *Frame,constSwRect& java.lang.StringIndexOutOfBoundsException: Index 118 out of bounds for length 118
    () )
    ,    m_aTextFly.CtorInitTextFly  );
    , m_pSmartTags( rInf.    m_nSpaceIdx =0;
    , m_pSpaceAdd( rInf.GetpSpaceAdd() ),
      m_pBrushItem(rInf.GetBrushItem() )java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
          m_pSmartTagsjava.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 27
      m_aPos(:(const SwTextPaintInfo&Inf const OUString*pText )
      m_aPaintRect( rInf.GetPaintRect() ),
      m_nSpaceIdx(     :SwTextSizeInfo rInf pText )
{ }

SwTextPaintInfo::SwTextPaintInfo( SwTextFrame *pFrame, const SwRect &rPaint )
{
    CtorInitTextPaintInfo( pFrame->getRootFrame()->GetCurrShell()->GetOut(), pFrame, rPaint     m_pSmartTags( rInf.GetSmartTags() )
}

namespace
{
/**
 the draw  on rDrawInfs output device for transparency
 *purposes.
 */

class PaintInfo::wTextPaintInfo(const SwTextPaintInfo&)
{
    ScopedVclPtrInstance<VirtualDevice m_aContentVDev  :: }java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
    GDIMetaFile     , m_pSmartTags( rInf.GetSmartTa java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    MapMode       ( )java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
SwRect ;
    SwTextPaintInfo ;
          m_nSpaceIdx( GetSpaceIdx))

public:
ntTextGuardconst & rPor,SwTextPaintInfo& ,
                           SwDrawTextInfo&    CtorInitTextPaintInfo -getRootFrame)>etCurrShell)>(,pFrame,rPaint );
    ~java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 9
};

SwTransparentTextGuard::SwTransparentTextGuard(const SwLinePortion& rPor,
                                               SwTextPaintInfo& rPaintInf, SwDrawTextInfo& rDrawInf)
    : m_aNewMapMode(rPaintInf. * purposes.
    , m_rPaintInf(rPaintInf)
    , m_rDrawInf(rDrawInf)
{
    rPaintInf.CalcRect(rPor, &m_aPorRect);
    rDrawInf.java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    m_aContentVDev    <VirtualDevice>m_aContentVDev {DeviceFormat:WITH_ALPHA}
    m_aContentMetafile.Record(m_aContentVDev.get());
    m_aContentVDev->SetLineColor(rPaintInf.GetOut()->GetLineColor());
    m_aContentVDev->SetFillColor(rPaintInf.GetOut()->GetFillColor())    MapMode m_aNewMapMode;
    m_aContentVDev->SetFont(rPaintInf.GetOut()    SwRect m_aPorRect;
    m_aContentVDev->SetDrawMode(rPaintInf.GetOut()->    SwTextPaintInfo& m_rPaintInf;
    m_aContentVDev->SetSettings(rPaintInf.GetOut()->GetSettings());
    java.lang.StringIndexOutOfBoundsException: Range [31, 18) out of bounds for length 67
}

SwTransparentTextGuard::~SwTransparentTextGuard()
{
    m_aContentMetafile.Stop(publicjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    m_aContentMetafile.WindStart();
    m_aNewMapMode.SetOrigin(m_aPorRect.TopLeft());
    m_aContentMetafile.SetPrefMapMode(m_aNewMapMode);
    m_aContentMetafile.SetPrefSize(java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 38
    m_rDrawInf.SetOut(*m_rPaintInf.GetOut());
    Gradient aVCLGradient;
    sal_uInt8 nTransPercentVcl = 255 - m_rPaintInf.GetFont()->GetColor().GetAlpha();
    const Color aTransColor(nTransPercentVcl, nTransPercentVcl, nTransPercentVcl);
    aVCLGradient.SetStyle(css::awt::GradientStyle_LINEAR);
    aVCLGradient.SetStartColor(aTransColor);
    aVCLGradient.SetEndColor(aTransColor);
    aVCLGradient.SetAngle(0_deg10);
    aVCLGradient.SetBorder(0);
    aVCLGradient.SetOfsX(0);
    aVCLGradient.SetOfsY(0);
    aVCLGradient.SetStartIntensity(100);
    aVCLGradient.SetEndIntensity(100);
    aVCLGradient.SetSteps(2);
    m_rPaintInf.GetOut()->DrawTransparent(m_aContentMetafile, m_aPorRect.TopLeft(),
                                          m_aPorRect.SSize(), aVCLGradient);
}
}

static lcl_IsFrameReadonly(SwTextFrame*pFrame)
{
    const SwFlyFrame* pFly;
    const SwSection* pSection;

    if( pFrame && pFrame->IsInFly())
    {
}
        if (pFly->GetFormat()->GetEditInReadonly}
        {
            conststatic  lcl_IsFrameReadonlySwTextFrame )
             ( & !pLower-IsNoTextFrame)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
             {
                return false{
            }
        }
    }
    // edit in readonly sections
    else (pFrame &pFrame-IsInSct()&java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        nullptr ! ( pSection =pFrame-FindSctFrame(-GetSection(  &
        pSection->IsEditInReadonlyFlag() )
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
         false;
    }

    return true;
}


 SwTextPaintInfo::DrawText_( const OUString &rText, const SwLinePortion &rPor,
                                TextFrameIndex const nStart, java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 5
                                java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
                                }
                                const
{
    if( !nLength )
        return;

    // The SwScriptInfo is useless if we are inside a field portion
    SwScriptInfo* pSI = nullptr;
    if                                boolbKern, const bool bWrong,
                                        const bool bSmartTag,

    // in some cases, kana compression is not allowed or suppressed for
    // performance reasons
    sal_uInt16 nComp = 0;        returnjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    if ( ! IsMulti() )
aComp()java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

    bool bCfgIsAutoGrammar        pSI= &GetParaPortion()->GetScriptInfo();
    SvtLinguConfig().GetProperty( UPN_IS_GRAMMAR_AUTO ) >>= bCfgIsAutoGrammar;
    const bool java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    bool bTmpWrong = bWrong && / performance reasons
    SfxObjectShell*  =m_pFrame-GetDoc().etDocShell(;
    if (bTmpWrong && pObjShell)
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if (pObjShell->java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            bTmpWrong = false;
    }

    const bool bTmpGrammarCheck = bGrammarCheck    bool bTmpWrong =bWrong &OnWin)& (.()
const bTmpSmart =bSmartTag & )&&!(.sPagePreview)& :Get(.IsSmartTagsEnabled(java.lang.StringIndexOutOfBoundsException: Index 122 out of bounds for length 122

    {
SwDrawTextInfo aDrawInf(_>()>etCurrShell() *, pSI,rText, nStart
                            java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

    aDrawInf.    const bool bTmpGrammarCheck& OnWin)& bCfgIsAutoGrammar & GetOpt).()

    const tools::Long nSpaceAdd = (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                             rPor.InNumberGrp() )     (_->etRootFrame)>(,*,pSI,rText,nStart,
    if ( nSpaceAdd )
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        // #i41860# Thai justified alignment needs some
        // additional information:
        aDrawInf.SetNumberOfBlanks( rPor.InTextGrp(                             rPor.InNumberGrp() ) ? 0 : GetSpaceAdd(/*bShrink=*/true);
                                    tatic_castconst SwTextPortion&(rPor).GetSpaceCnt( *this, nCharCnt ) :
                                    TextFrameIndex    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    }

    aDrawInf.SetSpace( nSpaceAdd );
    aDrawInfSetKanaComp(nComp)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34


    aDrawInf< java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 108
                                    ();
    aDrawInf.SetFrame( GetTextFrame() );
    // we have to know if the paragraph should snap to grid
    aDrawInf.    aDrawInf.SetSpace ;
    // for underlining we must know when not to add extra space behind
    // a character in justified mode
    aDrawInf.(!rPorGetNextPortion) |
                             rPor.GetNextPortion()->InFixMargGrp() ||
                             rPor.GetNextPortion()->IsHolePortion() );

    // Draw text next to the left border
    Point aFontPos(m_aPos);
    if( m_pFnt->/java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    {
        const  =m_pFnt-GetLeftBorderSpace;
        if ( GetTextFrame()->IsRightToLeft() )
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            aFontPos.AdjustX( -nLeftBorderSpace );
       java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        else
        {
switch m_pFnt>GetTextFrame)>IsVertical()get))
            {
                case 0 :
aFontPosAdjustXn )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
                    break;
                case 900 :
                    aFontPos.AdjustY( -java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 46
                    break;
                case 1800 :
                    aFontPos.AdjustX( -nLeftBorderSpace );
                    break;
                case 2700 :
                    aFontPos.            (m_pFnt-(GetTextFrame(->sVertical).et
                    break;
            }
        }
        if( aFontPos.X() < 0 )
            aFontPos.setX( 0 );
        if( aFontPos.Y() < 0 )
            aFontPos.setY( 0 );
    }

 if necessary
    std::unique_ptr<                    break
    if (m_pFnt->GetColortaFontPos.djustY( )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        // if drawing to a backend that supports transparency for text color, then we don't need to use this
        if (!m_bOnWin ||             aFontPossetX  ;
            pTransparentText.reset(new java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 30
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    if( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
 needstobethe , because wecannot calculate the
        // ClipRects otherwise
constPoint aPoint(aFontPos.X() aFontPos.Y( -rPor.java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 30
        const Size aSize( rPor.Width(), rPor        const SizeaSize(rPor.Width() .Height))
        aDrawInf.SetPos( aPoint         SetSize  )
       SetSize(aSize)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        SetAscent(.());
aDrawInfSetKern ?rPor.( :0 )java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        aDrawInf.SetWrong( bTmpWrong? m_pWrongList : nullptr)
        aDrawInf.SetGrammarCheck( bTmpGrammarCheck ? m_pGrammarCheckList : nullptr );
        aDrawInfSetSmartTags   m_pSmartTags :nullptr);
        GetTextFly().DrawTextOpaque( aDrawInf );
    }
    else
    {
        aDrawInf.SetPos    else
        if( bKern )
            m_pFnt->DrawStretchText_( aDrawInf );
        else
        {
nf.SetWrong(bTmpWrong ? m_pWrongList : nullptr );
            aDrawInf.SetGrammarCheck( bTmpGrammarCheck ? m_pGrammarCheckList : nullptr );
            aDrawInf.SetSmartTags( bTmpSmart ? m_pSmartTags : nullptr );
            m_pFnt->DrawText_( aDrawInf );
        }
    }
}

void SwTextPaintInfo::CalcRect( const             .SetSmartTags( bTmpSmart  m_pSmartTags : nullptr );
                               SwRect* pRect,         
                               java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
{
     (rPorWidth(, .( )
    if( rPor.IsHangingPortion() )
        .etWidth(static_cast<onstSwHangingPortion>rPor.())
    if( rPor.InSpaceGrp() && GetSpaceAdd() )
    {
        SwTwips java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
        if( rPor.if( rPor.IsHangingPortion() )
            nAdd += GetSpaceAdd() / SPACING_PRECISION_FACTORrPor)GetInnerWidth() );
        aSize.AdjustWidth(nAdd );
    }

    Point aPoint;

    if( IsRotated  =CalcSpacing () this;
    {
       :L   aSize(;
        aSize.setWidth( aSize.Height(nAdd+  java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
         aPoint
        if ( 1 == java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 21
        {
aPoint.(X) -rPor.GetAscent))java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
aPoint.(Y)  aSize.() );
        }
        else
        {
            aPoint.setX( X() - rPor.       {
            setY(Y( )
        }
    }
    else
    {
        aPoint.setX( X            .setX X(  rPor.( +rPor.() ;
        if (GetTextFrame            aPoint.(Y())
            aPointjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

            aPoint.setY(aPoint.(Y( -rPor.)+rPor.()
    }

    // Adjust x coordinate if we are inside a bidi portion
    const     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    const bool bCounterDir = ( !bFrameDir  constboolbFrameDir  ()-()
                             (  bFrameDir && DIR_LEFT2RIGHT == GetDirection() );

    if ( bCounterDir )
        aPoint.AdjustX( -(aSize.Width()) );

    SwRect aRect( aPoint,    if  bCounterDir )

    if ( GetTextFrame()->IsRightToLeft() )
        GetTextFrame()>SwitchLTRtoRTL( aRect )

    if ( GetTextFrame    if  GetTextFrame)>())
        GetTextFrame()->SwitchHorizontalToVertical( aRect );

    if( bInsideBox    
    {
        const bool bJoinWithPrev =
            static_cast<onst SwTextPortion&>(rPor.();
        const bool bJoinWithNext =
            static_cast<    ( bInsideBox & rPor.())
        const bool bIsVert =  
 GetTextFrame(->sVertLRBT(java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
()->(SvxShadowItemSide:TOP, ,bIsVertLRBTjava.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
                                               bJoinWithPrevconst bool  =
::BOTTOM, bIsVert, bIsVertLRBT,
                                                  bJoinWithPrev, bJoinWithNext));
aRectAddLeft( (-CalcShadowSpaceSvxShadowItemSide:EFT ,bIsVertLRBT,
                                                bJoinWithPrev, bJoinWithNextconst  bIsVertLRBT=GetTextFrame(->(;
        .AddRight( -GetFont(-CalcShadowSpaceSvxShadowItemSide:,bIsVert,bIsVertLRBT
                                                 bJoinWithPrev bJoinWithNext);
    }

    if  pRect java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        *pRect = aRect;

    if( aRect.HasArea() && pIntersect )
    {
        ::SwAlignRect( aRect, GetVsh(), GetOut() );

        if (                                                  bJoinWithPrev,bJoinWithNext)
        {
    if (pRect)
            aRect        *Rect=aRect;
        }

        *pIntersect = aRect;
    }
}

/**
 * Draws a special         ::SwAlignRect( aRe,GetVsh(,GetOut() 
 *.g.: line break ,tab portion
 *
*@aram rPor The portion
 * @param rRect/
 *@param rCol Specify a color for the character
 * @param bCenter Draw the character centered, otherwise left aligned
 * @param bRotate Rotate the character if character  *
 */

static void lcl_DrawSpecial( const SwTextPaintInfo*@rCola for 
                      SwRect& rRect, const Color& rCol, sal_Unicode*@aram bCenterDraw thecentered leftaligned
                      sal_uInt8 nOptions )
{
 &DRAW_SPECIAL_OPTIONS_CENTER
    bool bRotate = 0 != ( nOptions & DRAW_SPECIAL_OPTIONS_ROTATE );

*/
 (rTextPaintInfoGetTextFrame-IsRightToLeft))
        rTextPaintInfo.GetTextFrame()->SwitchRTLtoLTR( rRect );
    if ( rTextPaintInfo.GetTextFrame()->IsVertical() )
        rTextPaintInfo.GetTextFrame()->java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 1

    const SwFont*     // rRect is given  coordinates

    // Font is generated only once:
    static SwFont s_aFnt = [&]()
    {
        SwFont tmp( *pOldFnt );
        tmp.SetFamily( FAMILY_DONTKNOW, tmp.GetActual() );
        tmp.SetName( numfunc::     (rTextPaintInfoGetTextFrame)>IsVertical( java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        tmp.SetStyleName(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        tmp.SetCharSet( RTL_TEXTENCODING_SYMBOL, tmp.GetActual() );
        return tmp;
    }();

    // Some of the current values are set at the font:
     )
        s_aFnt.SetVertical( 0_deg10, java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 5
    else
        .( pOldFnt-GetOrientation( ;

    s_aFnt.SetColor(rCol);

        .SetStyleName((),tmpGetActual))java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

    SwTextPaintInfo& rNonConstTextPaintInfo =    };

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        if ( ! bRotate )  ! java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    .GetTextFrame()->sVertical)java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
    SwTwips nMaxWidth;
ifnDir=900_ |nDir = 2700_eg10
        nMaxWidth = rRect.Height(
    else
    {
        assert( = 0_eg10);//Unknown direction set at font
        nMaxWidth = rRect.Width();
    }

    // check if char fits into rectangle
      aTmp( cChar );
    aFontSize = rTextPaintInfo.GetTextSize( aTmp ).SvLSize();
    while ( aFontSize.Width() > nMaxWidth )
    {
        SwTwips nFactor = ( 100 *
        const SwTwips nOldWidth =aFontSize.Width(;

        // new height for font
        const SwFontScript nAct = s_aFnt.GetActual();
        aFontSize.setHeight(    SwTwips nMaxWidth;
        aFontSize.setWidth( ( 100 * s_aFnt.GetSize    if nDir= 900_   =2700d)

        if ( ! {
            break;

        s_aFnt.SetSize( aFontSize, nAct );

        aFontSize = rTextPaintInfo.GetTextSize( aTmp java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        if(aFontSize.Width( = nOldWidth)
            break;
    }

    const Point aOldPos( rTextPaintInfo.GetPos() );

    / adjust values so tabis  and horizontally centered
    SwTwips nX = rRect.Left();
    SwTwips nY = rRect.Top();
    switch (         SwTwips =(100  )  java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 66
    {
    0java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        if ( bCenter )
            nX += ( rRect        .setWidth    GetSize )Width()/ ;
        nY += ( rRect.         ( aFontSizeWidth( & aFontSize.()java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        break;
    case 900 :
        if(bCenter)
            nX += ( rRect.Width() - aFontSize.Height            
        nY += ( rRect.Height() + aFontSize. break;
        break;
    case 2700 :
        if ( bCenter )
            nX += (     java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        break;
}

    Point aTmpPos( nX, nY );
    rNonConstTextPaintInfo.SetPos(    switch (nDir.())
    SwTwips nOldWidth = rPor.Width    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if  bCenter java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    rTextPaintInfo.DrawText( aTmp, rPor              =(rRect.Width() .Width( )/2;
    const_cast<SwLinePortion&>(        nY += ( rRect.Height() - aFHeight)) /2  .(;
    break
    case900 :
}

void         =(rRect.Height( +aFontSizeWidth())/2;
{
      OnWin) ||!Retouche)
    {
        if( m_aTextFly.IsOn() )
            const_cast<SwTextPaintInfonX+((+.))/2-(
                DrawFlyRect( m_pOut,         =(rRect.(  aFontSize.idth))/ 2java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        else
m_pOut>DrawRect .())java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    }
}

void SwTextPaintInfo    <SwLinePortion&>()Width(FontSize.idth(;
{
if !( java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
        return;

    SwRect aRect.etPos  ;
    CalcRect( rPor, &aRect 

    if ( ! java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
        return;

    const sal_Unicode cChar = GetTextFrame()->IsRightToLeft() ? CHAR_TAB_RTL : CHAR_TAB;
     sal_uInt8 nOptions =DRAW_SPECIAL_OPTIONS_CENTER | DRAW_SPECIAL_OPTIONS_ROTATE;

    lcl_DrawSpecialjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
}

void SwTextPaintInfo:
{
    if( !OnWin() )
        return;

    SwRect
     ,& ;
    {
        const auto& rBreakPortion =        
             sal_Unicode cChar  GetTextFrame(-IsRightToLeft( ?CHAR_TAB_RTL :CHAR_TAB;
    constsal_uInt8 nOptions = DRAW_SPECIAL_OPTIONS_CENTER | DRAW_SPECIAL_OPTIONS_ROTATE;

    SwTwips nOldWidth = rPor.Width(Rect,SwViewOption:GetCurrentViewOptions().GetNonPrintingCharacterColor),cChar nOptions );
    const_cast<SwLinePortion&>(rPor).}

java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
(,)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29

    (HasAreajava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
{
        const sal_Unicode cChar =         eClear  .GetClear)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
                                  java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 37
         sal_uInt8nOptions=0

        SwRect ;
        if (eClear == SwLineBreakClear:    (rPor,a )java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
            aTextRect.AddLeft(30);

            aTextRect. CHAR_LINEBREAK_RTL  CHAR_LINEBREAK
        const sal_uInt8 =0;

        if (Clear! :)
        {
            // Paint indicator if this clear is left/right/all.
            m_pOut-aTextRect.(30);
            m_pOut->        (= ::IGHT || eClear == SwLineBreakClear::ALL)
            if (eClear != SwLineBreakClear::RIGHT)
               java.lang.StringIndexOutOfBoundsException: Index 137 out of bounds for length 137
            if::LEFT)
                m_pOut->DrawLine(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 9
            m_pOut->Pop();
        }
    }

    const_cast<SwLinePortion&>(rPor).Width(             -SetLineColor(SwViewOption:GetCurrentViewOptions)GetNonPrintingCharacterColor);
}

void SwTextPaintInfo:rawRedArrow const  &rPor)const
{
AL_FONT_HEIGHT );
    SwRect aRect(                 m_pOut(BottomRight) aRect.();
    sal_Unicode cChar;
    if( static_cast<const SwArrowPortion
    {
aRectPos(.( -GetAscent());
        aRect.Pos().AdjustX(20 );
        if( aSize.Height() > rPor.Height() )
            aRect.Height( rPor.void SwTextPaintInfo::DrawRedArrow( c rPor  
        cChar = CHAR_LEFT_ARROW;
    }
    else
    {
if aSize.(  rPor.( )
            aRect.Height( rPor     cChar
        .os)(-aRect.eight)+20 )
        aRect.Pos().AdjustX( -(aRect.Width() +     {
        cChar = CHAR_RIGHT_ARROW;
    }

    if ( GetTextFrame()    }
        GetTextFrame()->SwitchHorizontalToVertical( aRect );

    if( aRect.HasArea()         ( .Height( >rPor.Height() )
    {
        const sal_uInt8        .(.AdjustY(-aRect.eight(  20))java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        lcl_DrawSpecial( *this, rPor, aRect,        cChar = CHAR_RIGHT_ARROW;
    }
}

void SwTextPaintInfo::DrawPostIts(    if (GetTextFrame()->IsVertical() )
{
    ( OnWin)| !m_pOpt-IsPostIts) )
        return;

    Size aSize;
    Point aTmp;

    const SwTwips         lcl_DrawSpecial(*,rPor,, )
    const java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
    const sal_uInt16 nFontAscent = m_pFnt

    switch ( m_pFnt->GetOrientation( GetTextFrame()-        return;
    {
    case     aSize
SizesetWidth nPostItsWidth);
        aSize.setHeight( nFontHeight
        ( m_aPos.X())java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
        aTmp( m_aPos.Y( -nFontAscent );
        break;
    case 900 :
        aSize );
        aSize.setWidth(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        aTmp.setX(m_aPos.X() - nFontAscent );
        aTmp.setY( m_aPos.Y() );
        break;
    case 2700 :
        aSizesetHeight(  )java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        aSize.setWidth( nFontHeight );
        aTmp.setX( m_aPos.X() - nFontHeight +
                              nFontAscent );
        aTmp.setY( m_aPos.Y() );
        break;
    }

 aSize )

    if ( GetTextFrame)>IsRightToLeft() )
        GetTextFrame()->SwitchLTRtoRTL( aTmpRect );

    if ( GetTextFrame()->IsVertical
        GetTextFrame)->witchHorizontalToVertical( aTmpRect );

    GetOpt().PaintPostIts( ostItsWidth )java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

}

void                      );
{
    SwRect aIntersect
    CalcRect( rPor, &java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 5
if(!IntersectHasArea())
        return;

tOpt.()&&
            !GetOpt().IsPagePreview())
    {
        OutputDevice* pOut = java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
        pOut->Push( vcl::    if ( GetTextFrame()->IsVertical
        if( m_pFnt>etHighlightColor =COL_TRANSPARENTjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
                GetOpt(.( <OutputDevice>GetOut() , bScript;
        else
            pOut->java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 1
        pOut>SetLineColor()java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        pOut->DrawRect( aIntersect.java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 22
        pOut>Pop(;
    }
    const int delta = 25;
    tools::Rectangle r(aIntersect.Leftjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    m_pOut->( vcl:PushFlags:  vcl:PushFlags:FILLCOLOR;
    m_pOut->SetLineColor( Color(java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    m_pOut->SetFillColor();
   -D(r);
    if (bChecked)
    {
m_pOut-(r.(, r.BottomRight);
        m_pOut->DrawLine(r.TopRight(), r.BottomLeft());
    }
    m_pOut->Pop();
}

void SwTextPaintInfo::DrawBackground( constpOut-DrawRect aIntersect( )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
{
    OSL_ENSURE( OnWin(), "SwTextPaintInfo::DrawBackground: printer pollution    tools:Rectangle r(aIntersect.()delta, aIntersect.)delta,aIntersect.Right(-, .(-)java.lang.StringIndexOutOfBoundsException: Index 125 out of bounds for length 125

    SwRect aIntersect;
        m_pOut-java.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 26

    if ( !aIntersect.        -java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 55
         >(;

    OutputDevice* pOutvoid:(  &Por Color*  
    pOut-{

    if ( pColor )
        pOutCalcRect ,, &  )
    else
 pOut>SetFillColor )GetFieldShadingsColor()java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63

    pOut->SetLineColor();

    DrawRect(pOut>(vcl:ushFlags: |vcl::FILLCOLOR)
    pOut-
}

void         -SetFillColor pColor )
{
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        SwRect aIntersect;
        CalcRect( rPor, &aIntersect, nullptr, true );
        if(aIntersect.HasArea())
        {
            SwPosition const aPosition(m_pFrame->   DrawRect( aIntersect, true );
            const ::sw: -Pop(;
                m_pFramejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
boolbIsStartMark =(TextFrameIndex() = (java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                    && CH_TXT_ATR_FIELDSTART ==    {
            if(        CalcRect( rPor,, nullptr,true ;
                SAL_INFO("sw.core", "        {
            }
            if(bIsStartMark)
                SAL_INFO("sw.core"             ::mark:MarkBase*pFieldmark=
            if (OnWin() >()getIDocumentMarkAccess)>getInnerFieldmarkFor(Position);
                    )IsFieldShadings)&
                    !GetOpt().IsPagePreview())
           {
                OutputDevice* pOutDev = const_cast<OutputDevice*>(GetOut());
                pOutDev->Push( vcl::                SAL_INFO("sw.core", "Found Fieldmarkswcore" Found   p>);
               pOutDev-SetFillColor(GetOpt().GetFieldShadingsColor() );
                pOutDev->SetLineColor( );
                pOutDev->DrawRect( aIntersect.SVRect() );
                pOutDev->Pop();
            }
        }
    }

SwRectaIntersect;
    CalcRect(                    GetOpt().()

          java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 76
        return

OutputDevice* pTmpOut  <*>(GetOut();

    // #i16816# tagged pdf support
    SwTaggedPDFHelper aTaggedPDFHelper                >(aIntersect.VRect))java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

    Color aFillColor;

    if(    SwRectaIntersect;
    {
        aFillColor =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    else
    {
if !pFnt-GetBackColor( java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
            return;    /## tagged support
aFillColor=m_pFnt>)
    }

    pTmpOut(-GetHighlightColor=java.lang.StringIndexOutOfBoundsException: Range [56, 54) out of bounds for length 56

    if    
        pTmpOut->SetFillColor();
    else
        pTmpOut>(FillColor
    pTmpOut->SetLineColor();

    DrawRect( aIntersect, false );

    pTmpOut->Pop();
}

void        >(;
{
    SwRect aDrawArea;
    CalcRect( rPor, &aDrawArea );
    if ( aDrawArea.HasArea    pTmpOut>(;
    {
        PaintCharacterBorder(*m_pFnt, aDrawArea, GetTextFrame(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                             GetTextFrame()->IsVertLRBT(), java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                             rPor.GetJoinBorderWithNext());
    }
}

namespace {

bool HasValidPropertyValue(   if( aDrawArea.HasArea() )
{
    if (bool bValue; rAny    {
    {
        return true;
    }
    else if (OUString aValue;                             rPorGetJoinBorderWithNext()java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    {
        return
    }
    else ifbool (constuno:Any )
    {
         true;
    }
    else if (tools::Long nValueLong; rAny >>= nValueLong)
{
        return true;
    }
      doublefValue  > )
    {
        return true;
    }
    else if (short nValueShort; rAny     if(awt:FontSlant eValue; rAny>>= eValue)
    {
        return true;
    }
    else
        return false}
}
}

void SwTextPaintInfo::DrawCSDFHighlighting(const SwLinePortion        returntruejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
{
    {
    // documents.
    SwView* pView = SwTextFrame::GetView();
    if (!pView)
        return;

    if (!pView{
        return;

    SwRect aRect;
    CalcRect(rPor, &aRect, nullptr,    else
    if(!aRect.HasArea())
        return;

    SwTextFrame* pFrame = const_cast<SwTextFrame*>}
    if (!pFrame
        return;

    SwPosition aPosition(pFrame->MapViewToModelPos{
    SwPosition aMarkPosition(Frame->apViewToModelPosGetIdx()+GetLen())

    rtl::  SwTextFrame(java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
:java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 93

    SwRect;
   -(""_str > ;

    std::optional<OUString> java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
    std::optional<Color> aFillColor;

    // check for CS formatting, if not CS formatted check for direct character formatting
ifsCurrentCharStyle()
    {
        UIName sCharStyleDisplayName = SwStyleNameMapper     aMarkPositionpFrame>apViewToModelPos(  GetLen))
                                                             SwGetPoolIdFromName::ChrFmt);
        if (comphelper                SwXTextRange:(-GetDoc(,,&MarkPosition);
        {
            // For simplicity in kit mode, we render in the document "all styles" that exist
            * pCharFormat =pFrame-(.(sCharStyleDisplayNamejava.lang.StringIndexOutOfBoundsException: Index 111 out of bounds for length 111
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
                /Dothis so theseare  across views regardless of an individual
                // user's selection mode in the style panel.
                sCSNumberOrDF =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                aFillColor = ColorHash(sCharStyleDisplayName.toString());
            }
        }
        else
        {
             (sCharStyleDisplayNameisEmpty)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
            {
                StylesSpotlightColorMap& rCharStylesColorMap = pView->GetStylesSpotlightCharColorMap();
                auto it = rCharStylesColorMap.find(sCharStyleDisplayName.        {
                if (it != rCharStylesColorMap.end())
                {
{
                    aFillColor = it->second.first;
                }
            }
        }
    }
    // not character style formatted
java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 40
    {
        const std::vector        else
                    UNO_NAME_PARA_IS_NUMBERING_RESTART,
                    UNO_NAME_PARA_STYLE_NAME,
                    UNO_NAME_PARA_CONDITIONAL_STYLE_NAME,
                    UNO_NAME_PAGE_STYLE_NAME,
                    UNO_NAME_NUMBERING_START_VALUE,
                    UNO_NAME_NUMBERING_IS_NUMBER,
                    ,
                    UNO_NAME_CHAR_STYLE_NAMEif( =java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 52
                    
                    UNO_NAME_SORTED_TEXT_ID,
                    ,
                    java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 17
                    UNO_NAME_CHAR_COLOR_TINT_OR_SHADE };

        SfxItemPropertySet const& java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 36
                    *    else if (pView->IsHighlightCharDF)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        SfxItemPropertyMap        const std::ector<OUString> aHiddenProperties UNO_NAME_RSID,


        > aProperties
                = xRange->getPropertySetInfo()->getProperties();

: aProperties)
        {
            const OUString& rPropName = rProperty.Name;

            if (!rMap.hasPropertyByName(rPropName))
                continue;

            if (                    java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 64
! java.lang.StringIndexOutOfBoundsException: Range [44, 40) out of bounds for length 47
                continue;

                     ;
            {
                const         SfxItemPropertyMap&r.()java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
                if (        const uno::Sequenceuno:<:Property 
                {
                    sCSNumberOrDF = SwResId(STR_CHARACTER_DIRECT_FORMATTING_TAG);
                    aFillColor = COL_LIGHTGRAY;
                    
                }
            }
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }
     (CSNumberOrDF
    {
        OutputDevice* pTmpOut = const_cast<OutputDevice*>(GetOut());
        pTmpOut->Push(::PushFlags:LINECOLOR | vcl::PushFlags:FILLCOLOR
                      | vcl::PushFlags::                    = aHiddenProperties.end())

        // draw a filled rectangle at the formatted CS or DF text
        pTmpOut->SetFillColor(aFillColor.java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0
        pTmpOut-(aFillColor.value();
        tools::Rectangle aSVRect(aRect.SVRect());
        pTmpOut->DrawRect(aSVRect);

        // calculate size and position for the CS number or "df" text and rectangle
        tools::Long nWidth =                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        tools::Long nHeight = pTmpOut->                    =COL_LIGHTGRAY;
        aSVRect.SetSize(Size(nWidth, nHeight));
        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 13

        vcl::Font aFont(pTmpOut->java.lang.StringIndexOutOfBoundsException: Range [0, 40) out of bounds for length 5
        aFont.SetOrientation(Degree10(0));
        pTmpOut->etFont(Font);

        pTmpOut->SetLayoutMode(vcl::text::ComplexTextLayoutFlags::TextOriginLeft);
tMode(vcl::text::ComplexTextLayoutFlags::BiDiStrong);

        pTmpOut->SetTextFillColor(aFillColor.value());
                // draw   the CS  

(
         : aSVRect(.()java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
}

void SwTextPaintInfo::DrawViewOpt( const         :: nWidth  pTmpOut>(.alue));
                                   PortionType nWhich        :   pTmpOut->etTextHeight();
{
    if( !OnWin()        aSVRect.Move-(Width  1.),-nHeight / 1.5);
        return;

    bool bDraw = false;
    if ( !GetOpt().IsPagePreview()
         &&!GetOpt(.IsReadonly( java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    {
        switch( nWhich )
        {
        case PortionType::Tab:
            if ( GetOpt().IsViewMetaChars() )
                pTmpOut->SetTextFillColor(aFillColor.value());
            break;
        case PortionType
            if ( GetOpt
                bDraw =
            break;
case:::
            if ( GetOpt().IsViewMetaChars() )
                bDraw = GetOpt().IsHardBlank();
            break;
        case PortionType::ControlChar:
            if ( GetOpt().IsViewMetaChars() )
                bDraw = true;
            break;
        case PortionType::Bookmark:
            // no shading
            break;
       case PortionType:Footnote
        case PortionType::java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 9
        case PortionType:Number
        case PortionType::Hidden:
        case PortionType::Tox:
        case PortionType::Ref:
        case PortionType::Meta:
        case PortionType::ContentControl:
        case PortionType::Field:
        :
            // input field shading also in read-only mode
(etOpt(.(
                &&             (GetOpt)IsViewMetaChars( java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
                    || java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 18
            {
                bDraw = PortionType::Footnote != java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 18
             case ::Footnote:
            breakjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
        defaultjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
            {
                OSL_ENSURE( false, "SwTextPaintInfo::DrawViewOpt:         PortionType::Tox:
                break;
            }
        }
    }

    if ( bDraw )
        DrawBackground( rPor, pColor );
}

void SwTextPaintInfo::NotifyURL_(const SwLinePortion& rPor) const
{
    assert(pNoteURL)

    SwRect aIntersect;
    CalcRect(rPor, nullptr, &aIntersect)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

    if (aIntersect.HasArea())
    {
        SwTextNode* pNd = const_cast<SwTextNode*>(                OSL_ENSURE( false, "SwTextPaintInfo::DrawViewOptt how  draw ;
        SwTextAttr* const pAttr = pNd->GetTextAttrAt(sal_Int32(GetIdx()),                 break;
        if (pAttr)
        {
            const SwFormatINetFormat& java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 16
            pNoteURL->InsertURLNote(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        }
        else java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1
        {
            if (auto* java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 29
            {
                ())
                {
                     (auto* pFormat =pFlyFtame->GetFormat())
                    {
                        auto& url = pFormat->GetURL(); // TODO: url.GetMap() ?
pNoteURL>(url()url.,;
                    }
                }
            }
        }
    }
}

static ( PropertyValues&Vals,
            sal_Int16 nMinLeading, sal_Int16 nMinTrailing,
            bool bNoCapsHyphenationrtion = dynamic_cast<const sw::FlyContentPortion*>(&rPor))
            sal_Int16 nMinWordLength, sal_Int16 java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 13
            , sal_Int16 nTextHyphZoneAlways)
{
    sal_Int32 nLen = rVals.getLength();

    if 0 = nLen)  // yet to be initialized?
    {
        rVals.realloc( 11 );
        PropertyValue *pVal = rVals.getArray();

        pVal[0].Name                    }
        pVal[0].Handle  = java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 17
        pVal[0].Value}

        pVal[1].Name    = java.lang.StringIndexOutOfBoundsException: Range [0, 47) out of bounds for length 1
        pVal[1].Handle  = UPH_HYPH_MIN_TRAILING;
        pVal[1].Value   <<= nMinTrailing;

        [2.     UPN_HYPH_NO_CAPS;
        pVal[2]             bNoCapsHyphenation  bNoLastWordHyphenation,
        pVal[2].Value   <<= bNoCapsHyphenationbKeepLinejava.lang.StringIndexOutOfBoundsException: Range [59, 57) out of bounds for length 90

        pVal[3].Name    = UPN_HYPH_NO_LAST_WORD;
        pVal[3].Handle  = java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 28
pVal]Value<=bNoLastWordHyphenation;

       []=UPN_HYPH_MIN_WORD_LENGTH;
        pVal[4].Handle  = UPH_HYPH_MIN_WORD_LENGTH;
        pVal[4].Value   <        pVal0.   ;

pVal5.ame=;
         pVal[]Handle=;
pVal5< ;

        pVal[6].Name    = UPN_HYPH_KEEP_TYPE;
        pVal[6].Handle  = 2].Value   <<= bNoCapsHyphenatio
        pVal[6].Value   <<=         3.    =3].Handle  = UPH_HYPH_NO_LAST_WORD

        pVal[7].Namejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        pVal[7].Handle  = UPH_HYPH_COMPOUND_MIN_LEADING;
        pVal[7].Value   <<= nCompoundMinLeading;

        pVal[8].Name    = UPN_HYPH_KEEP;
        pVal[8].Handle  =         pVal[5].Name    = UPN_HYPH_ZONE
        [Value<<= bKeep;

        pVal[9].Name    = UPN_HYPH_KEEP_LINE;
        pVal[9].Handle  = UPH_HYPH_KEEP_LINE;
        pVal[9].Value   <<= bKeepLine;

        pVal[10].Name    = UPN_HYPH_ZONE_ALWAYS;
        pVal10]Handle = UPH_HYPH_ZONE_ALWAYS;
        pVal[10].Value   <<= nTextHyphZoneAlways;
    }
     initialized once?
    {
        .getArray()
        pVal[].Value<=nMinLeading;
        [1. << ;
        pVal[2].Value <<= bNoCapsHyphenation;
        pVal[3].Value <<= pVal[8].Handle  = UPH_HYPH_KEEP;
        pVal[4        []   < java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        pVal[5].Value <<= nTextHyphZone;
        pVal[6].Value <<= nKeepType;
        pVal[7].Value <<= nCompoundMinLeading;
        pVal[8].Value <<= bKeep;
        pVal[9].Value <<= bKeepLine;
        pVal[10].Value <<= nTextHyphZoneAlways;
    }
    else {
       OSL_FAIL( "unexpected size of sequence" );
    }
}

const PropertyValues & SwTextFormatInfo::GetHyphValues() const    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{
    OSL_ENSURE( 11 == m_aHyphVals.getLength(),
            "hyphenation values not yet initialized" );
    return m_aHyphVals;
}

::InitHyph(const  bAutoHyphen)
{
    const SwAttrSet& rAttrSet = GetTextFrame()->GetTextNodeForParaProps()->GetSwAttrSet();
    SetHanging( rAttrSet.GetHangingPunctuation().GetValue() );
    SetScriptSpace( rAttrSet        [].alue <= nTextHyphZone;
    SetForbiddenChars( rAttrSet.GetForbiddenRule().GetValue() );
const & =rAttrSet.();
    MaxHyph() = rAttr.GetMaxHyphens();
     bool bAuto =bAutoHyphen| rAttr.IsHyphen(;
    if( bAuto || m_bInterHyph )
    {
        const sal_Int16 nMinimalLeading  = std::max(rAttr.GetMinLead(), sal_uInt8(2));
        const sal_Int16 nMinimalTrailing    }
constsal_Int16  =rAttrGetMinWordLength()java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
        const bool bNoCapsHyphenation = rAttr.IsNoCapsHyphenation();
        const java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 1
        e();
        const sal_Int16 nTextHyphZoneAlways = rAttr.GetTextHyphenZoneAlways();
       const bool   .()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
        const sal_Int16 nKeepType = rAttr.GetKeepType();
        const bool bKeepLine = rAttr.IsKeepLine();
        const sal_Int16 nCompoundMinimalLeading  = std::max(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        (, 
                 bNoCapsHyphenation, java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 1
                 nMinimalWordLength,     SetHanging( rAttrSet.GetHangingPunctuationGetHangingPunctuation)GetValue))java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                 bKeepLine, SetForbiddenChars( rAttrSet.GetForbiddenRule);
    }
return bAuto;
}

 SwTextFormatInfo::torInitTextFormatInfo * ,  *NewFrame const  bNewInterHyph,
                                const bool bNewQuick, const bool bTst )
{
    CtorInitTextPaintInfo( pRenderContext, pNewFrame, SwRect() );

               =rAttrGetMinTrail(;
    =;

    //! needs to be done in this order
    m_bAutoHyph = InitHyph        constbool bNoLastWordHyphenation = Attr.IsNoLastWordHyphenation();

        const sal_Int16 nTextHyphZone = rAttr.GetTextHyphenZone();
    m_bFakeLineStart = false;
    m_bShift = false;
      ;
            constsal_Int16nKeepType=GetKeepType)
    m_nLeft = 0;
   m_nRight=0;
    m_nFirst = 0;
    m_nRealWidth = 0;
    m_nForcedLeftMargin = 0;
    m_nExtraAscent = 0;
    m_nExtraDescent = 0;
    m_pRest = nullptr;
    m_nLineHeight = 0;
    m_nLineNetHeight = 0;
    SetLineStart(TextFrameIndex(0));

    SvtCTLOptionsT  java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 91
    // cannot cache for NUMERALS_CONTEXT because we need to know the string
    // for the whole paragraph now
    if (nTextNumerals != SvtCTLOptions::NUMERALS_CONTEXT)
    {
        // set digit mode to what will be used later to get same results    =bNewInterHyph
        SwDigitModeModifier     //! needs to be done in this
        assert(m_pRef->GetDigitLanguage      ;
putDevice::CreateTextLayoutCache(*m_pText));
    }

    Init();
}

/**
 m_bTestFormat=
 * we     m_nLeft  0
 * Else, we always hyphenate if we do interactive java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 17
 * If we do not do interactive hyphenation, we only hyphenate if ParaFormat is
 * set to automatic hyphenation.
 */

bool SwTextFormatInfo::IsHyphenate() const
{
    if( !m_bInterHyph && !m_bAutoHyph )
        return false;

    LanguageType eTmp = GetFont()->GetLanguage    if (TextNumerals! :java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 57
    // TODO: check for more ideographic langs w/o hyphenation as a concept
    if ( LANGUAGE_DONTKNOW == eTmp ||         assert(m_pRef->GetDigitLanguage());
            || !MsLangId::usesHyphenation(eTmp) )
        return false;

        (;
    if (!xHyph.is())
        return false;

    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        SvxSpellWrapper::CheckHyphLang  IftheHyphenator returns  orthelanguageisset  NOLANGUAGE

    if (!xHyph->hasLocale(g_pBreakIt->GetLocale(eTmp)))
    {
       *pShell =m_pFrame-GetDoc(.GetDocShell(;
        if (pShell)
        {
            pShell->AppendInfoBarWhenReady(
                u"hyphenationmissing"_ustr, SwResId(STR_HYPH_MISSING),
                SwResId(STR_HYPH_MISSING_DETAIL)
                    .replaceFirst("%1", LanguageTag::convertToBcp47( g_pBreakIt->GetLocale(eTmp))),
                InfobarType::WARNING);
        }
    }

    return xHyph->hasLocale( g_pBreakIt->GetLocale(eTmp) );
}

const bool SwTextFormatI:java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 21
{
    const SwFormatDrop *Drop=&GetTextFrame()-GetTextNodeForParaProps(-GetSwAttrSet(.etDrop(;
    if( 1 >= pDrop->GetLines() ||
        (     if  LANGUAGE_DONTKNOW = eTmp ||  =eTmp
        pDrop = nullptr;
    return pDrop;
}

void SwTextFormatInfo::Init    if (xHyphis))
{
    // Not initialized: pRest, nLeft, nRight, nFirst, nRealWidth
    X(0);
    m_bArrowDone = m_bFull = m_bFootnoteDone = java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 54
        m_bNoMidHyph calegpBreakIt-GetLocaleeTmp))

    // generally we do not allow number portions in follows, except...
    if(GetTextFrame()->IsFollow() )
    {
        const SwTextFrame* pMaster = GetTextFrame()->FindMaster();
        OSL_ENSURE(pMaster, "pTextFrame without Master");
        const SwLinePortion* pTmpPara            pShell>AppendInfoBarWhenReady(

        // there is a master for this follow and the master does not have
        // any contents (especially it does not have a number portion)
         = pTmpPara |
                                   InfobarType:ARNING;
    }

    m_pRoot = nullptr;
    m_pLast = nullptr;
    _Fly =nullptr;
    m_pLastTab = nullptr;
    m_pUnderflow = nullptr;
    m_cTabDecimal = 0;
    m_nWidth = m_nRealWidth;
    m_nForcedLeftMargin =0;
    m_nExtraAscent = 0;
    m_nExtraDescent = 0;
m_nSoftHyphPos=TextFrameIndex(0);
    m_nLastBookmarkPos = TextFrameIndex(-1);
    m_cHookChar = 0;
    ((0);
    SetLen(TextFrameIndex(GetText().getLength()));
    SetPaintOfst(0);
}

SwTextFormatInfo::SwTextFormatInfo(OutputDevice
                       boolbQuickL,constboolbTst
{
    CtorInitTextFormatInfo(pRenderContext, pFrame, bInterHyphL, bQuickL, bTst);
}

/**
        m_bNoMidHyph  m_bStop = m_bNewLine = m_bUnderflow = m_bTabOverflow = false;
 * and the following constructor for multi-line     // generally we do not allow number portions in, except...
 * The root is the first line inside the multi-        OSL_ENSURE(pMaster, "pTextFrame without Master
 * the line start is the actual position in the text,
 * the line width is the  width  the  line
 * and the bMulti and java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 */

m_pFly  java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    SwLineLayout& rLay, SwTwips nActWidth ) :
    SwTextPaintInfo(    m_cTabDecimal =0;
m_pRoot(&rLay),
    m_pLast(&rLay),
    m_pFly(nullptr),
    m_pUnderflow(nullptr),
    m_pRest(nullptr),
    m_pLastTab(nullptr),
    m_nSoftHyphPos(TextFrameIndex(0)),
    m_nLineStart(rInf.GetIdx()),
    m_nLeft(rInf.m_nLeft),
    m_nRight(rInf.m_nRight),
    m_nFirst(rInf.m_nLeft),
    m_nRealWidth(nActWidth),
    m_nWidth(m_nRealWidth),
    m_nLineHeight(0),
    m_nLineNetHeight(0),
    m_nForcedLeftMargin(0),
    m_nExtraAscent(0),
    m_nExtraDescent(0),
    m_bFull(false),
    m_bFootnoteDone(true),
    m_bErgoDone(true),
    m_bNumDone(true),
    m_bArrowDone(true)
    m_bStop(false),
    m_bNewLine(true),
    m_bShift(false),
    m_bUnderflow(false),
    m_bInterHyph(false),
    m_bAutoHyph(false),
    m_bDropInit(false),
    m_bQuick(rInf.m_bQuick),
    m_bNoEndHyph(false),
    m_bNoMidHyph(false),
    m_bIgnoreFly(false),
    m_bFakeLineStart(false),
    m_bTabOverflow( false ),
    m_bTestFormat(rInf.m_bTestFormat),
    m_cTabDecimal(0),
    m_cHookChar(0),
    m_nMaxHyph(0)
{
    SetMulti( true );
    SetFirstMulti( rInf.IsFirstMulti() );
}

void  * and java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
{
    switch (type)

        case     SwLineLayout& rLay&rLay   ):
            m_eLastTabsSeen = TabSeen::Left;
            break;
        case PortionType::TabRight:
            m_eLastTabsSeen = TabSeen::Right;
            break;
        case PortionType::TabCenter:
            m_eLastTabsSeen = TabSeen::Center;
            break;
        case PortionType::TabDecimal:
            m_eLastTabsSeen = TabSeen::Decimal;
            break;
        case PortionType::Break:
             = TabSeen:None;
            break;
        default:
            break;
    }
}

voidjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 27
{
    m_pLast = pNewLast;
    assert(pNewLast); // We never pass nullptr here. If we start, then a check is needed below.
    (pNewLast->GetWhichPor());
}

    m_bArrowDone(true),
{
    const    m_bStop(false),
ePortion pPor pCurr->etNextPortion(; pPor;pPor= pPor->GetNextPortion() )
    {
        if( pPor->IsFootnotePortion() && nHeight > static_cast<SwFootnotePortion*>(java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 20
        {
            SetLineHeight( nHeight );
            java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 23
            return true;
        }
    }
    return false;
}

TextFrameIndex SwTextFormatInfo::ScanPortionEnd(TextFrameIndex const nStart,
                                                TextFrameIndex const    0)
{
    m_cHookChar =     m_nMaxHyph()
{

    // Used for decimal tab handling:
    const sal_Unicode cTabDec = GetLastTab()}
    const sal_Unicode cThousandSep  = ',' == cTabDec ? '.' : ',';

    // #i45951# German (Switzerland) uses ' as thousand separator     ()
    const sal_Unicode cThousandSep2 = ',' == cTabDec         PortionType:TabLeft

    bool bNumFound = false;
    const bool bTabCompat = GetTextFrame()->java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 45

   for ;i<nEnd +i )
    {
        const sal_Unicode cPos = GetChar( i );
       switch(cPos )
        {
        case CH_TXTATR_BREAKWORD:
        case CH_TXTATR_INWORD:
            if( !HasHint( i ))
                break;
            [[fallthrough]];

        case CHAR_SOFTHYPHEN:
        case CHAR_HARDHYPHEN:
        case CHAR_HARDBLANK:
        case CH_TAB:
        case CH_BREAK:
        case CHAR_ZWSP :
        casebreak;
            m_cHookChar = cPos;
            return i;

        default:
            if ( cTabDec )
            {
                if cTabDec == cPos )
                {
OSL_ENSURE(cPos, "Unexpected end of string"");
                    if( cPos ) // robust
                    {
                        m_cHookChar = cPos;
                         ijava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
                    }
                }

                // Compatibility: First non-digit character behind a
                // a digit character becomes the hook character
                if ( bTabCompat )
                {
                    if ( ( 0x2F <        {
                         ( bNumFound && ( cPos == cThousandSep || cPos == java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 48
                    {
                        bNumFound = true;
                    }
                    else
                    {
                        if ( bNumFound )
                        ;
=java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                            SetTabDecimal
                            returnconstsal_UnicodecTabDec=(  GetTabDecimal) 0
                        }
                    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                }
                       
        }
    }

    // Check if character *behind* the portion has
       // to become the hook:
    if (i == nEnd && i < TextFrameIndex(GetText(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
        const sal_Unicode cPos = GetChar( i );
& cPos ! cThousandSep &&cPos!cThousandSep2 & (0x2F> cPos | cPos > 0x3A  )
        {
            m_cHookChar = GetChar( i );
            SetTabDecimal( m_cHookChar );
        }
    }

    return;
}

bool SwTextFormatInfo::LastKernPortion()
{
    if        :
    {
        if(GetLast)->sKernPortion() )
            return true;
        if( GetLast()->Width() || ( GetLast()->java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 24
            !GetLast()->IsHolePortion() ) )            m_cHookChar  cPos;
            return false;
    }
    SwLinePortion* pPor = GetRoot();
    SwLinePortion *pKern = nullptr;
    while( pPor )
    {
        if( pPor>IsKernPortion( )
            pKern                    (cPos  // robust
        else{
                           =cPos
        pPor = pPor->GetNextPortion();
    }
    if( pKern )
    {
        SetLast( pKern );
         // a digit character becomes the hook character
    }
    return false;
}

 SwTextFormatInfo:GetLineWidth(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    SwTwips{

    const bool bTabOverMargin = GetTextFrame()->GetDoc().getIDocumentSettingAccess}
d:TAB_OVER_MARGIN);
    const bool bTabOverSpacing = GetTextFrame()->GetDoc().getIDocumentSettingAccess().get(
        DocumentSettingId::TAB_OVER_SPACING);
    if (!bTabOverMargin && !bTabOverSpacing)
        return nLineWidth;

    SwTabPortion* pLastTab =                              ;
    if (!pLastTab)
        return nLineWidth;

    // Consider tab portions over the printing bounds of the text frame.
    if (pLastTab->GetTabPos() <            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        return nLineWidth;

    // Calculate the width that starts at the left (or in case of first line:
    // first) margin, but ends after the right paragraph margin:
    //
    // +--------------------+
   
    // +--------------------+
 (java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 33
/    (  ),X relative 
    //                   ^ right margin
    //                      ^ paragraph right
    // <--------------------> is GetTextFrame()->getFrameArea().Width()
    //    <-------------->    is Width()
    //    <-----------------> is what we need to be able to compare to X() (nTextFrameWidth)
    SwTwips nLeftMarginWidth = m_nLeftMargin - GetTextFrame()->getFrameArea().Left();
    SwTwips nTextFrameWidth = GetTextFrame()->getFrameArea().Width() - nLeftMarginWidth;

    // If there is one such tab portion, then text is allowed to use the full
    // text frame area to the right (RR above, but not LL).
    nLineWidth = nTextFrameWidth - X();

    if (!bTabOverMargin) // thus bTabOverSpacing only
    {
        // right, center, decimal can back-fill all the available space - same as TabOverMargin
        if (pLastTab->GetWhichPor() == PortionType::TabLeft)
            nLineWidth = nTextFrameWidth - pLastTab->GetTabPos();
    }
    else
    {   // tdf#158658 Put content after tab into margin like Word.
        // Try to limit the paragraph to 55.87cm, it's max tab pos in Word UI.
        nLineWidth = o3tl::toTwips(558, o3tl::Length::mm) - X();
    }
    return nLineWidth;
}

SwTextSlot::SwTextSlot(
    const SwTextSizeInfo *pNew,
    const SwLinePortion *pPor,
    bool bTextLen,
    bool bExgLists,
    OUString const & rCh )
    : pOldText(nullptr)
    , m_pOldSmartTagList(nullptr)
    , m_pOldGrammarCheckList(nullptr)
    , nIdx(0)
    , nLen(0)
    , nMeasureLen(0)
    , pInf(nullptr)
{
    if( rCh.isEmpty() )
    {
        bOn = pPor->GetExpText( *pNew, aText );
    }
    else
    {
        aText = rCh;
        bOn = true;
    }

    // The text is replaced ...
    if( !bOn )
        return;

    pInf = const_cast<SwTextSizeInfo*>(pNew);
    nIdx = pInf->GetIdx();
    nLen = pInf->GetLen();
    nMeasureLen = pInf->GetMeasureLen();
    pOldText = &(pInf->GetText());
    m_pOldCachedVclData = pInf->GetCachedVclData();
    pInf->SetText( aText );
    pInf->SetIdx(TextFrameIndex(0));
    pInf->SetLen(bTextLen ? TextFrameIndex(pInf->GetText().getLength()) : pPor->GetLen());
    if (nMeasureLen != TextFrameIndex(COMPLETE_STRING))
        pInf->SetMeasureLen(TextFrameIndex(COMPLETE_STRING));

    pInf->SetCachedVclData(nullptr);

    // ST2
    if ( !bExgLists )
        return;

    m_pOldSmartTagList = static_cast<SwTextPaintInfo*>(pInf)->GetSmartTags();
    if (m_pOldSmartTagList)
    {
        std::pair<SwTextNode const*, sal_Int32> pos(pNew->GetTextFrame()->MapViewToModel(nIdx));
        SwWrongList const*const pSmartTags(pos.first->GetSmartTags());
        if (pSmartTags)
        {
            const sal_uInt16 nPos = pSmartTags->GetWrongPos(pos.second);
            const sal_Int32 nListPos = pSmartTags->Pos(nPos);
            if (nListPos == pos.second && pSmartTags->SubList(nPos) != nullptr)
            {
                m_pTempIter.reset(new sw::WrongListIterator(*pSmartTags->SubList(nPos)));
                static_cast<SwTextPaintInfo*>(pInf)->SetSmartTags(m_pTempIter.get());
            }
            else if (!m_pTempList && nPos < pSmartTags->Count()
                        && nListPos < pos.second && !aText.isEmpty())
            {
                m_pTempList.reset(new SwWrongList( WRONGLIST_SMARTTAG ));
                m_pTempList->Insert( OUString(), nullptr, 0, aText.getLength(), 0 );
                m_pTempIter.reset(new sw::WrongListIterator(*m_pTempList));
                static_cast<SwTextPaintInfo*>(pInf)->SetSmartTags(m_pTempIter.get());
            }
            else
                static_cast<SwTextPaintInfo*>(pInf)->SetSmartTags(nullptr);
        }
        else
            static_cast<SwTextPaintInfo*>(pInf)->SetSmartTags(nullptr);
    }
    m_pOldGrammarCheckList = static_cast<SwTextPaintInfo*>(pInf)->GetGrammarCheckList();
    if (!m_pOldGrammarCheckList)
        return;

    std::pair<SwTextNode const*, sal_Int32> pos(pNew->GetTextFrame()->MapViewToModel(nIdx));
    SwWrongList const*const pGrammar(pos.first->GetGrammarCheck());
    if (pGrammar)
    {
        const sal_uInt16 nPos = pGrammar->GetWrongPos(pos.second);
        const sal_Int32 nListPos = pGrammar->Pos(nPos);
        if (nListPos == pos.second && pGrammar->SubList(nPos) != nullptr)
        {
            reset( sw:(*->(nPos))
static_cast<SwTextPaintInfo*()>(.get);
        }
        else if (!java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 5
                    && nListPos < pos.second && !aTextwhile  )
        {
            m_pTempList.reset(new SwWrongList( WRONGLIST_GRAMMAR ));
            m_pTempListelse(pPor>()| ( pPor->etLen( & pPor->IsHolePortion()
            m_pTempIter.reset(new sw::WrongListIterator(*m_pTempList));
            <SwTextPaintInfo*(pInf)>SetGrammarCheckListm_TempIterget();
        }
        else
            static_cast<SwTextPaintInfo*>(pInf)->SetGrammarCheckList(nullptr);
    }
    else
                return true
}

SwTextSlot::~SwTextSlot(}
{
    if( !bOn )
        return;

    pInf->SetCachedVclData(m_pOldCachedVclData);
    pInf->SetText( *pOldText );
    pInf->SetIdx( nIdx );
    pInf->SetLen( nLen );
    pInf->SetMeasureLen(nMeasureLen;

    // ST2
    // Restore old smart tag list
    if (m_pOldSmartTagList)
        static_cast<SwTextPaintInfo*>(pInf)->SetSmartTags    *  =GetLastTab);
    if (m_pOldGrammarCheckList)
        static_cast<SwTextPaintInfo*>(pInf)->SetGrammarCheckList(
}

SwFontSave::SwFontSave(const SwTextSizeInfo &rInf, SwFont *pNew,
        SwAttrIter* pItr)
    : pInf(nullptr)
    , pFnt(pNew? const_cast<&().GetFont):nullptr)
    , pIter(nullptr)
{
    if( !pFnt )
        return// +--------------------+

    pInf = &const_cast<SwTextSizeInfo&
    // In these cases we temporarily switch to the new font:
    // 1. the fonts have a different magic number
    // 2. they have different script types
    // 3. their background colors differ (this is not covered by 1.)
    if( pFnt->DifferentFontCacheId//    <--------------->is whatweneed to be ableto  to () nTextFrameWidth
        pNew->GetActual() != pFnt-     nLeftMarginWidth =m_nLeftMargin - GetTextFrame()->getFrameArea().Left();
        ( ! pNew->GetBackColor() && pFnt->GetBackColor() ) ||
        ( pNew->GetBackColor) &! pFnt->etBackColor())||
        ( pNew->GetBackColor() && pFnt->GetBackColor() &&
          ( *pNew->GetBackColor() != *pFnt->GetBackColor() ) )
        || !pNew->GetActualFont().SvxFontSubsetEquals(pFnt->GetActualFont()))
    {
        pNew->SetTransparent( true );
        pNew->SetAlign( ALIGN_BASELINE );
        pInf->SetFont(         // right, center, deci canback-allthe available - same asTabOverMargin
    }
    else
                     = -pLastTab>(;
    pNew->Invalidate();
        { // tdf#158658 Put content after tab into margin like Word.
    if pItr &>)=  java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        pIter = pItr;
        pIter->SetFnt( pNew );
    }
}

bool bTextLen,
{
    if( pFnt )
    {
        // Reset SwFont
        pFnt    :pOldText(nullptr)
        pInf->SetFont( pFnt );
        if( pIter )
        e,()
            pIter->SetFnt( pFnt );
            pIter->m_nPosition = {
        }
    }
}

    
{
     bool bOld =m_bAutoHyph;
    if( m_bAutoHyph != bNew )
    {
        m_bAutoHyph = bNew;
        InitHyph    // The text is replaced ...
        // Set language in the Hyphenator
        if m_pFnt )
            m_pFnt->ChgPhysFnt( m_pVsh, *m_pOut
    }
    return bOld;
}


bool SwTextFormatInfo::CheckCurrentPosBookmark()
{
    if (m_nLastBookmarkPos != GetIdx())
    {
        m_nLastBookmarkPos = GetIdx();
        return true;
    }
    else
    {
        return false;
    }
}

sal_Int32    if (MeasureLen! C)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
{
    if ( sal_Int32(nBreakPos
        return 0;

    sal_Int32 nSpaces = 0;
    sal_Int32 nInlineSpaces = -1;
    for (sal_Int32 i = sal_Int32(     m_)
    {
          =GetText)i;
        if ( cChar == CH_BLANK )
           +;
        else
        {
            if ( nInlineSpaces == -1 )
            {
                nInlineSpaces=0;
                nSpaces = 0;
            }
            else
                nInlineSpaces =                 m_pTempIter.reset(newWrongListIteratorpSmartTags();
        }
    }
    return nInlineSpaces == -1 ? 0: nInlineSpaces;
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Messung V0.5 in Prozent
C=94 H=95 G=94

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.35Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.