Index: inc/editeng.hxx
===================================================================
RCS file: /cvs/graphics/svx/inc/editeng.hxx,v
retrieving revision 1.46
retrieving revision 1.46.10.1
diff -u -r1.46 -r1.46.10.1
--- inc/editeng.hxx	8 Sep 2005 17:31:54 -0000	1.46
+++ inc/editeng.hxx	19 Sep 2005 11:41:31 -0000	1.46.10.1
@@ -438,7 +438,7 @@
 	virtual	void	ParagraphHeightChanged( USHORT nPara );
 
 	// #101498#
-	virtual void	DrawingText( const Point& rStartPos, const String& rText, USHORT nTextStart, USHORT nTextLen, const long* pDXArray, const SvxFont& rFont, USHORT nPara, xub_StrLen nIndex, BYTE nRightToLeft);
+	virtual void	DrawingText( const Point& rStartPos, const String& rText, USHORT nTextStart, USHORT nTextLen, const sal_Int32* pDXArray, const SvxFont& rFont, USHORT nPara, xub_StrLen nIndex, BYTE nRightToLeft);
 
 	virtual String	GetUndoComment( USHORT nUndoId ) const;
 	virtual BOOL	FormattingParagraph( USHORT nPara );
Index: inc/outliner.hxx
===================================================================
RCS file: /cvs/graphics/svx/inc/outliner.hxx,v
retrieving revision 1.53
retrieving revision 1.53.8.1
diff -u -r1.53 -r1.53.8.1
--- inc/outliner.hxx	8 Sep 2005 18:15:17 -0000	1.53
+++ inc/outliner.hxx	19 Sep 2005 11:41:31 -0000	1.53.8.1
@@ -412,7 +412,7 @@
 
     const SvxFont&  rFont;
 
-    const long*     pDXArray;
+    const sal_Int32*     pDXArray;
 
 	// #101498# BiDi level needs to be transported, too.
 	BYTE			mnBiDiLevel;
@@ -421,7 +421,7 @@
 	sal_Bool IsRTL() const;
 
     DrawPortionInfo( const Point& rPos, const String& rTxt, USHORT nTxtStart, USHORT nTxtLen,
-		const SvxFont& rFnt, USHORT nPar, xub_StrLen nIdx, const long* pDXArr, BYTE nBiDiLevel)
+		const SvxFont& rFnt, USHORT nPar, xub_StrLen nIdx, const sal_Int32* pDXArr, BYTE nBiDiLevel)
         :	rStartPos(rPos), rText(rTxt), nPara(nPar), nIndex(nIdx),
 			rFont(rFnt), pDXArray(pDXArr), mnBiDiLevel(nBiDiLevel)
 	    {
@@ -808,7 +808,7 @@
 
 	// #101498#
 	virtual void    DrawingText( const Point& rStartPos, const String& rText, USHORT nTextStart, USHORT nTextLen,
-						const long* pDXArray, const SvxFont& rFont,
+						const sal_Int32* pDXArray, const SvxFont& rFont,
 						USHORT nPara, xub_StrLen nIndex, BYTE nRightToLeft);
 
 	Size            CalcTextSize();
Index: inc/svxfont.hxx
===================================================================
RCS file: /cvs/graphics/svx/inc/svxfont.hxx,v
retrieving revision 1.4
retrieving revision 1.4.12.1
diff -u -r1.4 -r1.4.12.1
--- inc/svxfont.hxx	8 Sep 2005 19:00:58 -0000	1.4
+++ inc/svxfont.hxx	19 Sep 2005 11:41:32 -0000	1.4.12.1
@@ -123,10 +123,10 @@
 			   const USHORT nIdx = 0, const USHORT nLen = STRING_LEN ) const;
 
 	void QuickDrawText( OutputDevice *pOut, const Point &rPos, const String &rTxt,
-			   const USHORT nIdx = 0, const USHORT nLen = STRING_LEN, const long* pDXArray = NULL ) const;
+			   const USHORT nIdx = 0, const USHORT nLen = STRING_LEN, const sal_Int32* pDXArray = NULL ) const;
 
 	Size QuickGetTextSize( const OutputDevice *pOut, const String &rTxt,
-						 const USHORT nIdx, const USHORT nLen, long* pDXArray = NULL ) const;
+						 const USHORT nIdx, const USHORT nLen, sal_Int32* pDXArray = NULL ) const;
 
 	void DrawPrev( OutputDevice* pOut, Printer* pPrinter,
 				   const Point &rPos, const String &rTxt,
Index: source/customshapes/EnhancedCustomShapeFontWork.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx,v
retrieving revision 1.8
retrieving revision 1.8.10.1
diff -u -r1.8 -r1.8.10.1
--- source/customshapes/EnhancedCustomShapeFontWork.cxx	8 Sep 2005 20:25:56 -0000	1.8
+++ source/customshapes/EnhancedCustomShapeFontWork.cxx	19 Sep 2005 11:41:33 -0000	1.8.10.1
@@ -319,7 +319,7 @@
 
 			SvxCharScaleWidthItem& rCharScaleWidthItem = (SvxCharScaleWidthItem&)pCustomShape->GetMergedItem( EE_CHAR_FONTWIDTH );
 			sal_uInt16 nCharScaleWidth = rCharScaleWidthItem.GetValue();
-			long* pDXArry = NULL;
+			sal_Int32* pDXArry = NULL;
 			sal_Int32 nWidth = 0;
 
 			// VERTICAL
@@ -384,7 +384,7 @@
 			{
 				if ( ( nCharScaleWidth != 100 ) && nCharScaleWidth )
 				{	// applying character spacing
-					pDXArry = new long[ rText.getLength() ];
+					pDXArry = new sal_Int32[ rText.getLength() ];
 					aVirDev.GetTextArray( rText, pDXArry, 0, STRING_LEN );
 					FontMetric aFontMetric( aVirDev.GetFontMetric() );
 					aFont.SetWidth( (sal_Int32)( (double)aFontMetric.GetWidth() * ( (double)100 / (double)nCharScaleWidth ) ) );
Index: source/editeng/editdoc.hxx
===================================================================
RCS file: /cvs/graphics/svx/source/editeng/editdoc.hxx,v
retrieving revision 1.21
retrieving revision 1.21.12.1
diff -u -r1.21 -r1.21.12.1
--- source/editeng/editdoc.hxx	8 Sep 2005 22:26:47 -0000	1.21
+++ source/editeng/editdoc.hxx	19 Sep 2005 11:41:34 -0000	1.21.12.1
@@ -377,13 +377,13 @@
     BOOL    bFirstCharIsRightPunktuation;
     BOOL    bCompressed;
 
-    long*    pOrgDXArray;
+    sal_Int32*    pOrgDXArray;
 
 
             ExtraPortionInfo();
             ~ExtraPortionInfo();
 
-    void    SaveOrgDXArray( const long* pDXArray, USHORT nLen );
+    void    SaveOrgDXArray( const sal_Int32* pDXArray, USHORT nLen );
     void    DestroyOrgDXArray();
 };
 
Index: source/editeng/editdoc2.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/editeng/editdoc2.cxx,v
retrieving revision 1.12
retrieving revision 1.12.10.1
diff -u -r1.12 -r1.12.10.1
--- source/editeng/editdoc2.cxx	8 Sep 2005 22:27:00 -0000	1.12
+++ source/editeng/editdoc2.cxx	19 Sep 2005 11:41:34 -0000	1.12.10.1
@@ -174,11 +174,11 @@
     delete[] pOrgDXArray;
 }
 
-void ExtraPortionInfo::SaveOrgDXArray( const long* pDXArray, USHORT nLen ) 
+void ExtraPortionInfo::SaveOrgDXArray( const sal_Int32* pDXArray, USHORT nLen ) 
 {
     delete[] pOrgDXArray;
-    pOrgDXArray = new long[nLen];
-    memcpy( pOrgDXArray, pDXArray, nLen*sizeof(long) );
+    pOrgDXArray = new sal_Int32[nLen];
+    memcpy( pOrgDXArray, pDXArray, nLen*sizeof(sal_Int32) );
 }
 
 void ExtraPortionInfo::DestroyOrgDXArray()
Index: source/editeng/impedit.hxx
===================================================================
RCS file: /cvs/graphics/svx/source/editeng/impedit.hxx,v
retrieving revision 1.72
retrieving revision 1.72.12.1
diff -u -r1.72 -r1.72.12.1
--- source/editeng/impedit.hxx	8 Sep 2005 22:33:21 -0000	1.72
+++ source/editeng/impedit.hxx	19 Sep 2005 11:41:35 -0000	1.72.12.1
@@ -654,7 +654,7 @@
 	BOOL				IsScriptChange( const EditPaM& rPaM ) const;
     BOOL                HasScriptType( USHORT nPara, USHORT nType ) const;
 
-    BOOL                ImplCalcAsianCompression( ContentNode* pNode, TextPortion* pTextPortion, USHORT nStartPos, long* pDXArray, USHORT n100thPercentFromMax, BOOL bManipulateDXArray );
+    BOOL                ImplCalcAsianCompression( ContentNode* pNode, TextPortion* pTextPortion, USHORT nStartPos, sal_Int32* pDXArray, USHORT n100thPercentFromMax, BOOL bManipulateDXArray );
     void                ImplExpandCompressedPortions( EditLine* pLine, ParaPortion* pParaPortion, long nRemainingWidth );
 
     void                ImplInitLayoutMode( OutputDevice* pOutDev, USHORT nPara, USHORT nIndex );
@@ -732,7 +732,7 @@
                                               const String&							rTxt,
                                               const USHORT 							nIdx, 
                                               const USHORT 							nLen, 
-                                              const long* 							pDXArray ) const;
+                                              const sal_Int32* 							pDXArray ) const;
 
 protected:
 	virtual void			Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
Index: source/editeng/impedit2.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/editeng/impedit2.cxx,v
retrieving revision 1.99
retrieving revision 1.99.8.1
diff -u -r1.99 -r1.99.8.1
--- source/editeng/impedit2.cxx	8 Sep 2005 22:33:36 -0000	1.99
+++ source/editeng/impedit2.cxx	19 Sep 2005 11:41:35 -0000	1.99.8.1
@@ -3807,7 +3807,7 @@
                     if ( nType == CHAR_PUNCTUATIONRIGHT )
                     {
                         USHORT n = nIndex - nTextPortionStart;
-                        const long* pDXArray = pLine->GetCharPosArray().GetData()+( nTextPortionStart-pLine->GetStart() );
+                        const sal_Int32* pDXArray = pLine->GetCharPosArray().GetData()+( nTextPortionStart-pLine->GetStart() );
                         long nCharWidth = ( ( (n+1) < pPortion->GetLen() ) ? pDXArray[n] : pPortion->GetSize().Width() )
                                                         - ( n ? pDXArray[n-1] : 0 );
                         if ( (n+1) < pPortion->GetLen() )
Index: source/editeng/impedit3.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/editeng/impedit3.cxx,v
retrieving revision 1.96
retrieving revision 1.96.10.1
diff -u -r1.96 -r1.96.10.1
--- source/editeng/impedit3.cxx	8 Sep 2005 22:33:54 -0000	1.96
+++ source/editeng/impedit3.cxx	19 Sep 2005 11:41:35 -0000	1.96.10.1
@@ -185,7 +185,7 @@
     }
 }
 
-void lcl_DrawRedLines( OutputDevice* pOutDev, long nFontHeight, const Point& rPnt, sal_uInt16 nIndex, sal_uInt16 nMaxEnd, const long* pDXArray, WrongList* pWrongs, short nOrientation, const Point& rOrigin, BOOL bVertical )
+void lcl_DrawRedLines( OutputDevice* pOutDev, long nFontHeight, const Point& rPnt, sal_uInt16 nIndex, sal_uInt16 nMaxEnd, const sal_Int32* pDXArray, WrongList* pWrongs, short nOrientation, const Point& rOrigin, BOOL bVertical )
 {
 #ifndef SVX_LIGHT
 	// Aber nur, wenn Font nicht zu klein...
@@ -1232,7 +1232,7 @@
             if ( bCompressedChars && ( pPortion->GetLen() > 1 ) && pPortion->GetExtraInfos() && pPortion->GetExtraInfos()->bCompressed )
             {
                 // I need the manipulated DXArray for determining the break postion...
-                ImplCalcAsianCompression( pNode, pPortion, nPortionStart, (long*)pLine->GetCharPosArray().GetData() + (nPortionStart-pLine->GetStart()), 10000, TRUE );
+                ImplCalcAsianCompression( pNode, pPortion, nPortionStart, const_cast< sal_Int32* >( pLine->GetCharPosArray().GetData() + (nPortionStart-pLine->GetStart()) ), 10000, TRUE );
             }
 			ImpBreakLine( pParaPortion, pLine, pPortion, nPortionStart,
 											nRemainingWidth, bCanHyphenate && bHyphenatePara );
@@ -2978,8 +2978,8 @@
 								XubString aText;
                                 USHORT nTextStart = 0;
                                 USHORT nTextLen = 0;
-								const long* pDXArray = 0;
-								long* pTmpDXArray = 0;
+								const sal_Int32* pDXArray = 0;
+								sal_Int32* pTmpDXArray = 0;
 
 								if ( pTextPortion->GetKind() == PORTIONKIND_TEXT )
 								{
@@ -2997,7 +2997,7 @@
                                     nTextStart = 0;
                                     nTextLen = aText.Len();
 
-									pTmpDXArray = new long[ aText.Len() ];
+									pTmpDXArray = new sal_Int32[ aText.Len() ];
 									pDXArray = pTmpDXArray;
 									Font aOldFont( GetRefDevice()->GetFont() );
 									aTmpFont.SetPhysFont( GetRefDevice() );
@@ -4083,7 +4083,7 @@
 }
 
 
-BOOL ImpEditEngine::ImplCalcAsianCompression( ContentNode* pNode, TextPortion* pTextPortion, USHORT nStartPos, long* pDXArray, USHORT n100thPercentFromMax, BOOL bManipulateDXArray )
+BOOL ImpEditEngine::ImplCalcAsianCompression( ContentNode* pNode, TextPortion* pTextPortion, USHORT nStartPos, sal_Int32* pDXArray, USHORT n100thPercentFromMax, BOOL bManipulateDXArray )
 {
     DBG_ASSERT( GetAsianCompressionMode(), "ImplCalcAsianCompression - Why?" );
     DBG_ASSERT( pTextPortion->GetLen(), "ImplCalcAsianCompression - Empty Portion?" );
@@ -4254,9 +4254,9 @@
                 USHORT nTxtPortion = pParaPortion->GetTextPortions().GetPos( pTP );
                 USHORT nTxtPortionStart = pParaPortion->GetTextPortions().GetStartPos( nTxtPortion );
                 DBG_ASSERT( nTxtPortionStart >= pLine->GetStart(), "Portion doesn't belong to the line!!!" );
-                long* pDXArray = (long*)pLine->GetCharPosArray().GetData()+( nTxtPortionStart-pLine->GetStart() );
+                sal_Int32* pDXArray = const_cast< sal_Int32* >( pLine->GetCharPosArray().GetData()+( nTxtPortionStart-pLine->GetStart() ) );
                 if ( pTP->GetExtraInfos()->pOrgDXArray )
-                    memcpy( pDXArray, pTP->GetExtraInfos()->pOrgDXArray, (pTP->GetLen()-1)*sizeof(long) );
+                    memcpy( pDXArray, pTP->GetExtraInfos()->pOrgDXArray, (pTP->GetLen()-1)*sizeof(sal_Int32) );
                 ImplCalcAsianCompression( pParaPortion->GetNode(), pTP, nTxtPortionStart, pDXArray, (USHORT)nCompressPercent, TRUE );
             }
         }
@@ -4274,7 +4274,7 @@
                                           const String&			rTxt,
                                           const USHORT 			nIdx, 
                                           const USHORT 			nLen, 
-                                          const long* 			pDXArray ) const
+                                          const sal_Int32* 			pDXArray ) const
 {
     // #116716# output text normally (the obvious solution, to split
     // the text up into single characters, does not work at all for
Index: source/items/svxfont.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/items/svxfont.cxx,v
retrieving revision 1.8
retrieving revision 1.8.12.1
diff -u -r1.8 -r1.8.12.1
--- source/items/svxfont.cxx	8 Sep 2005 23:40:38 -0000	1.8
+++ source/items/svxfont.cxx	19 Sep 2005 11:41:36 -0000	1.8.12.1
@@ -477,7 +477,7 @@
 }
 
 Size SvxFont::QuickGetTextSize( const OutputDevice *pOut, const XubString &rTxt,
-						 const USHORT nIdx, const USHORT nLen, long* pDXArray ) const
+						 const USHORT nIdx, const USHORT nLen, sal_Int32* pDXArray ) const
 {
 	if ( !IsCaseMap() && !IsKern() )
 		return Size( pOut->GetTextArray( rTxt, pDXArray, nIdx, nLen ),
@@ -564,7 +564,7 @@
 
 void SvxFont::QuickDrawText( OutputDevice *pOut,
 	const Point &rPos, const XubString &rTxt,
-	const xub_StrLen nIdx, const xub_StrLen nLen, const long* pDXArray ) const
+	const xub_StrLen nIdx, const xub_StrLen nLen, const sal_Int32* pDXArray ) const
 {
 	// Font muss ins OutputDevice selektiert sein...
 	if ( !IsCaseMap() && !IsCapital() && !IsKern() && !IsEsc() )
Index: source/outliner/outleeng.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/outliner/outleeng.cxx,v
retrieving revision 1.10
retrieving revision 1.10.12.1
diff -u -r1.10 -r1.10.12.1
--- source/outliner/outleeng.cxx	8 Sep 2005 23:57:03 -0000	1.10
+++ source/outliner/outleeng.cxx	19 Sep 2005 11:41:36 -0000	1.10.12.1
@@ -147,7 +147,7 @@
 }
 
 // #101498#
-void OutlinerEditEng::DrawingText( const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const long* pDXArray, const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft)
+void OutlinerEditEng::DrawingText( const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const sal_Int32* pDXArray, const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft)
 {
 	if ( nIndex == 0 )
 	{
Index: source/outliner/outleeng.hxx
===================================================================
RCS file: /cvs/graphics/svx/source/outliner/outleeng.hxx,v
retrieving revision 1.8
retrieving revision 1.8.12.1
diff -u -r1.8 -r1.8.12.1
--- source/outliner/outleeng.hxx	8 Sep 2005 23:57:24 -0000	1.8
+++ source/outliner/outleeng.hxx	19 Sep 2005 11:41:37 -0000	1.8.12.1
@@ -59,7 +59,7 @@
 	virtual void 		ParagraphDeleted( USHORT nDeletedParagraph );
 	
 	// #101498#
-	virtual void 		DrawingText(const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const long* pDXArray, const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft);
+	virtual void 		DrawingText(const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const sal_Int32* pDXArray, const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft);
 
 	virtual	void 		StyleSheetChanged( SfxStyleSheet* pStyle );
 	virtual void 		ParaAttribsChanged( USHORT nPara );
Index: source/outliner/outliner.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/outliner/outliner.cxx,v
retrieving revision 1.60
retrieving revision 1.60.12.1
diff -u -r1.60 -r1.60.12.1
--- source/outliner/outliner.cxx	8 Sep 2005 23:57:56 -0000	1.60
+++ source/outliner/outliner.cxx	19 Sep 2005 11:41:37 -0000	1.60.12.1
@@ -2021,7 +2021,7 @@
 }
 
 // #101498#
-void Outliner::DrawingText( const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const long* pDXArray,const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft)
+void Outliner::DrawingText( const Point& rStartPos, const XubString& rText, USHORT nTextStart, USHORT nTextLen, const sal_Int32* pDXArray,const SvxFont& rFont, USHORT nPara, USHORT nIndex, BYTE nRightToLeft)
 {
 	DBG_CHKTHIS(Outliner,0);
 	
Index: source/xoutdev/_xfont.cxx
===================================================================
RCS file: /cvs/graphics/svx/source/xoutdev/_xfont.cxx,v
retrieving revision 1.14
retrieving revision 1.14.12.1
diff -u -r1.14 -r1.14.12.1
--- source/xoutdev/_xfont.cxx	9 Sep 2005 01:17:21 -0000	1.14
+++ source/xoutdev/_xfont.cxx	19 Sep 2005 11:41:38 -0000	1.14.12.1
@@ -179,7 +179,7 @@
 
 // #101498# Helper method ImpGetTextLength to get text length taking into account
 // hor/vertical and BIDI, especially right-to-left.
-sal_Int32 ImpGetTextLength(OutputDevice* pOut, DrawPortionInfo* pInfo, long* pDXArray, 
+sal_Int32 ImpGetTextLength(OutputDevice* pOut, DrawPortionInfo* pInfo, sal_Int32* pDXArray, 
 	xub_StrLen nIndex, xub_StrLen nLen)
 {
 	sal_Bool bRightToLeft = pInfo->IsRTL();
@@ -210,7 +210,7 @@
 
 // #101498# Helper method ImpDrawTextArray to draw text taking into account
 // hor/vertical and BIDI, especially right-to-left.
-void ImpDrawTextArray(OutputDevice* pOut, const Point& rPos, DrawPortionInfo* pInfo, long* pDXArray, 
+void ImpDrawTextArray(OutputDevice* pOut, const Point& rPos, DrawPortionInfo* pInfo, sal_Int32* pDXArray, 
 	xub_StrLen nIndex, xub_StrLen nLen)
 {
 	sal_Bool bRightToLeft(pInfo->IsRTL());
@@ -258,7 +258,7 @@
 	sal_Bool bToLastPoint, sal_Bool bDraw, sal_Bool bIsShadow)
 {
 	Font aFont = pInfo->rFont;
-	const long* pDXArray = pInfo->pDXArray;
+	const sal_Int32* pDXArray = pInfo->pDXArray;
 	sal_Bool bUseBreakIterator(sal_False);
 
 	Reference < com::sun::star::i18n::XBreakIterator > xBreak;
@@ -340,7 +340,7 @@
 		pDXArray = NULL;
 	}
 
-	nTextWidth = ImpGetTextLength(pOut, pInfo, (long*) pDXArray, 0, pInfo->nTextLen);
+	nTextWidth = ImpGetTextLength(pOut, pInfo, (sal_Int32*) pDXArray, 0, pInfo->nTextLen);
 
 	if ( eFormTextAdjust != XFT_LEFT && nAbsStart <= 0 )
 	{
@@ -435,7 +435,7 @@
 		fLen = sqrt(fDx * fDx + fDy * fDy);
 		nLen = (long) (fLen + 0.5);
 
-		nChar1Len = ImpGetTextLength(pOut, pInfo, (long*) pDXArray, nChar, nGlyphLen);
+		nChar1Len = ImpGetTextLength(pOut, pInfo, (sal_Int32*) pDXArray, nChar, nGlyphLen);
 
 		double fXDist, fYDist;
 		double fCos = fDx;
@@ -490,7 +490,7 @@
 						CharacterIteratorMode::SKIPCELL, 1, nDone) - (nChar + pInfo->nTextStart + nCnt);
 				}
 
-				nTextLen = ImpGetTextLength(pOut, pInfo, (long*) pDXArray, nChar, nCnt + nNextGlyphLen);
+				nTextLen = ImpGetTextLength(pOut, pInfo, (sal_Int32*) pDXArray, nChar, nCnt + nNextGlyphLen);
 
 				nCnt += nNextGlyphLen;
 			}
@@ -559,7 +559,7 @@
 						pOut->SetFont(aFont);
 						if(bDraw)
 						{
-							ImpDrawTextArray(pOut, aPos, pInfo, (long*)pDXArray, nChar, nCnt);
+							ImpDrawTextArray(pOut, aPos, pInfo, (sal_Int32*)pDXArray, nChar, nCnt);
 						}
 					}
 					else
@@ -571,7 +571,7 @@
 						pOut->SetFont(aFont);
 						if(bDraw)
 						{
-							ImpDrawTextArray(pOut, aPos, pInfo, (long*)pDXArray, nChar, nCnt);
+							ImpDrawTextArray(pOut, aPos, pInfo, (sal_Int32*)pDXArray, nChar, nCnt);
 						}
 					}
 				}
@@ -598,7 +598,7 @@
 					{
 						long nW;
 
-						nW = ImpGetTextLength(pOut, pInfo, (long*) pDXArray, nChar, i);
+						nW = ImpGetTextLength(pOut, pInfo, (sal_Int32*) pDXArray, nChar, i);
 
 						aPolyPos.X() += (long) (fDx * nW / fLen);
 						aPolyPos.Y() += (long) (fDy * nW / fLen);
@@ -649,7 +649,7 @@
 					{
 						long nW;
 
-						nW = ImpGetTextLength(pOut, pInfo, (long*) pDXArray, nChar + i, nNextGlyphLen);
+						nW = ImpGetTextLength(pOut, pInfo, (sal_Int32*) pDXArray, nChar + i, nNextGlyphLen);
 
 						aPolyPos.X() -= nW / 2;
 
@@ -670,7 +670,7 @@
 							DrawXPolyPolygon(aChar);
 						else
 						{
-							ImpDrawTextArray(pOut, aPolyPos, pInfo, (long*)pDXArray, nChar + i, nNextGlyphLen);
+							ImpDrawTextArray(pOut, aPolyPos, pInfo, (sal_Int32*)pDXArray, nChar + i, nNextGlyphLen);
 						}
 					}
 
