ooo-build r15211 - in trunk: . patches/dev300
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r15211 - in trunk: . patches/dev300
- Date: Wed, 28 Jan 2009 15:35:48 +0000 (UTC)
Author: kyoshida
Date: Wed Jan 28 15:35:48 2009
New Revision: 15211
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15211&view=rev
Log:
2009-01-28 Kohei Yoshida <kyoshida novell com>
* patches/dev300/calc-formula-asian-phonetic-m39.diff:
* patches/dev300/calc-formula-asian-phonetic.diff:
* patches/dev300/apply: adjusted for dev300-m40.
Added:
trunk/patches/dev300/calc-formula-asian-phonetic-m39.diff (props changed)
- copied unchanged from r15209, /trunk/patches/dev300/calc-formula-asian-phonetic.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
trunk/patches/dev300/calc-formula-asian-phonetic.diff
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Wed Jan 28 15:35:48 2009
@@ -2257,9 +2257,15 @@
# faster file load.
calc-xls-disable-adjust-row-height.diff, kohei
+[ CalcFixes <= dev300-m39 ]
+# Support PHONETIC function to display asian phonetic guide.
+calc-formula-asian-phonetic-m39.diff, i#80764, i#80765, i#80766, kohei
+
+[ CalcFixes > dev300-m39 ]
# Support PHONETIC function to display asian phonetic guide.
calc-formula-asian-phonetic.diff, i#80764, i#80765, i#80766, kohei
+[ CalcFixes ]
# Support Excel English grammar needed for VBA and (probably) for xlsx filter.
calc-grammar-xls-english-offapi.diff, kohei
calc-grammar-xls-english-sc.diff, kohei
Modified: trunk/patches/dev300/calc-formula-asian-phonetic.diff
==============================================================================
--- trunk/patches/dev300/calc-formula-asian-phonetic.diff (original)
+++ trunk/patches/dev300/calc-formula-asian-phonetic.diff Wed Jan 28 15:35:48 2009
@@ -1,16 +1,73 @@
+diff --git formula/inc/formula/compiler.hrc formula/inc/formula/compiler.hrc
+index 8c402c2..9aea242 100644
+--- formula/inc/formula/compiler.hrc
++++ formula/inc/formula/compiler.hrc
+@@ -193,7 +193,8 @@
+ #define SC_OPCODE_UNICODE 155
+ #define SC_OPCODE_UNICHAR 156
+ #define SC_OPCODE_GAMMA 157
+-#define SC_OPCODE_STOP_1_PAR 158
++#define SC_OPCODE_PHONETIC 158
++#define SC_OPCODE_STOP_1_PAR 159
+
+ /*** Functions with more than one parameters ***/
+ #define SC_OPCODE_START_2_PAR 201
+diff --git formula/inc/formula/opcode.hxx formula/inc/formula/opcode.hxx
+index 4b93aab..6171a59 100644
+--- formula/inc/formula/opcode.hxx
++++ formula/inc/formula/opcode.hxx
+@@ -186,6 +186,7 @@ enum OpCodeEnum
+ ocAsc = SC_OPCODE_ASC,
+ ocUnicode = SC_OPCODE_UNICODE,
+ ocUnichar = SC_OPCODE_UNICHAR,
++ ocPhonetic = SC_OPCODE_PHONETIC,
+ // Functions with more than one parameters
+ ocArcTan2 = SC_OPCODE_ARC_TAN_2,
+ ocCeil = SC_OPCODE_CEIL,
+diff --git formula/source/core/resource/core_resource.src formula/source/core/resource/core_resource.src
+index b1b79a5..0aa767c 100644
+--- formula/source/core/resource/core_resource.src
++++ formula/source/core/resource/core_resource.src
+@@ -337,6 +337,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
+ String SC_OPCODE_HYPERLINK { Text = "HYPERLINK" ; };
+ String SC_OPCODE_INFO { Text = "INFO" ; };
+ String SC_OPCODE_BAHTTEXT { Text = "COM.MICROSOFT.BAHTTEXT" ; };
++ String SC_OPCODE_PHONETIC { Text = "PHONETIC" ; };
+ String SC_OPCODE_GET_PIVOT_DATA { Text = "GETPIVOTDATA" ; };
+ String SC_OPCODE_EUROCONVERT { Text = "EUROCONVERT" ; };
+ String SC_OPCODE_NUMBERVALUE { Text = "NUMBERVALUE" ; };
+@@ -661,6 +662,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH
+ String SC_OPCODE_HYPERLINK { Text = "HYPERLINK" ; };
+ String SC_OPCODE_INFO { Text = "INFO" ; };
+ String SC_OPCODE_BAHTTEXT { Text = "BAHTTEXT" ; };
++ String SC_OPCODE_PHONETIC { Text = "PHONETIC" ; };
+ String SC_OPCODE_GET_PIVOT_DATA { Text = "GETPIVOTDATA" ; };
+ String SC_OPCODE_EUROCONVERT { Text = "EUROCONVERT" ; };
+ String SC_OPCODE_NUMBERVALUE { Text = "NUMBERVALUE" ; };
+@@ -1815,6 +1817,10 @@ Resource RID_STRLIST_FUNCTION_NAMES
+ {
+ Text [ en-US ] = "BAHTTEXT";
+ };
++ String SC_OPCODE_PHONETIC
++ {
++ Text [ en-US ] = "PHONETIC";
++ };
+ String SC_OPCODE_GET_PIVOT_DATA
+ {
+ Text [ en-US ] = "GETPIVOTDATA";
diff --git sc/inc/cell.hxx sc/inc/cell.hxx
-index 9dcf5d7..0328c25 100644
+index 9124b81..87bb8cb 100644
--- sc/inc/cell.hxx
+++ sc/inc/cell.hxx
@@ -43,6 +43,7 @@
+ #include "formula/grammar.hxx"
#include "tokenarray.hxx"
- #include "grammar.hxx"
#include "formularesult.hxx"
+#include "phonetic.hxx"
#include <rtl/ustrbuf.hxx>
#include <vcl/fontcvt.hxx>
-
-@@ -62,6 +63,7 @@ class ScTokenArray;
+ #include "scdllapi.h"
+@@ -62,6 +63,7 @@ class ScCodeArray;
class ScProgress;
class ScPostIt;
class ScPatternAttr;
@@ -263,10 +320,10 @@
/*
diff --git sc/inc/cellsuno.hxx sc/inc/cellsuno.hxx
-index 99b32c4..e89bd77 100644
+index 376e758..17b226d 100644
--- sc/inc/cellsuno.hxx
+++ sc/inc/cellsuno.hxx
-@@ -976,6 +976,14 @@ public:
+@@ -981,6 +981,14 @@ public:
static String GetInputString_Impl(ScDocument* pDoc, const ScAddress& aPos, BOOL bEnglish);
static String GetOutputString_Impl(ScDocument* pDoc, const ScAddress& aPos);
@@ -281,32 +338,6 @@
};
-diff --git sc/inc/compiler.hrc sc/inc/compiler.hrc
-index ec67599..a8a9d78 100644
---- sc/inc/compiler.hrc
-+++ sc/inc/compiler.hrc
-@@ -192,7 +192,8 @@
- #define SC_OPCODE_ASC 154
- #define SC_OPCODE_UNICODE 155
- #define SC_OPCODE_UNICHAR 156
--#define SC_OPCODE_STOP_1_PAR 157
-+#define SC_OPCODE_PHONETIC 157
-+#define SC_OPCODE_STOP_1_PAR 158
-
- /*** Functions with more than one parameters ***/
- #define SC_OPCODE_START_2_PAR 201
-diff --git sc/inc/opcode.hxx sc/inc/opcode.hxx
-index e0940f7..a98fb5b 100644
---- sc/inc/opcode.hxx
-+++ sc/inc/opcode.hxx
-@@ -187,6 +187,7 @@ enum OpCodeEnum
- ocAsc = SC_OPCODE_ASC,
- ocUnicode = SC_OPCODE_UNICODE,
- ocUnichar = SC_OPCODE_UNICHAR,
-+ ocPhonetic = SC_OPCODE_PHONETIC,
- // Functions with more than one parameters
- ocArcTan2 = SC_OPCODE_ARC_TAN_2,
- ocCeil = SC_OPCODE_CEIL,
diff --git sc/inc/phonetic.hxx sc/inc/phonetic.hxx
new file mode 100644
index 0000000..9a369d8
@@ -421,19 +452,19 @@
+
+#endif
diff --git sc/inc/scfuncs.hrc sc/inc/scfuncs.hrc
-index 37e62f6..5d34782 100644
+index d0ca82f..24fa7f8 100644
--- sc/inc/scfuncs.hrc
+++ sc/inc/scfuncs.hrc
-@@ -330,3 +330,4 @@
+@@ -333,3 +333,4 @@
#define HID_FUNC_UNICODE (HID_SC_FUNC_DUMMY+(ID_FUNCTION_GRP_TEXT*ID_FUNCTION_OFFSET)+31)
#define HID_FUNC_UNICHAR (HID_SC_FUNC_DUMMY+(ID_FUNCTION_GRP_TEXT*ID_FUNCTION_OFFSET)+32)
#define HID_FUNC_NUMBERVALUE (HID_SC_FUNC_DUMMY+(ID_FUNCTION_GRP_TEXT*ID_FUNCTION_OFFSET)+33)
+#define HID_FUNC_PHONETIC (HID_SC_FUNC_DUMMY+(ID_FUNCTION_GRP_TEXT*ID_FUNCTION_OFFSET)+34)
diff --git sc/source/core/data/cell.cxx sc/source/core/data/cell.cxx
-index 21c35f8..c1a7317 100644
+index 4796477..084a3a0 100644
--- sc/source/core/data/cell.cxx
+++ sc/source/core/data/cell.cxx
-@@ -75,10 +75,14 @@ const USHORT nMemPoolValueCell = (0x8000 - 64) / sizeof(ScValueCell);
+@@ -76,10 +76,14 @@ const USHORT nMemPoolValueCell = (0x8000 - 64) / sizeof(ScValueCell);
const USHORT nMemPoolFormulaCell = (0x8000 - 64) / sizeof(ScFormulaCell);
const USHORT nMemPoolStringCell = (0x4000 - 64) / sizeof(ScStringCell);
const USHORT nMemPoolNoteCell = (0x1000 - 64) / sizeof(ScNoteCell);
@@ -447,8 +478,8 @@
+IMPL_FIXEDMEMPOOL_NEWDEL( ScAsianEditCell, nMemPoolAsianEditCell, nMemPoolAsianEditCell )
#endif
- #ifndef PRODUCT
-@@ -483,19 +487,31 @@ BOOL ScBaseCell::CellEqual( const ScBaseCell* pCell1, const ScBaseCell* pCell2 )
+ // -----------------------------------------------------------------------
+@@ -478,19 +482,31 @@ BOOL ScBaseCell::CellEqual( const ScBaseCell* pCell1, const ScBaseCell* pCell2 )
return ( ((const ScValueCell*)pCell1)->GetValue() ==
((const ScValueCell*)pCell2)->GetValue() );
case CELLTYPE_STRING: // String oder Edit
@@ -494,10 +525,10 @@
{
//! eingefuegte Zeilen / Spalten beruecksichtigen !!!!!
diff --git sc/source/core/data/cell2.cxx sc/source/core/data/cell2.cxx
-index 23ea97f..d68124b 100644
+index af14bfc..2e4bda5 100644
--- sc/source/core/data/cell2.cxx
+++ sc/source/core/data/cell2.cxx
-@@ -143,6 +143,11 @@ void ScEditCell::GetString( String& rString ) const
+@@ -145,6 +145,11 @@ void ScEditCell::GetString( String& rString ) const
rString.Erase();
}
@@ -510,7 +541,7 @@
{
const struct {
diff --git sc/source/core/data/makefile.mk sc/source/core/data/makefile.mk
-index 1cad27e..b6c8269 100644
+index 3836d4c..3b8c7c4 100644
--- sc/source/core/data/makefile.mk
+++ sc/source/core/data/makefile.mk
@@ -97,6 +97,7 @@ SLOFILES = \
@@ -600,10 +631,10 @@
+}
+
diff --git sc/source/core/inc/interpre.hxx sc/source/core/inc/interpre.hxx
-index c95063e..05bae1c 100644
+index 681766d..fb5331d 100644
--- sc/source/core/inc/interpre.hxx
+++ sc/source/core/inc/interpre.hxx
-@@ -190,6 +190,7 @@ double GetValueCellValue( const ScAddress&, const ScValueCell* );
+@@ -194,6 +194,7 @@ double GetValueCellValue( const ScAddress&, const ScValueCell* );
ScBaseCell* GetCell( const ScAddress& rPos )
{ return pDok->GetCell( rPos ); }
void GetCellString( String& rStr, const ScBaseCell* pCell );
@@ -611,7 +642,7 @@
inline USHORT GetCellErrCode( const ScBaseCell* pCell )
{ return pCell ? pCell->GetErrorCode() : 0; }
inline CellType GetCellType( const ScBaseCell* pCell )
-@@ -519,6 +520,7 @@ void ScExternalRef();
+@@ -523,6 +524,7 @@ void ScExternalRef();
void ScGetPivotData();
void ScHyperLink();
void ScBahtText();
@@ -619,42 +650,11 @@
void ScCalcTeam();
void ScAnswer();
void ScTTT();
-diff --git sc/source/core/src/compiler.src sc/source/core/src/compiler.src
-index adf9402..579f2f8 100644
---- sc/source/core/src/compiler.src
-+++ sc/source/core/src/compiler.src
-@@ -1167,6 +1167,10 @@ Resource RID_SC_FUNCTION_NAMES
- {
- Text [ en-US ] = "BAHTTEXT";
- };
-+ String SC_OPCODE_PHONETIC
-+ {
-+ Text [ en-US ] = "PHONETIC";
-+ };
- String SC_OPCODE_GET_PIVOT_DATA
- {
- Text [ en-US ] = "GETPIVOTDATA";
-@@ -1526,6 +1530,7 @@ Resource RID_SC_FUNCTION_NAMES_ENGLISH
- String SC_OPCODE_HYPERLINK { Text = "HYPERLINK" ; };
- String SC_OPCODE_INFO { Text = "INFO" ; };
- String SC_OPCODE_BAHTTEXT { Text = "BAHTTEXT" ; };
-+ String SC_OPCODE_PHONETIC { Text = "PHONETIC" ; };
- String SC_OPCODE_GET_PIVOT_DATA { Text = "GETPIVOTDATA" ; };
- String SC_OPCODE_EUROCONVERT { Text = "EUROCONVERT" ; };
- String SC_OPCODE_NUMBERVALUE { Text = "NUMBERVALUE" ; };
-@@ -1847,6 +1852,7 @@ Resource RID_SC_FUNCTION_NAMES_ENGLISH_ODFF
- String SC_OPCODE_HYPERLINK { Text = "HYPERLINK" ; };
- String SC_OPCODE_INFO { Text = "INFO" ; };
- String SC_OPCODE_BAHTTEXT { Text = "COM.MICROSOFT.BAHTTEXT" ; };
-+ String SC_OPCODE_PHONETIC { Text = "PHONETIC" ; };
- String SC_OPCODE_GET_PIVOT_DATA { Text = "GETPIVOTDATA" ; };
- String SC_OPCODE_EUROCONVERT { Text = "EUROCONVERT" ; };
- String SC_OPCODE_NUMBERVALUE { Text = "NUMBERVALUE" ; };
diff --git sc/source/core/tool/interpr2.cxx sc/source/core/tool/interpr2.cxx
-index 9d75e1b..a11e2a6 100644
+index 44f1668..550f43b 100644
--- sc/source/core/tool/interpr2.cxx
+++ sc/source/core/tool/interpr2.cxx
-@@ -2668,6 +2668,76 @@ void ScInterpreter::ScBahtText()
+@@ -2853,6 +2853,76 @@ void ScInterpreter::ScBahtText()
// ============================================================================
@@ -730,12 +730,12 @@
+
void ScInterpreter::ScGetPivotData()
{
- BYTE nParamCount = GetByte();
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "Eike Rathke sun com", "ScInterpreter::ScGetPivotData" );
diff --git sc/source/core/tool/interpr4.cxx sc/source/core/tool/interpr4.cxx
-index 811b9da..893eb7a 100644
+index 665e4da..a5c7de8 100644
--- sc/source/core/tool/interpr4.cxx
+++ sc/source/core/tool/interpr4.cxx
-@@ -349,6 +349,189 @@ void ScInterpreter::GetCellString( String& rStr, const ScBaseCell* pCell )
+@@ -359,6 +359,189 @@ void ScInterpreter::GetCellString( String& rStr, const ScBaseCell* pCell )
SetError(nErr);
}
@@ -925,7 +925,7 @@
BOOL ScInterpreter::CreateDoubleArr(SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
SCCOL nCol2, SCROW nRow2, SCTAB nTab2, BYTE* pCellArr)
-@@ -3787,6 +3970,7 @@ StackVar ScInterpreter::Interpret()
+@@ -3870,6 +4053,7 @@ StackVar ScInterpreter::Interpret()
case ocInfo : ScInfo(); break;
case ocHyperLink : ScHyperLink(); break;
case ocBahtText : ScBahtText(); break;
@@ -934,7 +934,7 @@
case ocJis : ScJis(); break;
case ocAsc : ScAsc(); break;
diff --git sc/source/filter/excel/xehelper.cxx sc/source/filter/excel/xehelper.cxx
-index f27907e..48eeb94 100644
+index 54043ce..7dbe4b8 100644
--- sc/source/filter/excel/xehelper.cxx
+++ sc/source/filter/excel/xehelper.cxx
@@ -600,7 +600,16 @@ XclExpStringRef XclExpStringHelper::CreateCellString(
@@ -972,10 +972,10 @@
}
diff --git sc/source/filter/excel/xestring.cxx sc/source/filter/excel/xestring.cxx
-index 4d6efc0..dac338a 100644
+index c210911..afcd334 100644
--- sc/source/filter/excel/xestring.cxx
+++ sc/source/filter/excel/xestring.cxx
-@@ -291,7 +291,8 @@ bool XclExpString::IsEqual( const XclExpString& rCmp ) const
+@@ -296,7 +296,8 @@ bool XclExpString::IsEqual( const XclExpString& rCmp ) const
( mbIsBiff8 && (maUniBuffer == rCmp.maUniBuffer)) ||
(!mbIsBiff8 && (maCharBuffer == rCmp.maCharBuffer))
) &&
@@ -985,7 +985,7 @@
}
bool XclExpString::IsLessThan( const XclExpString& rCmp ) const
-@@ -302,6 +303,18 @@ bool XclExpString::IsLessThan( const XclExpString& rCmp ) const
+@@ -307,6 +308,18 @@ bool XclExpString::IsLessThan( const XclExpString& rCmp ) const
return (nResult != 0) ? (nResult < 0) : (maFormats < rCmp.maFormats);
}
@@ -1004,7 +1004,7 @@
// get data -------------------------------------------------------------------
sal_uInt16 XclExpString::GetFormatsCount() const
-@@ -309,17 +322,25 @@ sal_uInt16 XclExpString::GetFormatsCount() const
+@@ -314,17 +327,25 @@ sal_uInt16 XclExpString::GetFormatsCount() const
return static_cast< sal_uInt16 >( maFormats.size() );
}
@@ -1034,7 +1034,7 @@
}
sal_Size XclExpString::GetBufferSize() const
-@@ -330,9 +351,10 @@ sal_Size XclExpString::GetBufferSize() const
+@@ -335,9 +356,10 @@ sal_Size XclExpString::GetBufferSize() const
sal_Size XclExpString::GetSize() const
{
return
@@ -1048,7 +1048,7 @@
}
sal_uInt16 XclExpString::GetChar( sal_uInt16 nCharIdx ) const
-@@ -380,6 +402,10 @@ void XclExpString::WriteHeader( XclExpStream& rStrm ) const
+@@ -385,6 +407,10 @@ void XclExpString::WriteHeader( XclExpStream& rStrm ) const
// format run count
if( IsWriteFormats() )
rStrm << GetFormatsCount();
@@ -1059,7 +1059,7 @@
rStrm.SetSliceSize( 0 );
}
-@@ -416,6 +442,46 @@ void XclExpString::WriteFormats( XclExpStream& rStrm, bool bWriteSize ) const
+@@ -421,6 +447,46 @@ void XclExpString::WriteFormats( XclExpStream& rStrm, bool bWriteSize ) const
}
}
@@ -1106,7 +1106,7 @@
void XclExpString::Write( XclExpStream& rStrm ) const
{
if (!mbSkipHeader)
-@@ -423,6 +489,8 @@ void XclExpString::Write( XclExpStream& rStrm ) const
+@@ -428,6 +494,8 @@ void XclExpString::Write( XclExpStream& rStrm ) const
WriteBuffer( rStrm );
if( IsWriteFormats() ) // only in BIFF8 included in string
WriteFormats( rStrm );
@@ -1115,7 +1115,7 @@
}
void XclExpString::WriteHeaderToMem( sal_uInt8* pnMem ) const
-@@ -488,6 +556,11 @@ bool XclExpString::IsWriteFormats() const
+@@ -545,6 +613,11 @@ bool XclExpString::IsWriteFormats() const
return mbIsBiff8 && !mbSkipFormats && IsRich();
}
@@ -1202,10 +1202,10 @@
XclImpStringIterator::XclImpStringIterator( const XclImpString& rString ) :
diff --git sc/source/filter/excel/xlformula.cxx sc/source/filter/excel/xlformula.cxx
-index 8912407..3e0bc20 100644
+index 7ca2f80..94b3951 100644
--- sc/source/filter/excel/xlformula.cxx
+++ sc/source/filter/excel/xlformula.cxx
-@@ -324,12 +324,12 @@ static const XclFunctionInfo saFuncTable_5[] =
+@@ -327,12 +327,12 @@ static const XclFunctionInfo saFuncTable_5[] =
const sal_Char* const EXC_FUNCNAME_BAHTTEXT = EXC_FUNCNAME_PREFIX "BAHTTEXT";
@@ -1221,7 +1221,7 @@
{ ocMaxA, 362, 1, 30, V, { R }, 0, 0 },
{ ocMinA, 363, 1, 30, V, { R }, 0, 0 },
diff --git sc/source/filter/inc/xestring.hxx sc/source/filter/inc/xestring.hxx
-index 81bf8dc..0168b81 100644
+index 706b12c..8851736 100644
--- sc/source/filter/inc/xestring.hxx
+++ sc/source/filter/inc/xestring.hxx
@@ -32,11 +32,13 @@
@@ -1237,8 +1237,8 @@
+class ScPhonetic;
class EditTextObject;
class XclExpStream;
-
-@@ -194,6 +196,12 @@ public:
+ class XclExpXmlStream;
+@@ -195,6 +197,12 @@ public:
/** Removes and returns the font index for the first char from the formatting runs, otherwise EXC_FONT_NOTFOUND. */
sal_uInt16 RemoveLeadingFont();
@@ -1251,7 +1251,7 @@
// get data ---------------------------------------------------------------
/** Returns the character count of the string. */
-@@ -214,6 +222,11 @@ public:
+@@ -215,6 +223,11 @@ public:
/** Returns the vector with all formatting runs. */
inline const XclFormatRunVec& GetFormats() const { return maFormats; }
@@ -1263,7 +1263,7 @@
/** Returns the current string flags field to export. */
sal_uInt8 GetFlagField() const;
/** Returns the byte count the header will take on export. */
-@@ -240,6 +253,8 @@ public:
+@@ -243,6 +256,8 @@ public:
void WriteBuffer( XclExpStream& rStrm ) const;
/** Writes the raw formatting run buffer. */
void WriteFormats( XclExpStream& rStrm, bool bWriteSize = false ) const;
@@ -1272,7 +1272,7 @@
/** Writes the complete Unicode string. */
void Write( XclExpStream& rStrm ) const;
-@@ -256,6 +271,8 @@ private:
+@@ -261,6 +276,8 @@ private:
bool IsWriteFlags() const;
/** Returns true, if the formatting run vector should be written. */
bool IsWriteFormats() const;
@@ -1281,7 +1281,7 @@
/** Sets the string length but regards the limit given in mnMaxLen. */
void SetStrLen( sal_Int32 nNewLen );
-@@ -310,6 +327,7 @@ private:
+@@ -315,6 +332,7 @@ private:
ScfUInt16Vec maUniBuffer; /// The Unicode character buffer.
ScfUInt8Vec maCharBuffer; /// The byte character buffer.
XclFormatRunVec maFormats; /// All formatting runs.
@@ -1617,7 +1617,7 @@
#endif
diff --git sc/source/filter/xml/makefile.mk sc/source/filter/xml/makefile.mk
-index d44da6b..b0f31f8 100644
+index 7c4006e..da2d12e 100644
--- sc/source/filter/xml/makefile.mk
+++ sc/source/filter/xml/makefile.mk
@@ -73,6 +73,7 @@ CXXFILES = \
@@ -1637,7 +1637,7 @@
$(SLO)$/xmllabri.obj \
$(SLO)$/XMLTableHeaderFooterContext.obj \
diff --git sc/source/filter/xml/xmlcelli.cxx sc/source/filter/xml/xmlcelli.cxx
-index cc0a6a2..bac6564 100644
+index 7801505..5973a34 100644
--- sc/source/filter/xml/xmlcelli.cxx
+++ sc/source/filter/xml/xmlcelli.cxx
@@ -38,6 +38,7 @@
@@ -1648,25 +1648,7 @@
#include "global.hxx"
#include "document.hxx"
#include "cellsuno.hxx"
-@@ -117,6 +118,7 @@ ScXMLTableRowCellContext::ScXMLTableRowCellContext( ScXMLImport& rImport,
- pOUTextValue(NULL),
- pOUTextContent(NULL),
- pOUFormula(NULL),
-+ pOUPhoneticText(NULL),
- pContentValidationName(NULL),
- pMyAnnotation(NULL),
- pDetectiveObjVec(NULL),
-@@ -297,6 +299,9 @@ ScXMLTableRowCellContext::~ScXMLTableRowCellContext()
- delete pDetectiveObjVec;
- if (pCellRangeSource)
- delete pCellRangeSource;
-+
-+ // no need to check for NULL-ness when 'delete'-ing a pointer.
-+ delete pOUPhoneticText;
- }
-
- void ScXMLTableRowCellContext::LockSolarMutex()
-@@ -459,6 +464,12 @@ SvXMLImportContext *ScXMLTableRowCellContext::CreateChildContext( USHORT nPrefix
+@@ -445,6 +446,12 @@ SvXMLImportContext *ScXMLTableRowCellContext::CreateChildContext( USHORT nPrefix
rXMLImport, nPrefix, rLName, xAttrList, pCellRangeSource );
}
break;
@@ -1679,7 +1661,7 @@
}
if (!pContext && !bTextP)
-@@ -765,6 +776,81 @@ bool lcl_IsEmptyOrNote( ScDocument* pDoc, const table::CellAddress& rCurrentPos
+@@ -741,6 +748,82 @@ bool lcl_IsEmptyOrNote( ScDocument* pDoc, const table::CellAddress& rCurrentPos
return ( !pCell || pCell->GetCellType() == CELLTYPE_NOTE );
}
@@ -1739,7 +1721,8 @@
+ return aKanaType;
+}
+
-+static ScBaseCell* lcl_CreateTextCell ( const String& rString, ScDocument* pDoc, const ::rtl::OUString* pPhoneticText )
++static ScBaseCell* lcl_CreateTextCell ( const String& rString, ScDocument* pDoc,
++ const ::boost::optional< ::rtl::OUString >& pPhoneticText )
+{
+ ScBaseCell *pCell = 0;
+
@@ -1761,7 +1744,7 @@
void ScXMLTableRowCellContext::EndElement()
{
if (!bHasSubTable)
-@@ -935,11 +1021,11 @@ void ScXMLTableRowCellContext::EndElement()
+@@ -911,11 +994,11 @@ void ScXMLTableRowCellContext::EndElement()
ScBaseCell* pNewCell = NULL;
ScDocument* pDoc = rXMLImport.GetDocument();
if (pOUTextValue && pOUTextValue->getLength())
@@ -1773,10 +1756,10 @@
else if ( i > 0 && pOUText && pOUText->getLength() )
- pNewCell = ScBaseCell::CreateTextCell( *pOUText, pDoc );
+ pNewCell = lcl_CreateTextCell( *pOUText, pDoc, pOUPhoneticText );
- if ( pNewCell )
- {
- ScAddress aScAddress;
-@@ -1026,6 +1112,18 @@ void ScXMLTableRowCellContext::EndElement()
+
+ bDoIncrement = pNewCell != NULL;
+ if ( bDoIncrement )
+@@ -1002,6 +1085,18 @@ void ScXMLTableRowCellContext::EndElement()
}
else
{
@@ -1795,29 +1778,28 @@
// #i56027# If the child context put formatted text into the cell,
// bIsEmpty is TRUE and ProgressBarIncrement has to be called
// with bEditCell = TRUE.
-@@ -1132,3 +1230,10 @@ void ScXMLTableRowCellContext::EndElement()
+@@ -1106,3 +1201,9 @@ void ScXMLTableRowCellContext::EndElement()
nMergedRows = 1;
nCellsRepeated = 1;
}
+
+void ScXMLTableRowCellContext::SetPhoneticText(const rtl::OUString& rOUPhoneticText)
+{
-+ delete pOUPhoneticText;
-+ pOUPhoneticText = new ::rtl::OUString(rOUPhoneticText);
++ pOUPhoneticText.reset(rOUPhoneticText);
+}
+
diff --git sc/source/filter/xml/xmlcelli.hxx sc/source/filter/xml/xmlcelli.hxx
-index 589077d..192637d 100644
+index 46dfdd9..80fda8f 100644
--- sc/source/filter/xml/xmlcelli.hxx
+++ sc/source/filter/xml/xmlcelli.hxx
@@ -71,6 +71,7 @@ class ScXMLTableRowCellContext : public SvXMLImportContext
- rtl::OUString* pOUTextContent;
- rtl::OUString* pOUFormula;
+ ::boost::optional< rtl::OUString > pOUTextValue;
+ ::boost::optional< rtl::OUString > pOUTextContent;
+ ::boost::optional< rtl::OUString > pOUFormula;
++ ::boost::optional< rtl::OUString > pOUPhoneticText;
rtl::OUString* pContentValidationName;
-+ rtl::OUString* pOUPhoneticText;
ScMyImportAnnotation* pMyAnnotation;
ScMyImpDetectiveObjVec* pDetectiveObjVec;
- ScMyImpCellRangeSource* pCellRangeSource;
@@ -142,6 +143,13 @@ public:
virtual void EndElement();
@@ -1833,10 +1815,10 @@
#endif
diff --git sc/source/filter/xml/xmlexprt.cxx sc/source/filter/xml/xmlexprt.cxx
-index 7604afa..29b4fa1 100644
+index 207b685..8b6c0cf 100644
--- sc/source/filter/xml/xmlexprt.cxx
+++ sc/source/filter/xml/xmlexprt.cxx
-@@ -2332,11 +2332,27 @@ sal_Bool ScXMLExport::GetCellText (ScMyCell& rMyCell, const ScAddress& aPos) con
+@@ -2333,11 +2333,27 @@ sal_Bool ScXMLExport::GetCellText (ScMyCell& rMyCell, const ScAddress& aPos) con
// {
rMyCell.sStringValue = ScCellObj::GetOutputString_Impl(pDoc, aPos);
rMyCell.bHasStringValue = sal_True;
@@ -1864,7 +1846,7 @@
void ScXMLExport::WriteCell (ScMyCell& aCell)
{
ScAddress aCellPos;
-@@ -2480,13 +2496,20 @@ void ScXMLExport::WriteCell (ScMyCell& aCell)
+@@ -2481,13 +2497,20 @@ void ScXMLExport::WriteCell (ScMyCell& aCell)
uno::Reference<text::XText> xText(xCurrentTableCellRange->getCellByPosition(aCell.aCellAddress.Column, aCell.aCellAddress.Row), uno::UNO_QUERY);
if ( xText.is())
GetTextParagraphExport()->exportText(xText, sal_False, sal_False);
@@ -1904,89 +1886,81 @@
sal_Bool IsCellTypeEqual (const ScMyCell& aCell1, const ScMyCell& aCell2) const;
diff --git sc/source/filter/xml/xmlimprt.cxx sc/source/filter/xml/xmlimprt.cxx
-index 99beb2d..635b53d 100644
+index 1702bcc..4cff9f1 100644
--- sc/source/filter/xml/xmlimprt.cxx
+++ sc/source/filter/xml/xmlimprt.cxx
-@@ -415,7 +415,28 @@ static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTokenMap[] =
- { XML_NAMESPACE_OFFICE, XML_ANNOTATION, XML_TOK_TABLE_ROW_CELL_ANNOTATION },
- { XML_NAMESPACE_TABLE, XML_DETECTIVE, XML_TOK_TABLE_ROW_CELL_DETECTIVE },
- { XML_NAMESPACE_TABLE, XML_CELL_RANGE_SOURCE, XML_TOK_TABLE_ROW_CELL_CELL_RANGE_SOURCE },
-- XML_TOKEN_MAP_END
-+ { XML_NAMESPACE_TEXT, XML_RUBY, XML_TOK_TABLE_ROW_CELL_RUBY },
-+ XML_TOKEN_MAP_END
-+};
-+
-+static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTextTokenMap[] =
-+{
-+ { XML_NAMESPACE_TEXT, XML_S, XML_TOK_TABLE_ROW_CELL_TEXT_S },
-+ { XML_NAMESPACE_TEXT, XML_RUBY, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY },
-+ XML_TOKEN_MAP_END
-+};
-+
-+static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTextRubyAttrTokenMap[] =
-+{
-+ { XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY_ATTR_STYLE_NAME },
-+ XML_TOKEN_MAP_END
-+};
-+
-+static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTextRubyTokenMap[] =
-+{
-+ { XML_NAMESPACE_TEXT, XML_RUBY_BASE, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY_BASE },
-+ { XML_NAMESPACE_TEXT, XML_RUBY_TEXT, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY_TEXT },
-+ XML_TOKEN_MAP_END
- };
-
- static __FAR_DATA SvXMLTokenMapEntry aTableRowCellAttrTokenMap[] =
-@@ -1120,6 +1141,27 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTokenMap()
- return *pTableRowCellElemTokenMap;
+@@ -811,6 +811,49 @@ const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTokenMap()
+ return *pTableRowCellElemTokenMap;
}
++ SvXMLTokenMap *pTableRowCellElemTextRubyAttrTokenMap;
++
+const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTextTokenMap()
+{
-+ if( !pTableRowCellElemTextTokenMap )
-+ pTableRowCellElemTextTokenMap = new SvXMLTokenMap( aTableRowCellTextTokenMap );
-+ return *pTableRowCellElemTextTokenMap;
++ if (!pTableRowCellElemTextTokenMap)
++ {
++ static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTextTokenMap[] =
++ {
++ { XML_NAMESPACE_TEXT, XML_S, XML_TOK_TABLE_ROW_CELL_TEXT_S },
++ { XML_NAMESPACE_TEXT, XML_RUBY, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY },
++ XML_TOKEN_MAP_END
++ };
++ pTableRowCellElemTextTokenMap = new SvXMLTokenMap(aTableRowCellTextTokenMap);
++ }
+}
+
+const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTextRubyTokenMap()
+{
-+ if( !pTableRowCellElemTextRubyTokenMap )
-+ pTableRowCellElemTextRubyTokenMap = new SvXMLTokenMap( aTableRowCellTextRubyTokenMap );
-+ return *pTableRowCellElemTextRubyTokenMap;
++ if (!pTableRowCellElemTextRubyTokenMap)
++ {
++ static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTextRubyAttrTokenMap[] =
++ {
++ { XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY_ATTR_STYLE_NAME },
++ XML_TOKEN_MAP_END
++ };
++ pTableRowCellElemTextRubyTokenMap = new SvXMLTokenMap(aTableRowCellTextRubyAttrTokenMap);
++ }
+}
+
+const SvXMLTokenMap& ScXMLImport::GetTableRowCellElemTextRubyAttrTokenMap()
+{
-+ if( !pTableRowCellElemTextRubyAttrTokenMap )
-+ pTableRowCellElemTextRubyAttrTokenMap = new SvXMLTokenMap( aTableRowCellTextRubyAttrTokenMap );
-+ return *pTableRowCellElemTextRubyAttrTokenMap;
++ if (!pTableRowCellElemTextRubyAttrTokenMap)
++ {
++ static __FAR_DATA SvXMLTokenMapEntry aTableRowCellTextRubyTokenMap[] =
++ {
++ { XML_NAMESPACE_TEXT, XML_RUBY_BASE, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY_BASE },
++ { XML_NAMESPACE_TEXT, XML_RUBY_TEXT, XML_TOK_TABLE_ROW_CELL_TEXT_RUBY_TEXT },
++ XML_TOKEN_MAP_END
++ };
++ pTableRowCellElemTextRubyAttrTokenMap = new SvXMLTokenMap(aTableRowCellTextRubyTokenMap);
++ }
+}
+
- const SvXMLTokenMap& ScXMLImport::GetTableRowCellAttrTokenMap()
+ const SvXMLTokenMap& ScXMLImport::GetTableAnnotationAttrTokenMap()
{
- if ( !pTableRowCellAttrTokenMap )
-@@ -1487,6 +1529,9 @@ ScXMLImport::ScXMLImport(
- pTableRowElemTokenMap( 0 ),
- pTableRowAttrTokenMap( 0 ),
- pTableRowCellElemTokenMap( 0 ),
-+ pTableRowCellElemTextTokenMap( 0 ),
-+ pTableRowCellElemTextRubyTokenMap( 0 ),
-+ pTableRowCellElemTextRubyAttrTokenMap( 0 ),
- pTableRowCellAttrTokenMap( 0 ),
- pTableAnnotationAttrTokenMap( 0 ),
- pDetectiveElemTokenMap( 0 ),
-@@ -1613,6 +1658,9 @@ ScXMLImport::~ScXMLImport() throw()
- delete pTableRowElemTokenMap;
- delete pTableRowAttrTokenMap;
- delete pTableRowCellElemTokenMap;
+ if( !pTableAnnotationAttrTokenMap )
+@@ -1642,6 +1685,9 @@ ScXMLImport::ScXMLImport(
+ pTableRowElemTokenMap( 0 ),
+ pTableRowAttrTokenMap( 0 ),
+ pTableRowCellElemTokenMap( 0 ),
++ pTableRowCellElemTextTokenMap( 0 ),
++ pTableRowCellElemTextRubyTokenMap( 0 ),
++ pTableRowCellElemTextRubyAttrTokenMap( 0 ),
+ pTableRowCellAttrTokenMap( 0 ),
+ pTableAnnotationAttrTokenMap( 0 ),
+ pDetectiveElemTokenMap( 0 ),
+@@ -1766,6 +1812,9 @@ ScXMLImport::~ScXMLImport() throw()
+ delete pTableRowElemTokenMap;
+ delete pTableRowAttrTokenMap;
+ delete pTableRowCellElemTokenMap;
+ delete pTableRowCellElemTextTokenMap;
+ delete pTableRowCellElemTextRubyTokenMap;
+ delete pTableRowCellElemTextRubyAttrTokenMap;
- delete pTableRowCellAttrTokenMap;
- delete pTableAnnotationAttrTokenMap;
- delete pDetectiveElemTokenMap;
+ delete pTableRowCellAttrTokenMap;
+ delete pTableAnnotationAttrTokenMap;
+ delete pDetectiveElemTokenMap;
diff --git sc/source/filter/xml/xmlimprt.hxx sc/source/filter/xml/xmlimprt.hxx
-index 6e028f5..31f2b99 100644
+index 2219b0a..30ef849 100644
--- sc/source/filter/xml/xmlimprt.hxx
+++ sc/source/filter/xml/xmlimprt.hxx
@@ -248,7 +248,25 @@ enum ScXMLTableRowCellTokens
@@ -2447,7 +2421,7 @@
+
+#endif
diff --git sc/source/filter/xml/xmlstyle.cxx sc/source/filter/xml/xmlstyle.cxx
-index 863e82c..56e92b8 100644
+index b3af684..2d51ccc 100644
--- sc/source/filter/xml/xmlstyle.cxx
+++ sc/source/filter/xml/xmlstyle.cxx
@@ -140,6 +140,7 @@ const XMLPropertyMapEntry aXMLScRowStylesImportProperties[] =
@@ -2459,7 +2433,7 @@
};
diff --git sc/source/filter/xml/xmlstyli.cxx sc/source/filter/xml/xmlstyli.cxx
-index 9624740..87584b1 100644
+index 95f9b2b..733a50c 100644
--- sc/source/filter/xml/xmlstyli.cxx
+++ sc/source/filter/xml/xmlstyli.cxx
@@ -64,8 +64,9 @@
@@ -2473,7 +2447,7 @@
using namespace ::com::sun::star::xml::sax;
using namespace ::com::sun::star::style;
using namespace ::com::sun::star::frame;
-@@ -695,22 +696,30 @@ SvXMLStyleContext *XMLTableStylesContext::CreateStyleStyleChildContext(
+@@ -693,22 +694,30 @@ SvXMLStyleContext *XMLTableStylesContext::CreateStyleStyleChildContext(
sal_uInt16 nFamily, sal_uInt16 nPrefix, const OUString& rLocalName,
const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{
@@ -2520,11 +2494,10 @@
return pStyle;
}
-@@ -1081,3 +1090,102 @@ void ScMasterPageContext::Finish( sal_Bool bOverwrite )
- if (!bContainsRightHeader)
+@@ -1082,3 +1091,102 @@ void ScMasterPageContext::Finish( sal_Bool bOverwrite )
ClearContent(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_PAGE_RIGHTHDRCON)));
}
-+
+
+class ScXMLRubyStyleContext : public SvXMLImportContext
+{
+ rtl::OUString sPosition;
@@ -2623,8 +2596,9 @@
+ }
+}
+
++
diff --git sc/source/filter/xml/xmlstyli.hxx sc/source/filter/xml/xmlstyli.hxx
-index 237e8e3..ead1581 100644
+index bd42e17..732f4f6 100644
--- sc/source/filter/xml/xmlstyli.hxx
+++ sc/source/filter/xml/xmlstyli.hxx
@@ -258,6 +258,59 @@ public:
@@ -2688,10 +2662,10 @@
namespace style { class XStyle; }
} } }
diff --git sc/source/ui/src/scfuncs.src sc/source/ui/src/scfuncs.src
-index 27e6868..fd230d3 100644
+index 747f43b..a64f6f9 100644
--- sc/source/ui/src/scfuncs.src
+++ sc/source/ui/src/scfuncs.src
-@@ -7884,6 +7884,33 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
+@@ -7995,6 +7995,33 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2
Text [ en-US ] = "The text to convert.";
};
};
@@ -2726,10 +2700,10 @@
Resource SC_OPCODE_CODE
{
diff --git sc/source/ui/unoobj/cellsuno.cxx sc/source/ui/unoobj/cellsuno.cxx
-index 7c0e769..d3e5576 100644
+index c33166a..79d5e40 100644
--- sc/source/ui/unoobj/cellsuno.cxx
+++ sc/source/ui/unoobj/cellsuno.cxx
-@@ -6235,6 +6235,32 @@ String ScCellObj::GetOutputString_Impl(ScDocument* pDoc, const ScAddress& aCellP
+@@ -6253,6 +6253,32 @@ String ScCellObj::GetOutputString_Impl(ScDocument* pDoc, const ScAddress& aCellP
return aVal;
}
@@ -2763,13 +2737,13 @@
{
ScDocShell* pDocSh = GetDocShell();
diff --git sc/util/hidother.src sc/util/hidother.src
-index 9d7ec65..3a9cbf7 100644
+index 8d21ed1..041a1bd 100644
--- sc/util/hidother.src
+++ sc/util/hidother.src
-@@ -389,6 +389,7 @@ hidspecial HID_FUNC_UNICODE { HelpID = HID_FUNC_UNICODE; };
- hidspecial HID_FUNC_UNICHAR { HelpID = HID_FUNC_UNICHAR; };
- hidspecial HID_FUNC_EUROCONVERT { HelpID = HID_FUNC_EUROCONVERT; };
- hidspecial HID_FUNC_NUMBERVALUE { HelpID = HID_FUNC_NUMBERVALUE; };
+@@ -392,6 +392,7 @@ hidspecial HID_FUNC_NUMBERVALUE { HelpID = HID_FUNC_NUMBERVALUE; };
+ hidspecial HID_FUNC_GAMMA { HelpID = HID_FUNC_GAMMA; };
+ hidspecial HID_FUNC_CHISQDIST { HelpID = HID_FUNC_CHISQDIST; };
+ hidspecial HID_FUNC_CHISQINV { HelpID = HID_FUNC_CHISQINV; };
+hidspecial HID_FUNC_PHONETIC { HelpID = HID_FUNC_PHONETIC; };
// ... and from Analysis Addin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]