diff options
-rw-r--r-- | svx/source/editeng/editdoc.cxx | 30 | ||||
-rw-r--r-- | svx/source/editeng/editdoc.hxx | 6 | ||||
-rw-r--r-- | svx/source/editeng/eerdll.cxx | 11 | ||||
-rw-r--r-- | svx/source/editeng/impedit2.cxx | 109 | ||||
-rw-r--r-- | svx/source/editeng/impedit3.cxx | 39 |
5 files changed, 118 insertions, 77 deletions
diff --git a/svx/source/editeng/editdoc.cxx b/svx/source/editeng/editdoc.cxx index 25fe923f59ff..ab6d5d7ae440 100644 --- a/svx/source/editeng/editdoc.cxx +++ b/svx/source/editeng/editdoc.cxx @@ -2,9 +2,9 @@ * * $RCSfile: editdoc.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mt $ $Date: 2000-11-02 15:25:36 $ + * last change: $Author: mt $ $Date: 2000-11-06 11:44:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1179,7 +1179,7 @@ void EditDoc::RemoveItemsFromPool( ContentNode* pNode ) } } -void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, BOOL bSearchInParent, short nScriptType ) +void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, BOOL bSearchInParent ) { Font aPrevFont( rFont ); rFont.SetAlign( ALIGN_BASELINE ); @@ -1188,16 +1188,16 @@ void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, BOOL bSearchInParent, s if ( bSearchInParent ) { rFont.SetColor( ((const SvxColorItem&)rSet.Get( EE_CHAR_COLOR )).GetValue() ); - const SvxFontItem& rFontItem = (const SvxFontItem&)rSet.Get( GetScriptItemId( EE_CHAR_FONTINFO, nScriptType ) ); + const SvxFontItem& rFontItem = (const SvxFontItem&)rSet.Get( EE_CHAR_FONTINFO ); rFont.SetName( rFontItem.GetFamilyName() ); rFont.SetFamily( rFontItem.GetFamily() ); rFont.SetPitch( rFontItem.GetPitch() ); rFont.SetCharSet( rFontItem.GetCharSet() ); - rFont.SetSize( Size( ((const SvxFontWidthItem&)rSet.Get( EE_CHAR_FONTWIDTH )).GetWidth(), ((const SvxFontHeightItem&)rSet.Get( GetScriptItemId( EE_CHAR_FONTHEIGHT, nScriptType ) ) ).GetHeight() ) ); - rFont.SetWeight( ((const SvxWeightItem&)rSet.Get( GetScriptItemId( EE_CHAR_WEIGHT, nScriptType ))).GetWeight() ); + rFont.SetSize( Size( ((const SvxFontWidthItem&)rSet.Get( EE_CHAR_FONTWIDTH )).GetWidth(), ((const SvxFontHeightItem&)rSet.Get( EE_CHAR_FONTHEIGHT ) ).GetHeight() ) ); + rFont.SetWeight( ((const SvxWeightItem&)rSet.Get( EE_CHAR_WEIGHT )).GetWeight() ); rFont.SetUnderline( ((const SvxUnderlineItem&)rSet.Get( EE_CHAR_UNDERLINE )).GetUnderline() ); rFont.SetStrikeout( ((const SvxCrossedOutItem&)rSet.Get( EE_CHAR_STRIKEOUT )).GetStrikeout() ); - rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( GetScriptItemId( EE_CHAR_ITALIC, nScriptType ))).GetPosture() ); + rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( EE_CHAR_ITALIC )).GetPosture() ); rFont.SetOutline( ((const SvxContourItem&)rSet.Get( EE_CHAR_OUTLINE )).GetValue() ); rFont.SetShadow( ((const SvxShadowedItem&)rSet.Get( EE_CHAR_SHADOW )).GetValue() ); rFont.SetEscapement( ((const SvxEscapementItem&)rSet.Get( EE_CHAR_ESCAPEMENT)).GetEsc() ); @@ -1210,26 +1210,26 @@ void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, BOOL bSearchInParent, s { if ( rSet.GetItemState( EE_CHAR_COLOR ) == SFX_ITEM_ON ) rFont.SetColor( ((const SvxColorItem&)rSet.Get( EE_CHAR_COLOR )).GetValue() ); - if ( rSet.GetItemState( GetScriptItemId( EE_CHAR_FONTINFO, nScriptType ) ) == SFX_ITEM_ON ) + if ( rSet.GetItemState( EE_CHAR_FONTINFO ) == SFX_ITEM_ON ) { - const SvxFontItem& rFontItem = (const SvxFontItem&)rSet.Get( GetScriptItemId( EE_CHAR_FONTINFO, nScriptType ) ); + const SvxFontItem& rFontItem = (const SvxFontItem&)rSet.Get( EE_CHAR_FONTINFO ); rFont.SetName( rFontItem.GetFamilyName() ); rFont.SetFamily( rFontItem.GetFamily() ); rFont.SetPitch( rFontItem.GetPitch() ); rFont.SetCharSet( rFontItem.GetCharSet() ); } - if ( rSet.GetItemState( GetScriptItemId( EE_CHAR_FONTHEIGHT, nScriptType ) ) == SFX_ITEM_ON ) - rFont.SetSize( Size( rFont.GetSize().Width(), ((const SvxFontHeightItem&)rSet.Get( GetScriptItemId( EE_CHAR_FONTHEIGHT, nScriptType ) )).GetHeight() ) ); + if ( rSet.GetItemState( EE_CHAR_FONTHEIGHT ) == SFX_ITEM_ON ) + rFont.SetSize( Size( rFont.GetSize().Width(), ((const SvxFontHeightItem&)rSet.Get( EE_CHAR_FONTHEIGHT ) ).GetHeight() ) ); if ( rSet.GetItemState( EE_CHAR_FONTWIDTH ) == SFX_ITEM_ON ) rFont.SetSize( Size( ((const SvxFontWidthItem&)rSet.Get( EE_CHAR_FONTWIDTH )).GetWidth(), rFont.GetSize().Height() ) ); - if ( rSet.GetItemState( GetScriptItemId( EE_CHAR_WEIGHT, nScriptType ) ) == SFX_ITEM_ON ) - rFont.SetWeight( ((const SvxWeightItem&)rSet.Get( GetScriptItemId( EE_CHAR_WEIGHT, nScriptType ) )).GetWeight() ); + if ( rSet.GetItemState( EE_CHAR_WEIGHT ) == SFX_ITEM_ON ) + rFont.SetWeight( ((const SvxWeightItem&)rSet.Get( EE_CHAR_WEIGHT )).GetWeight() ); if ( rSet.GetItemState( EE_CHAR_UNDERLINE ) == SFX_ITEM_ON ) rFont.SetUnderline( ((const SvxUnderlineItem&)rSet.Get( EE_CHAR_UNDERLINE )).GetUnderline() ); if ( rSet.GetItemState( EE_CHAR_STRIKEOUT ) == SFX_ITEM_ON ) rFont.SetStrikeout( ((const SvxCrossedOutItem&)rSet.Get( EE_CHAR_STRIKEOUT )).GetStrikeout() ); - if ( rSet.GetItemState( GetScriptItemId( EE_CHAR_ITALIC, nScriptType ) ) == SFX_ITEM_ON ) - rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( GetScriptItemId( EE_CHAR_ITALIC, nScriptType ) )).GetPosture() ); + if ( rSet.GetItemState( EE_CHAR_ITALIC ) == SFX_ITEM_ON ) + rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( EE_CHAR_ITALIC )).GetPosture() ); if ( rSet.GetItemState( EE_CHAR_OUTLINE ) == SFX_ITEM_ON ) rFont.SetOutline( ((const SvxContourItem&)rSet.Get( EE_CHAR_OUTLINE )).GetValue() ); if ( rSet.GetItemState( EE_CHAR_SHADOW ) == SFX_ITEM_ON ) diff --git a/svx/source/editeng/editdoc.hxx b/svx/source/editeng/editdoc.hxx index 7259e679c589..5577cb836be5 100644 --- a/svx/source/editeng/editdoc.hxx +++ b/svx/source/editeng/editdoc.hxx @@ -2,9 +2,9 @@ * * $RCSfile: editdoc.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mt $ $Date: 2000-11-02 15:25:36 $ + * last change: $Author: mt $ $Date: 2000-11-06 11:44:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -90,7 +90,7 @@ DBG_NAMEEX( EE_TextPortion ); #define CHARPOSGROW 16 #define DEFTAB 720 -void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, BOOL bSearchInParent = TRUE, short nScriptType = 0 ); +void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, BOOL bSearchInParent = TRUE ); USHORT GetScriptItemId( USHORT nItemId, short nScriptType ); BOOL IsScriptItemValid( USHORT nItemId, short nScriptType ); diff --git a/svx/source/editeng/eerdll.cxx b/svx/source/editeng/eerdll.cxx index a9df048b7eeb..7322d5ab36d5 100644 --- a/svx/source/editeng/eerdll.cxx +++ b/svx/source/editeng/eerdll.cxx @@ -2,9 +2,9 @@ * * $RCSfile: eerdll.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mt $ $Date: 2000-11-02 15:25:36 $ + * last change: $Author: mt $ $Date: 2000-11-06 11:44:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -159,10 +159,17 @@ SfxPoolItem** GlobalEditData::GetDefItems() ppDefItems[25] = new SvxLanguageItem( LANGUAGE_GERMAN, EE_CHAR_LANGUAGE ); ppDefItems[26] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE_CJK ); ppDefItems[27] = new SvxLanguageItem( LANGUAGE_DONTKNOW, EE_CHAR_LANGUAGE_CTL ); +#ifdef DEBUG + ppDefItems[28] = new SvxFontItem( FAMILY_DONTKNOW, String( RTL_CONSTASCII_USTRINGPARAM( "Tahoma" ) ), String(), PITCH_DONTKNOW, RTL_TEXTENCODING_UNICODE, EE_CHAR_FONTINFO_CJK ); + ppDefItems[29] = new SvxFontItem( FAMILY_DONTKNOW, String( RTL_CONSTASCII_USTRINGPARAM( "Tahoma" ) ), String(), PITCH_DONTKNOW, RTL_TEXTENCODING_UNICODE, EE_CHAR_FONTINFO_CTL ); + ppDefItems[30] = new SvxFontHeightItem( 560, 100, EE_CHAR_FONTHEIGHT_CJK ); + ppDefItems[31] = new SvxFontHeightItem( 560, 100, EE_CHAR_FONTHEIGHT_CTL ); +#else ppDefItems[28] = new SvxFontItem( EE_CHAR_FONTINFO_CJK ); ppDefItems[29] = new SvxFontItem( EE_CHAR_FONTINFO_CTL ); ppDefItems[30] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT_CJK ); ppDefItems[31] = new SvxFontHeightItem( 240, 100, EE_CHAR_FONTHEIGHT_CTL ); +#endif ppDefItems[32] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ); ppDefItems[33] = new SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ); ppDefItems[34] = new SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ); diff --git a/svx/source/editeng/impedit2.cxx b/svx/source/editeng/impedit2.cxx index 137a56065c3b..9fb88be329f2 100644 --- a/svx/source/editeng/impedit2.cxx +++ b/svx/source/editeng/impedit2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: impedit2.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mt $ $Date: 2000-11-02 15:25:36 $ + * last change: $Author: mt $ $Date: 2000-11-06 11:44:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -628,6 +628,14 @@ void ImpEditEngine::Command( const CommandEvent& rCEvt, EditView* pView ) else pView->GetWindow()->SetExtTextInputPos( 0, 0, NULL ); } + else if ( rCEvt.GetCommand() == COMMAND_INPUTCONTEXTCHANGE ) + { + int x = 0; + } + else if ( rCEvt.GetCommand() == COMMAND_CURSORPOS ) + { + int x = 0; + } #endif // !SVX_LIGHT @@ -1345,77 +1353,86 @@ EditSelection ImpEditEngine::SelectWord( const EditSelection& rCurSel, sal_Int16 void ImpEditEngine::InitScriptTypes( USHORT nPara ) { - uno::Reference < text::XBreakIterator > xBI = ImplGetBreakIterator(); ParaPortion* pParaPortion = GetParaPortions().SaveGetObject( nPara ); - ContentNode* pNode = pParaPortion->GetNode(); ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos; - ::rtl::OUString aText( *pNode ); - USHORT nTextLen = aText.getLength(); - rTypes.Remove( 0, rTypes.Count() ); - long nPos = 0; - short nScriptType = xBI->getScriptType( aText, nPos ); - rTypes.Insert( ScriptTypePosInfo( nScriptType, nPos, nTextLen ), rTypes.Count() ); - nPos = xBI->endOfScript( aText, nPos, nScriptType ); - while ( nPos != (-1) ) + ContentNode* pNode = pParaPortion->GetNode(); + if ( pNode->Len() ) { - rTypes[rTypes.Count()-1].nEndPos = nPos; + uno::Reference < text::XBreakIterator > xBI = ImplGetBreakIterator(); + ::rtl::OUString aText( *pNode ); + USHORT nTextLen = aText.getLength(); - nScriptType = xBI->getScriptType( aText, nPos ); - if ( nScriptType == text::ScriptType::WEAK ) - nScriptType = rTypes[rTypes.Count()-1].nScriptType; + long nPos = 0; + short nScriptType = xBI->getScriptType( aText, nPos ); rTypes.Insert( ScriptTypePosInfo( nScriptType, nPos, nTextLen ), rTypes.Count() ); nPos = xBI->endOfScript( aText, nPos, nScriptType ); - } + while ( ( nPos != (-1) ) && ( nPos < nTextLen ) ) + { + rTypes[rTypes.Count()-1].nEndPos = nPos; + + nScriptType = xBI->getScriptType( aText, nPos ); + if ( nScriptType == text::ScriptType::WEAK ) + nScriptType = rTypes[rTypes.Count()-1].nScriptType; + + rTypes.Insert( ScriptTypePosInfo( nScriptType, nPos, nTextLen ), rTypes.Count() ); + nPos = xBI->endOfScript( aText, nPos, nScriptType ); + } - if ( rTypes[0].nScriptType == text::ScriptType::WEAK ) - rTypes[0].nScriptType = ( rTypes.Count() > 1 ) ? rTypes[1].nScriptType : text::ScriptType::LATIN; + if ( rTypes[0].nScriptType == text::ScriptType::WEAK ) + rTypes[0].nScriptType = ( rTypes.Count() > 1 ) ? rTypes[1].nScriptType : text::ScriptType::LATIN; + } } short ImpEditEngine::GetScriptType( const EditPaM& rPaM ) const { - USHORT nPara = GetEditDoc().GetPos( rPaM.GetNode() ); - ParaPortion* pParaPortion = GetParaPortions().SaveGetObject( nPara ); - if ( !pParaPortion->aScriptInfos.Count() ) - ((ImpEditEngine*)this)->InitScriptTypes( nPara ); + short nScriptType = text::ScriptType::LATIN; - ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos; - USHORT nPos = rPaM.GetIndex(); - short nScriptType = 0; - for ( USHORT n = 0; n < rTypes.Count(); n++ ) + if ( rPaM.GetNode()->Len() ) { - if ( ( rTypes[n].nStartPos <= nPos ) && ( rTypes[n].nEndPos >= nPos ) ) - { - nScriptType = rTypes[n].nScriptType; - break; + USHORT nPara = GetEditDoc().GetPos( rPaM.GetNode() ); + ParaPortion* pParaPortion = GetParaPortions().SaveGetObject( nPara ); + if ( !pParaPortion->aScriptInfos.Count() ) + ((ImpEditEngine*)this)->InitScriptTypes( nPara ); + + ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos; + USHORT nPos = rPaM.GetIndex(); + for ( USHORT n = 0; n < rTypes.Count(); n++ ) + { + if ( ( rTypes[n].nStartPos <= nPos ) && ( rTypes[n].nEndPos >= nPos ) ) + { + nScriptType = rTypes[n].nScriptType; + break; + } } } - - DBG_ASSERT( nScriptType, "Script not found!" ); return nScriptType; } BOOL ImpEditEngine::IsScriptChange( const EditPaM& rPaM ) const { - USHORT nPara = GetEditDoc().GetPos( rPaM.GetNode() ); - ParaPortion* pParaPortion = GetParaPortions().SaveGetObject( nPara ); - if ( !pParaPortion->aScriptInfos.Count() ) - ((ImpEditEngine*)this)->InitScriptTypes( nPara ); - - ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos; - USHORT nPos = rPaM.GetIndex(); BOOL bScriptChange = FALSE; - for ( USHORT n = 0; n < rTypes.Count(); n++ ) + + if ( rPaM.GetNode()->Len() ) { - if ( rTypes[n].nStartPos == nPos ) - { - bScriptChange = TRUE; - break; + USHORT nPara = GetEditDoc().GetPos( rPaM.GetNode() ); + ParaPortion* pParaPortion = GetParaPortions().SaveGetObject( nPara ); + if ( !pParaPortion->aScriptInfos.Count() ) + ((ImpEditEngine*)this)->InitScriptTypes( nPara ); + + ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos; + USHORT nPos = rPaM.GetIndex(); + for ( USHORT n = 0; n < rTypes.Count(); n++ ) + { + if ( rTypes[n].nStartPos == nPos ) + { + bScriptChange = TRUE; + break; + } } } - return bScriptChange; } diff --git a/svx/source/editeng/impedit3.cxx b/svx/source/editeng/impedit3.cxx index 4cca8479e9bc..1825a741a958 100644 --- a/svx/source/editeng/impedit3.cxx +++ b/svx/source/editeng/impedit3.cxx @@ -2,9 +2,9 @@ * * $RCSfile: impedit3.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mt $ $Date: 2000-11-02 15:25:36 $ + * last change: $Author: mt $ $Date: 2000-11-06 11:44:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -85,6 +85,10 @@ #include <kernitem.hxx> #include <lrspitem.hxx> #include <ulspitem.hxx> +#include <fontitem.hxx> +#include <wghtitem.hxx> +#include <postitem.hxx> + #include <textconv.hxx> @@ -1740,8 +1744,7 @@ void ImpEditEngine::CreateTextPortions( ParaPortion* pParaPortion, sal_uInt16& r DBG_ASSERT( pNode->Len(), "CreateTextPortions sollte nicht fuer leere Absaetze verwendet werden!" ); SortedPositions aPositions; - sal_uInt32 nZero = 0; - aPositions.Insert( nZero ); + aPositions.Insert( (sal_uInt32) 0 ); sal_uInt16 nAttr = 0; EditCharAttrib* pAttrib = GetAttrib( pNode->GetCharAttribs().GetAttribs(), nAttr ); @@ -1756,6 +1759,13 @@ void ImpEditEngine::CreateTextPortions( ParaPortion* pParaPortion, sal_uInt16& r } aPositions.Insert( pNode->Len() ); + if ( !pParaPortion->aScriptInfos.Count() ) + ((ImpEditEngine*)this)->InitScriptTypes( GetParaPortions().GetPos( pParaPortion ) ); + + const ScriptTypePosInfos& rTypes = pParaPortion->aScriptInfos; + for ( USHORT nT = 0; nT < rTypes.Count(); nT++ ) + aPositions.Insert( rTypes[nT].nStartPos ); + if ( mpIMEInfos && mpIMEInfos->pAttribs && ( mpIMEInfos->aPos.GetNode() == pNode ) ) { sal_uInt16 nLastAttr = 0xFFFF; @@ -1823,24 +1833,20 @@ void ImpEditEngine::RecalcTextPortion( ParaPortion* pParaPortion, sal_uInt16 nSt ContentNode* const pNode = pParaPortion->GetNode(); if ( nNewChars > 0 ) { - // Wenn an nStartPos ein Attribut beginnt/endet, fngt eine neue Portion + // Wenn an nStartPos ein Attribut beginnt/endet, faengt eine neue Portion // an, ansonsten wird die Portion an nStartPos erweitert. - if ( pNode->GetCharAttribs().HasBoundingAttrib( nStartPos ) ) + if ( pNode->GetCharAttribs().HasBoundingAttrib( nStartPos ) || IsScriptChange( EditPaM( pNode, nStartPos ) ) ) { sal_uInt16 nNewPortionPos = 0; if ( nStartPos ) nNewPortionPos = SplitTextPortion( pParaPortion, nStartPos ) + 1; -// else if ( ( pParaPortion->GetTextPortions().Count() == 1 ) && -// !pParaPortion->GetTextPortions()[0]->GetLen() ) -// pParaPortion->GetTextPortions().Reset(); // DummyPortion // Eine leere Portion kann hier stehen, wenn der Absatz leer war, // oder eine Zeile durch einen harten Zeilenumbruch entstanden ist. if ( ( nNewPortionPos < pParaPortion->GetTextPortions().Count() ) && !pParaPortion->GetTextPortions()[nNewPortionPos]->GetLen() ) { - // Dann die leere Portion verwenden. DBG_ASSERT( pParaPortion->GetTextPortions()[nNewPortionPos]->GetKind() == PORTIONKIND_TEXT, "Leere Portion war keine TextPortion!" ); pParaPortion->GetTextPortions()[nNewPortionPos]->GetLen() += nNewChars; } @@ -1969,7 +1975,18 @@ void ImpEditEngine::SeekCursor( ContentNode* pNode, sal_uInt16 nPos, SvxFont& rF short nScriptType = GetScriptType( EditPaM( pNode, nPos ) ); if ( ( nScriptType == text::ScriptType::ASIAN ) || ( nScriptType == text::ScriptType::COMPLEX ) ) - CreateFont( rFont, pNode->GetContentAttribs().GetItems(), FALSE, nScriptType ); + { + const SvxFontItem& rFontItem = (const SvxFontItem&)pNode->GetContentAttribs().GetItem( GetScriptItemId( EE_CHAR_FONTINFO, nScriptType ) ); + rFont.SetName( rFontItem.GetFamilyName() ); + rFont.SetFamily( rFontItem.GetFamily() ); + rFont.SetPitch( rFontItem.GetPitch() ); + rFont.SetCharSet( rFontItem.GetCharSet() ); + Size aSz( rFont.GetSize() ); + aSz.Height() = ((const SvxFontHeightItem&)pNode->GetContentAttribs().GetItem( GetScriptItemId( EE_CHAR_FONTHEIGHT, nScriptType ) ) ).GetHeight(); + rFont.SetSize( aSz ); + rFont.SetWeight( ((const SvxWeightItem&)pNode->GetContentAttribs().GetItem( GetScriptItemId( EE_CHAR_WEIGHT, nScriptType ))).GetWeight() ); + rFont.SetItalic( ((const SvxPostureItem&)pNode->GetContentAttribs().GetItem( GetScriptItemId( EE_CHAR_ITALIC, nScriptType ))).GetPosture() ); + } const SvxFontWidthItem& rWidthItem = (const SvxFontWidthItem&)pNode->GetContentAttribs().GetItem( EE_CHAR_FONTWIDTH); |