diff options
Diffstat (limited to 'formula')
-rw-r--r-- | formula/source/core/api/token.cxx | 13 | ||||
-rw-r--r-- | formula/source/core/resource/core_resource.src | 22 |
2 files changed, 30 insertions, 5 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx index 50964217a901..a33ce70d4e25 100644 --- a/formula/source/core/api/token.cxx +++ b/formula/source/core/api/token.cxx @@ -1053,6 +1053,8 @@ inline bool MissingConventionOOXML::isRewriteNeeded( OpCode eOp ) const case ocIndex: + case ocCeil: + case ocGammaDist: case ocFDist_LT: case ocPoissonDist: @@ -1411,7 +1413,16 @@ FormulaTokenArray * FormulaTokenArray::RewriteMissing( const MissingConvention & break; } if (bAdd) - pNewArr->AddToken( *pCur ); + { + if ( pCur->GetOpCode() == ocCeil && + rConv.getConvention() == MissingConvention::FORMULA_MISSING_CONVENTION_OOXML ) + { + FormulaToken *pToken = new FormulaToken( svByte, ocCeil_Math ); + pNewArr->AddToken( *pToken ); + } + else + pNewArr->AddToken( *pCur ); + } } if (pOcas != &aOpCodeAddressStack[0]) diff --git a/formula/source/core/resource/core_resource.src b/formula/source/core/resource/core_resource.src index 31d5d9446add..4462ee9b2b91 100644 --- a/formula/source/core/resource/core_resource.src +++ b/formula/source/core/resource/core_resource.src @@ -149,8 +149,10 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF String SC_OPCODE_ERROR_TYPE_ODF { Text = "ERROR.TYPE" ; }; String SC_OPCODE_FORMULA { Text = "FORMULA"; }; String SC_OPCODE_ARC_TAN_2 { Text = "ATAN2" ; }; + String SC_OPCODE_CEIL_MATH { Text = "COM.MICROSOFT.CEILING.MATH" ; }; String SC_OPCODE_CEIL { Text = "CEILING" ; }; - String SC_OPCODE_CEIL_MS { Text = "COM.MICROSOFT.CEILING.PRECISE" ; }; + String SC_OPCODE_CEIL_MS { Text = "COM.MICROSOFT.CEILING" ; }; + String SC_OPCODE_CEIL_PRECISE { Text = "COM.MICROSOFT.CEILING.PRECISE" ; }; String SC_OPCODE_CEIL_ISO { Text = "COM.MICROSOFT.ISO.CEILING" ; }; String SC_OPCODE_FLOOR_MS { Text = "COM.MICROSOFT.FLOOR.PRECISE" ; }; String SC_OPCODE_FLOOR { Text = "FLOOR" ; }; @@ -565,8 +567,10 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML String SC_OPCODE_ERROR_TYPE_ODF { Text = "ERROR.TYPE" ; }; String SC_OPCODE_FORMULA { Text = "_xlfn.FORMULATEXT"; }; String SC_OPCODE_ARC_TAN_2 { Text = "ATAN2" ; }; - String SC_OPCODE_CEIL { Text = "CEILING" ; }; - String SC_OPCODE_CEIL_MS { Text = "_xlfn.CEILING.PRECISE" ; }; + String SC_OPCODE_CEIL_MATH { Text = "_xlfn.CEILING.MATH" ; }; + String SC_OPCODE_CEIL { Text = "_xlfn.CEILING.MATH" ; }; + String SC_OPCODE_CEIL_MS { Text = "CEILING" ; }; + String SC_OPCODE_CEIL_PRECISE { Text = "_xlfn.CEILING.PRECISE" ; }; String SC_OPCODE_CEIL_ISO { Text = "ISO.CEILING" ; }; String SC_OPCODE_FLOOR_MS { Text = "_xlfn.FLOOR.PRECISE" ; }; String SC_OPCODE_FLOOR { Text = "FLOOR" ; }; @@ -983,8 +987,10 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH String SC_OPCODE_ERROR_TYPE_ODF { Text = "ERROR.TYPE" ; }; String SC_OPCODE_FORMULA { Text = "FORMULA"; }; String SC_OPCODE_ARC_TAN_2 { Text = "ATAN2" ; }; + String SC_OPCODE_CEIL_MATH { Text = "CEILING.MATH" ; }; String SC_OPCODE_CEIL { Text = "CEILING" ; }; - String SC_OPCODE_CEIL_MS { Text = "CEILING.PRECISE" ; }; + String SC_OPCODE_CEIL_MS { Text = "CEILING.XCL" ; }; + String SC_OPCODE_CEIL_PRECISE { Text = "CEILING.PRECISE" ; }; String SC_OPCODE_CEIL_ISO { Text = "ISO.CEILING" ; }; String SC_OPCODE_FLOOR_MS { Text = "FLOOR.PRECISE" ; }; String SC_OPCODE_FLOOR { Text = "FLOOR" ; }; @@ -1718,12 +1724,20 @@ Resource RID_STRLIST_FUNCTION_NAMES { Text [ en-US ] = "ATAN2" ; }; + String SC_OPCODE_CEIL_MATH + { + Text [ en-US ] = "CEILING.MATH" ; + }; String SC_OPCODE_CEIL { Text [ en-US ] = "CEILING" ; }; String SC_OPCODE_CEIL_MS { + Text [ en-US ] = "CEILING.XCL" ; + }; + String SC_OPCODE_CEIL_PRECISE + { Text [ en-US ] = "CEILING.PRECISE" ; }; String SC_OPCODE_CEIL_ISO |