aboutsummaryrefslogtreecommitdiffstats
path: root/editors/openoffice.org-3/files/patch-rtfcjk
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2003-10-02 14:45:23 +0800
committermaho <maho@FreeBSD.org>2003-10-02 14:45:23 +0800
commit6d5981caf4b6cabfe74c4f8b22bd1f83b2614775 (patch)
treee51b029077e9a5893bc6a76d11de8493f9b54c3f /editors/openoffice.org-3/files/patch-rtfcjk
parent2c3d60b550be0ad514bf9a42ab5c7faf9e492d5b (diff)
downloadfreebsd-ports-graphics-6d5981caf4b6cabfe74c4f8b22bd1f83b2614775.tar.gz
freebsd-ports-graphics-6d5981caf4b6cabfe74c4f8b22bd1f83b2614775.tar.zst
freebsd-ports-graphics-6d5981caf4b6cabfe74c4f8b22bd1f83b2614775.zip
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
Diffstat (limited to 'editors/openoffice.org-3/files/patch-rtfcjk')
-rw-r--r--editors/openoffice.org-3/files/patch-rtfcjk214
1 files changed, 214 insertions, 0 deletions
diff --git a/editors/openoffice.org-3/files/patch-rtfcjk b/editors/openoffice.org-3/files/patch-rtfcjk
new file mode 100644
index 00000000000..2b44f86757f
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-rtfcjk
@@ -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();