mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-23 04:23:08 +00:00
a) add several patches made by Takashi Ono (JCA signed person)
1) To enable handling of MS Word for Windows 95/6.0 CJK Version patch-word6+95-cjkhandling http://www.openoffice.org/issues/show_bug.cgi?id=17498 (target milestone 1.1.1, resolved and fixed) 2) Patch to enable rtf filter handle local language files patch-rtfcjk http://www.openoffice.org/issues/show_bug.cgi?id=17503 (target milestone 2.0, verified and fixed) 3) rtf writing enhancement for CJK patch-wrtrtf http://www.openoffice.org/issues/show_bug.cgi?id=20264 (not confirmed yet) 4) read first section attribute correctly for MS Word for Windows 95/6.0 patch-topsection http://ja.openoffice.org/servlets/ProjectDownloadList?action=download&dlID=312 (IZ is not raized) b) bump portrevision
This commit is contained in:
parent
121a8ec566
commit
9a7eb5c2f3
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=90018
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice-1.1-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice-1.1-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice-1.1-devel/files/patch-topsection
Normal file
21
editors/openoffice-1.1-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice-1.1-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice-1.1-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice-1.1/files/patch-rtfcjk
Normal file
214
editors/openoffice-1.1/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice-1.1/files/patch-topsection
Normal file
21
editors/openoffice-1.1/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice-1.1/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice-1.1/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice-1.1/files/patch-wrtrtf
Normal file
312
editors/openoffice-1.1/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice-2.0-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice-2.0-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice-2.0-devel/files/patch-topsection
Normal file
21
editors/openoffice-2.0-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice-2.0-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice-2.0-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice-3-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice-3-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice-3-devel/files/patch-topsection
Normal file
21
editors/openoffice-3-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice-3-devel/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice-3-devel/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice-3-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice-3-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice-3/files/patch-rtfcjk
Normal file
214
editors/openoffice-3/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice-3/files/patch-topsection
Normal file
21
editors/openoffice-3/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice-3/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice-3/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice-3/files/patch-wrtrtf
Normal file
312
editors/openoffice-3/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice-devel/files/patch-topsection
Normal file
21
editors/openoffice-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice-devel/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice-devel/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-1.1-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-1.1-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-1.1-devel/files/patch-topsection
Normal file
21
editors/openoffice.org-1.1-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-1.1-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-1.1-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-1.1/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-1.1/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-1.1/files/patch-topsection
Normal file
21
editors/openoffice.org-1.1/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice.org-1.1/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice.org-1.1/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-1.1/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-1.1/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-2-RC/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-2-RC/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-2-RC/files/patch-topsection
Normal file
21
editors/openoffice.org-2-RC/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice.org-2-RC/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice.org-2-RC/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-2-RC/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-2-RC/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-2-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-2-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-2-devel/files/patch-topsection
Normal file
21
editors/openoffice.org-2-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-2-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-2-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-2.0-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-2.0-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-2.0-devel/files/patch-topsection
Normal file
21
editors/openoffice.org-2.0-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-2.0-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-2.0-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-2.0/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-2.0/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-2.0/files/patch-topsection
Normal file
21
editors/openoffice.org-2.0/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice.org-2.0/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice.org-2.0/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-2.0/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-2.0/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-2/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-2/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-2/files/patch-topsection
Normal file
21
editors/openoffice.org-2/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice.org-2/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice.org-2/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-2/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-2/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-3-RC/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-3-RC/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-3-RC/files/patch-topsection
Normal file
21
editors/openoffice.org-3-RC/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice.org-3-RC/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice.org-3-RC/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-3-RC/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-3-RC/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-3-devel/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-3-devel/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-3-devel/files/patch-topsection
Normal file
21
editors/openoffice.org-3-devel/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-3-devel/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-3-devel/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-3/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-3/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-3/files/patch-topsection
Normal file
21
editors/openoffice.org-3/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
63
editors/openoffice.org-3/files/patch-word6+95-cjkhandling
Normal file
63
editors/openoffice.org-3/files/patch-word6+95-cjkhandling
Normal file
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-3/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-3/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= openoffice
|
||||
PORTVERSION= 1.1.0
|
||||
PORTREVERSION= 1
|
||||
CATEGORIES+= editors
|
||||
MASTER_SITES+= ftp://openofficeorg.secsup.org/pub/software/openoffice/stable/%SUBDIR%/ \
|
||||
ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/stable/%SUBDIR%/ \
|
||||
|
214
editors/openoffice.org-vcltesttool/files/patch-rtfcjk
Normal file
214
editors/openoffice.org-vcltesttool/files/patch-rtfcjk
Normal file
@ -0,0 +1,214 @@
|
||||
--- ../svx/source/svrtf/rtfitem.cxx 24 Jun 2003 07:48:56 -0000 1.18
|
||||
+++ ../svx/source/svrtf/rtfitem.cxx 25 Jul 2003 22:54:24 -0000
|
||||
@@ -285,11 +285,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType )
|
||||
+// if( LOW_CHARTYPE == eType || HIGH_CHARTYPE == eType ) //Takashi Ono for CJK
|
||||
+ if( LOW_CHARTYPE == eType )
|
||||
{
|
||||
if( *pNormal )
|
||||
{
|
||||
rItem.SetWhich( *pNormal );
|
||||
+ rSet.Put( rItem );
|
||||
+ }
|
||||
+ }
|
||||
+ else if( HIGH_CHARTYPE == eType )
|
||||
+ {
|
||||
+ if( *pCTL )
|
||||
+ {
|
||||
+ rItem.SetWhich( *pCTL );
|
||||
rSet.Put( rItem );
|
||||
}
|
||||
}
|
||||
--- ../svx/source/svrtf/svxrtf.cxx 19 May 2003 12:30:59 -0000 1.15
|
||||
+++ ../svx/source/svrtf/svxrtf.cxx 25 Jul 2003 22:54:29 -0000
|
||||
@@ -583,8 +583,14 @@
|
||||
|
||||
case RTF_FCHARSET:
|
||||
if( -1 != nTokenValue )
|
||||
- pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
- (BYTE)nTokenValue ) );
|
||||
+ {
|
||||
+// pFont->SetCharSet( rtl_getTextEncodingFromWindowsCharset(
|
||||
+// (BYTE)nTokenValue ) );
|
||||
+ CharSet nCharSet =
|
||||
+ rtl_getTextEncodingFromWindowsCharset( (BYTE)nTokenValue );
|
||||
+ pFont->SetCharSet( nCharSet );
|
||||
+ SetEncoding( nCharSet ); //Takashi Ono
|
||||
+ }
|
||||
break;
|
||||
|
||||
case RTF_FPRQ:
|
||||
--- ../sw/source/filter/rtf/swparrtf.cxx 4 Jun 2003 10:19:09 -0000 1.28
|
||||
+++ ../sw/source/filter/rtf/swparrtf.cxx 25 Jul 2003 22:54:37 -0000
|
||||
@@ -3231,10 +3231,156 @@
|
||||
SetSwgValues( rCollSet );
|
||||
}
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+String SwRTFParser::XlateFmtColName( const String &rName )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_NONE, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_NONE, RES_NONE, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_LISTS_BEGIN, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE,RES_NONE, RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ RES_POOL_COLLFMT_TYPE nId = RES_NONE;
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( stiName ) / sizeof( *stiName ); i++)
|
||||
+ {
|
||||
+ if ( rName == String( stiName[i], RTL_TEXTENCODING_MS_1252 ) )
|
||||
+ {
|
||||
+ nId = aArr[i];
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ USHORT nResId;
|
||||
+ if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
|
||||
+ nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
|
||||
+ else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
|
||||
+ nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
|
||||
+ else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
|
||||
+ nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
|
||||
+ else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
|
||||
+ nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
|
||||
+ else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
|
||||
+ nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
|
||||
+ else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
|
||||
+ nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
|
||||
+ return String( ResId( nResId + nId, pSwResMgr ) );
|
||||
+}
|
||||
+
|
||||
SwTxtFmtColl* SwRTFParser::MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle )
|
||||
{
|
||||
- int bCollExist;
|
||||
- SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo),
|
||||
+ int bCollExist;
|
||||
+// SwTxtFmtColl* pColl = MakeColl( rStyle.sName, USHORT(nNo), //Takashi Ono for CJK
|
||||
+ SwTxtFmtColl* pColl = MakeColl( XlateFmtColName( rStyle.sName ),
|
||||
+ USHORT(nNo),
|
||||
rStyle.nOutlineNo, bCollExist );
|
||||
aTxtCollTbl.Insert( nNo, pColl );
|
||||
|
||||
--- ../sw/source/filter/rtf/swparrtf.hxx 19 May 2003 12:25:34 -0000 1.10
|
||||
+++ ../sw/source/filter/rtf/swparrtf.hxx 25 Jul 2003 22:54:44 -0000
|
||||
@@ -364,6 +364,7 @@
|
||||
void SetStyleAttr( SfxItemSet& rCollSet,
|
||||
const SfxItemSet& rStyleSet,
|
||||
const SfxItemSet& rDerivedSet );
|
||||
+ String XlateFmtColName( const String &rName ); //Takashi Ono for CJK
|
||||
SwTxtFmtColl* MakeStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
SwCharFmt* MakeCharStyle( USHORT nNo, const SvxRTFStyleType& rStyle );
|
||||
void MakeStyleTab();
|
21
editors/openoffice.org-vcltesttool/files/patch-topsection
Normal file
21
editors/openoffice.org-vcltesttool/files/patch-topsection
Normal file
@ -0,0 +1,21 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:55:23 -0000
|
||||
@@ -2015,7 +2015,7 @@
|
||||
bool bStartAttr = pPlcxMan->Get(&aRes); // hole Attribut-Pos
|
||||
aRes.nAktCp = rTxtPos; // Akt. Cp-Pos
|
||||
|
||||
- if (aRes.nFlags & MAN_MASK_NEW_SEP) // neue Section
|
||||
+ if ((aRes.nFlags & MAN_MASK_NEW_SEP) || maSectionManager.empty()) // neue Section
|
||||
{
|
||||
ASSERT(pPaM->GetNode()->GetTxtNode(), "Missing txtnode");
|
||||
// PageDesc erzeugen und fuellen
|
||||
--- ../sw/source/filter/ww8/ww8par.hxx 30 Jun 2003 15:54:37 -0000 1.115
|
||||
+++ ../sw/source/filter/ww8/ww8par.hxx 25 Jul 2003 22:55:28 -0000
|
||||
@@ -720,6 +720,7 @@
|
||||
short GetPageLeft() const;
|
||||
short GetPageRight() const;
|
||||
short GetPageWidth() const;
|
||||
+ bool empty() const { return maSegments.empty(); }
|
||||
};
|
||||
|
||||
class wwFrameNamer
|
@ -0,0 +1,63 @@
|
||||
--- ../sw/source/filter/ww8/ww8par.cxx 9 Jul 2003 11:06:44 -0000 1.114
|
||||
+++ ../sw/source/filter/ww8/ww8par.cxx 25 Jul 2003 22:54:52 -0000
|
||||
@@ -1683,11 +1683,20 @@
|
||||
if (bVer67)
|
||||
{
|
||||
sal_Char aTest[2];
|
||||
- aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
- aTest[1] = (nUCode & 0x00FF);
|
||||
- String aTemp(aTest, 2, eSrcCharSet);
|
||||
- ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
- *pWork = aTemp.GetChar(0);
|
||||
+ if (nUCode >= 0x3000)
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0xFF00) >> 8;
|
||||
+ aTest[1] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 2, eSrcCharSet);
|
||||
+ ASSERT(aTemp.Len() == 1, "so much for that theory");
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aTest[0] = (nUCode & 0x00FF);
|
||||
+ String aTemp(aTest, 1, eSrcCharSet);
|
||||
+ *pWork = aTemp.GetChar(0);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
*pWork = nUCode;
|
||||
@@ -3188,7 +3197,8 @@
|
||||
{
|
||||
case 6:
|
||||
case 7:
|
||||
- if ( (0xa5dc != nMagic) && (0xa699 != nMagic) )
|
||||
+ //if ( (0xa5dc != nMagic) && (0xa699 != nMagic) ) //Takashi Ono
|
||||
+ if ( (0xa5dc != nMagic) && ( (0xa697 > nMagic) || (0xa699 < nMagic) ) )
|
||||
{
|
||||
//JP 06.05.99: teste auf eigenen 97-Fake!
|
||||
if (pStg && 0xa5ec == nMagic)
|
||||
--- ../sw/source/filter/ww8/ww8par6.cxx 20 Jun 2003 09:38:07 -0000 1.138
|
||||
+++ ../sw/source/filter/ww8/ww8par6.cxx 25 Jul 2003 22:55:05 -0000
|
||||
@@ -3373,9 +3373,11 @@
|
||||
nId = RES_CHRATR_CTL_FONT;
|
||||
break;
|
||||
case 93:
|
||||
+ case 111:
|
||||
case 0x4a4f:
|
||||
nId = RES_CHRATR_FONT;
|
||||
break;
|
||||
+ case 112:
|
||||
case 0x4a50:
|
||||
nId = RES_CHRATR_CJK_FONT;
|
||||
break;
|
||||
@@ -4984,8 +4986,8 @@
|
||||
//percentage to grow hps short
|
||||
{110, (FNReadRecord)0}, //"sprmCCondHyhen", chp.ysri
|
||||
//ysri short
|
||||
- {111, (FNReadRecord)0}, //"??111",
|
||||
- {112, (FNReadRecord)0}, //"??112",
|
||||
+ {111, &SwWW8ImplReader::Read_FontCode}, //ww7 font
|
||||
+ {112, &SwWW8ImplReader::Read_FontCode}, //ww7 CJK font
|
||||
{113, &SwWW8ImplReader::Read_FontCode}, //ww7 rtl font
|
||||
{114, (FNReadRecord)0}, //"??114",
|
||||
{115, &SwWW8ImplReader::Read_TxtColor}, //ww7 rtl colour ?
|
312
editors/openoffice.org-vcltesttool/files/patch-wrtrtf
Normal file
312
editors/openoffice.org-vcltesttool/files/patch-wrtrtf
Normal file
@ -0,0 +1,312 @@
|
||||
--- ../svtools/source/svrtf/rtfout.cxx.orig 2000-10-16 18:13:46.000000000 +0900
|
||||
+++ ../svtools/source/svrtf/rtfout.cxx 2003-09-23 12:41:00.000000000 +0900
|
||||
@@ -124,8 +124,9 @@
|
||||
default:
|
||||
{
|
||||
sal_Unicode cCh = c;
|
||||
- c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
- if( !c )
|
||||
+ rtl::OString buff( &c, 1, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE|RTL_UNICODETOTEXT_FLAGS_INVALID_IGNORE );
|
||||
+// c = (BYTE)ByteString::ConvertFromUnicode( c, eDestEnc, FALSE );
|
||||
+ if( !buff.getLength() )
|
||||
{
|
||||
// then write as unicode - character
|
||||
if( 0xFF < cCh )
|
||||
@@ -141,8 +142,8 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if( !bWriteHelpFile )
|
||||
- switch( c )
|
||||
+ if( !bWriteHelpFile && buff.getLength() == 1 )
|
||||
+ switch( BYTE(buff[0]) )
|
||||
{
|
||||
#ifdef MAC
|
||||
case 0xa5: pStr = sRTF_BULLET; break;
|
||||
@@ -164,6 +165,9 @@
|
||||
// MAC
|
||||
}
|
||||
if( !pStr )
|
||||
+ for (int i = 0; i < buff.getLength(); ++i)
|
||||
+ {
|
||||
+ c = BYTE(buff[i]);
|
||||
switch ( c )
|
||||
{
|
||||
case '\\':
|
||||
@@ -186,6 +190,7 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
}
|
||||
--- ../sw/source/filter/rtf/wrtrtf.cxx.orig 2003-04-18 00:00:28.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.cxx 2003-09-23 23:33:08.000000000 +0900
|
||||
@@ -184,6 +184,12 @@
|
||||
#ifndef _CHARFMT_HXX
|
||||
#include <charfmt.hxx>
|
||||
#endif
|
||||
+#ifndef _POOLFMT_HXX
|
||||
+#include <poolfmt.hxx>
|
||||
+#endif
|
||||
+#ifndef _SWSTYLENAMEMAPPER_HXX
|
||||
+#include <SwStyleNameMapper.hxx>
|
||||
+#endif
|
||||
#ifndef _SECTION_HXX //autogen
|
||||
#include <section.hxx>
|
||||
#endif
|
||||
@@ -215,7 +221,7 @@
|
||||
SV_IMPL_VARARR( RTFColorTbl, Color )
|
||||
|
||||
|
||||
-SwRTFWriter::SwRTFWriter( const String& rFltName )
|
||||
+SwRTFWriter::SwRTFWriter( const String& rFltName ) : eCurrentCharSet(DEF_ENCODING)
|
||||
{
|
||||
// schreibe Win-RTF-HelpFileFmt
|
||||
bWriteHelpFmt = 'W' == rFltName.GetChar( 0 );
|
||||
@@ -893,14 +899,14 @@
|
||||
// as alternative name. Because WinWord can't match each
|
||||
// font to a UniCode font. So the CJK texts are shown as
|
||||
// empty rectangles ;-(.
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
OutComment( rWrt, sRTF_FALT) << ' ';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sAltNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt ) << '}';
|
||||
}
|
||||
else
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sFntNm, eChrSet,
|
||||
rWrt.bWriteHelpFmt );
|
||||
rWrt.Strm() << ";}";
|
||||
}
|
||||
@@ -932,6 +938,139 @@
|
||||
|
||||
|
||||
|
||||
+//Takashi Ono for CJK
|
||||
+const rtl::OUString SwRTFWriter::XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags )
|
||||
+{
|
||||
+#define RES_NONE RES_POOLCOLL_DOC_END
|
||||
+
|
||||
+ static const RES_POOL_COLLFMT_TYPE aArr[]={
|
||||
+ RES_POOLCOLL_STANDARD, RES_POOLCOLL_HEADLINE1, RES_POOLCOLL_HEADLINE2,
|
||||
+ RES_POOLCOLL_HEADLINE3, RES_POOLCOLL_HEADLINE4, RES_POOLCOLL_HEADLINE5,
|
||||
+ RES_POOLCOLL_HEADLINE6, RES_POOLCOLL_HEADLINE7, RES_POOLCOLL_HEADLINE8,
|
||||
+ RES_POOLCOLL_HEADLINE9,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_IDX1, RES_POOLCOLL_TOX_IDX2, RES_POOLCOLL_TOX_IDX3,
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_TOX_CNTNT1,
|
||||
+
|
||||
+ RES_POOLCOLL_TOX_CNTNT2, RES_POOLCOLL_TOX_CNTNT3, RES_POOLCOLL_TOX_CNTNT4,
|
||||
+ RES_POOLCOLL_TOX_CNTNT5, RES_POOLCOLL_TOX_CNTNT6, RES_POOLCOLL_TOX_CNTNT7,
|
||||
+ RES_POOLCOLL_TOX_CNTNT8, RES_POOLCOLL_TOX_CNTNT9,
|
||||
+ RES_POOLCOLL_TEXT_IDENT, RES_POOLCOLL_FOOTNOTE,
|
||||
+
|
||||
+ RES_NONE, RES_POOLCOLL_HEADER, RES_POOLCOLL_FOOTER, RES_POOLCOLL_TOX_IDXH,
|
||||
+ RES_POOLCOLL_LABEL, RES_POOLCOLL_TOX_ILLUSH, RES_POOLCOLL_JAKETADRESS, RES_POOLCOLL_SENDADRESS,
|
||||
+ RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_ENDNOTE, RES_POOLCOLL_TOX_AUTHORITIESH, RES_NONE, RES_NONE,
|
||||
+ RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_BUL_LEVEL1, RES_POOLCOLL_NUM_LEVEL1,
|
||||
+
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_BUL_LEVEL2, RES_POOLCOLL_BUL_LEVEL3, RES_POOLCOLL_BUL_LEVEL4, RES_POOLCOLL_BUL_LEVEL5,
|
||||
+ RES_POOLCOLL_NUM_LEVEL2, RES_POOLCOLL_NUM_LEVEL3, RES_POOLCOLL_NUM_LEVEL4, RES_POOLCOLL_NUM_LEVEL5,
|
||||
+
|
||||
+ RES_POOLCOLL_DOC_TITEL, RES_NONE, RES_POOLCOLL_SIGNATURE, RES_NONE,
|
||||
+ RES_POOLCOLL_TEXT, RES_POOLCOLL_TEXT_MOVE, RES_NONE, RES_NONE,
|
||||
+
|
||||
+ RES_NONE, RES_NONE, RES_NONE, RES_NONE, RES_POOLCOLL_DOC_SUBTITEL };
|
||||
+ static const sal_Char *stiName[] = {
|
||||
+ "Normal",
|
||||
+ "heading 1",
|
||||
+ "heading 2",
|
||||
+ "heading 3",
|
||||
+ "heading 4",
|
||||
+ "heading 5",
|
||||
+ "heading 6",
|
||||
+ "heading 7",
|
||||
+ "heading 8",
|
||||
+ "heading 9",
|
||||
+ "index 1",
|
||||
+ "index 2",
|
||||
+ "index 3",
|
||||
+ "index 4",
|
||||
+ "index 5",
|
||||
+ "index 6",
|
||||
+ "index 7",
|
||||
+ "index 8",
|
||||
+ "index 9",
|
||||
+ "toc 1",
|
||||
+ "toc 2",
|
||||
+ "toc 3",
|
||||
+ "toc 4",
|
||||
+ "toc 5",
|
||||
+ "toc 6",
|
||||
+ "toc 7",
|
||||
+ "toc 8",
|
||||
+ "toc 9",
|
||||
+ "Normal Indent",
|
||||
+ "footnote text",
|
||||
+ "annotation text",
|
||||
+ "header",
|
||||
+ "footer",
|
||||
+ "index heading",
|
||||
+ "caption",
|
||||
+ "table of figures",
|
||||
+ "envelope address",
|
||||
+ "envelope return",
|
||||
+ "footnote reference",
|
||||
+ "annotation reference",
|
||||
+ "line number",
|
||||
+ "page number",
|
||||
+ "endnote reference",
|
||||
+ "endnote text",
|
||||
+ "table of authorities",
|
||||
+ "macro",
|
||||
+ "toa heading",
|
||||
+ "List",
|
||||
+ "List Bullet",
|
||||
+ "List Number",
|
||||
+ "List 2",
|
||||
+ "List 3",
|
||||
+ "List 4",
|
||||
+ "List 5",
|
||||
+ "List Bullet 2",
|
||||
+ "List Bullet 3",
|
||||
+ "List Bullet 4",
|
||||
+ "List Bullet 5",
|
||||
+ "List Number 2",
|
||||
+ "List Number 3",
|
||||
+ "List Number 4",
|
||||
+ "List Number 5",
|
||||
+ "Title",
|
||||
+ "Closing",
|
||||
+ "Signature",
|
||||
+ "Default Paragraph Font",
|
||||
+ "Body Text",
|
||||
+ "Body Text Indent",
|
||||
+ "List Continue",
|
||||
+ "List Continue 2",
|
||||
+ "List Continue 3",
|
||||
+ "List Continue 4",
|
||||
+ "List Continue 5",
|
||||
+ "Message Header",
|
||||
+ "Subtitle",
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ ASSERT( ( sizeof( aArr ) / sizeof( RES_POOL_COLLFMT_TYPE ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+ ASSERT( ( sizeof( stiName ) / sizeof( *stiName ) == 75 ),
|
||||
+ "Style-UEbersetzungstabelle hat falsche Groesse" );
|
||||
+
|
||||
+ sal_uInt16 idcol = ::SwStyleNameMapper::GetPoolIdFromUIName( rName, eFlags );
|
||||
+
|
||||
+ for (int i = 0; i < sizeof( aArr ) / sizeof( *aArr ); i++)
|
||||
+ {
|
||||
+ if ( idcol == aArr[i] )
|
||||
+ {
|
||||
+ return rtl::OUString::createFromAscii(stiName[i]);
|
||||
+ }
|
||||
+ }
|
||||
+ return ::SwStyleNameMapper::GetProgName( idcol, String() );
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void SwRTFWriter::OutRTFStyleTab()
|
||||
{
|
||||
// das 0-Style ist das Default, wird nie ausgegeben !!
|
||||
@@ -988,7 +1127,7 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pColl->GetName(), DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pColl->GetName(), GET_POOLID_TXTCOLL ), DEF_ENCODING,
|
||||
bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
@@ -1015,8 +1154,8 @@
|
||||
}
|
||||
|
||||
Strm() << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), pFmt->GetName(), DEF_ENCODING,
|
||||
- bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( pFmt->GetName(), GET_POOLID_CHRFMT ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}" << SwRTFWriter::sNewLine;
|
||||
}
|
||||
|
||||
Strm() << '}';
|
||||
@@ -1217,8 +1356,8 @@
|
||||
break;
|
||||
Strm() << sRTF_PGDSCNXT;
|
||||
OutULong( i ) << ' ';
|
||||
- RTFOutFuncs::Out_String( Strm(), rPageDesc.GetName(),
|
||||
- DEF_ENCODING, bWriteHelpFmt ) << ";}";
|
||||
+ RTFOutFuncs::Out_String( Strm(), XlateFmtName( rPageDesc.GetName(), GET_POOLID_PAGEDESC ), DEF_ENCODING,
|
||||
+ bWriteHelpFmt ) << ";}";
|
||||
}
|
||||
Strm() << '}' << SwRTFWriter::sNewLine;
|
||||
bOutPageDesc = bOutPageDescTbl = FALSE;
|
||||
--- ../sw/source/filter/rtf/wrtrtf.hxx.orig 2002-07-31 19:18:50.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/wrtrtf.hxx 2003-09-23 23:37:50.000000000 +0900
|
||||
@@ -117,6 +117,7 @@
|
||||
USHORT nAktFlyPos; // Index auf das naechste "FlyFrmFmt"
|
||||
void OutRTFColorTab();
|
||||
void OutRTFFontTab();
|
||||
+ const rtl::OUString XlateFmtName( const rtl::OUString &rName, SwGetPoolIdFromName eFlags );
|
||||
void OutRTFStyleTab();
|
||||
void OutRTFListTab();
|
||||
|
||||
@@ -136,6 +137,8 @@
|
||||
USHORT nBkmkTabPos; // akt. Position in der Bookmark-Tabelle
|
||||
USHORT nCurScript; // actual scripttype
|
||||
|
||||
+ rtl_TextEncoding eCurrentCharSet;
|
||||
+
|
||||
#if defined(MAC) || defined(UNX)
|
||||
static const sal_Char sNewLine; // nur \012 oder \015
|
||||
#else
|
||||
--- ../sw/source/filter/rtf/rtfatr.cxx.orig 2003-05-19 21:24:46.000000000 +0900
|
||||
+++ ../sw/source/filter/rtf/rtfatr.cxx 2003-09-23 23:45:52.000000000 +0900
|
||||
@@ -1319,7 +1319,7 @@
|
||||
sURL = aTmp.GetFull();
|
||||
}
|
||||
*/ rWrt.Strm() << '\"';
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
sURL = aTmp.GetMark();
|
||||
}
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
rWrt.Strm() << "\\\\l \"";
|
||||
sURL.Erase( 0, 1 );
|
||||
- RTFOutFuncs::Out_String( rWrt.Strm(), sURL, DEF_ENCODING,
|
||||
+ RTFOutFuncs::Out_String( rWrt.Strm(), sURL, rRTFWrt.eCurrentCharSet,
|
||||
rRTFWrt.bWriteHelpFmt ) << "\" ";
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@
|
||||
|
||||
if( nStrPos != nEnde )
|
||||
RTFOutFuncs::Out_Char( rWrt.Strm(), rStr.GetChar( nStrPos ),
|
||||
- DEF_ENCODING, rRTFWrt.bWriteHelpFmt );
|
||||
+ rRTFWrt.eCurrentCharSet, rRTFWrt.bWriteHelpFmt );
|
||||
}
|
||||
|
||||
// noch eine schliesende Klammer da ??
|
||||
@@ -2188,6 +2188,7 @@
|
||||
const sal_Char* pCmd = bAssoc ? sRTF_AF : sRTF_F;
|
||||
rWrt.Strm() << pCmd;
|
||||
rWrt.OutULong(rRTFWrt.GetId(rFont));
|
||||
+ rRTFWrt.eCurrentCharSet = rFont.GetCharSet();
|
||||
}
|
||||
return rWrt;
|
||||
}
|
Loading…
Reference in New Issue
Block a user