summaryrefslogtreecommitdiff
path: root/starmath
AgeCommit message (Collapse)Author
2021-09-28gives names to all the Idles and TasksNoel Grandin
enforce it by making the constructor parameter non-default. Change-Id: I321543e4dcf15ea0a43ad8cce91d2f8dc22df6ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122766 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-28vcl: rename OutDevState to StackChris Sherlock
I have moved the header file to include/vcl/rendercontext as this will eventually be part of the RenderContext split from OutputDevice. State and associated enums have also been moved to the vcl namespace. I have also moved ComplexTextLayoutFlags into the vcl::text namespace. Change-Id: I0abbf560e75b45a272854b267e948c240cd69091 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121524 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-20clean up ambiguous confusing rectangle APIs like IsInside()Luboš Luňák
Reading 'rectA.IsInside( rectB )' kind of suggests that the code checks whether 'rectA is inside rectB', but it's actually the other way around. Rename IsInside() -> Contains(), IsOver() -> Overlaps(), which should make it clear which way the logic goes. Change-Id: I9347450fe7dc34c96df6d636a4e3e660de1801ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122271 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins
2021-09-20Add sal/config.h in preparation for patchChris Sherlock
The convention is that we need to add sal/config.h to the start of files. I have a patch queued to be able to create a FontMetric from a PhysicalFontFace. Submitting this patch so I can hopefully one day land this patch. Change-Id: I5817acd6e194da576f2c8a13539d38954a4f4e15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122172 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-19Some more string_view use, add o3tl::starts/ends_withStephan Bergmann
...until those C++20 string_view member functions are generally available (the fallback implementations are taken directly from the C++20 spec). (In ParseMathMLAttributeLengthValue in starmath/source/mathml/mathmlattr.cxx, returning nIdx + 2 instead of nIdx + 1 for the single-character u'%' case was presumably a typo, but which was harmless as the return value was only checked for <= 0, and has now been turned into a bool.) Change-Id: Ib441e474c515f016a4d81bb39f7821dfe0356499 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122322 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-09-18vcl: create FontMetric from PhysicalFontFaceChris Sherlock
A FontMetric can be created from a PhysicalFontFace, so setup a constructor that takes a PhysicalFontFace object to instantiate the FontMetric. The OutputDevice functions GetDevFont() and GetDevFontCount() don't necessarily make much sense, so have changed GetDevFont() to GetFontMetricFromCollection() and GetDevFontCount() to GetFontFaceCollectionCount(). Change-Id: I1577679b949a49a7cf1248838786d0f5e84a5245 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121796 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-17remove GetCharClassPtr from SvtSysLocaleNoel Grandin
we already have GetCharClass and we never return a nullptr Change-Id: I3cb79bc60be614c0474ecfdaad17991f2ecb6368 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122208 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-16Increase accuracy of ParseMathMLUnsignedNumber Fraction resultStephan Bergmann
The new test from d5e55d204b71710eb5eb5d2c683dd6698626df3c "tdf#144319: sw_odfexport: Add unittest" started to cause UBSan failure during CppunitTest_sw_odfexport (<https://ci.libreoffice.org/job/lo_ubsan/2136/>), > /workdir/UnpackedTarball/boost/boost/rational.hpp:605:22: runtime error: signed integer overflow: 1073741824 * 2 cannot be represented in type 'int' > #0 0x2b450983594f in boost::rational<int>::operator/=(boost::rational<int> const&) /workdir/UnpackedTarball/boost/boost/rational.hpp:605:22 > #1 0x2b450982e216 in Fraction::operator/=(Fraction const&) /tools/source/generic/fract.cxx:224:7 > #2 0x2b45098312d3 in operator/(Fraction const&, Fraction const&) /tools/source/generic/fract.cxx:320:10 > #3 0x2b46066963d5 in (anonymous namespace)::lcl_CountBlanks(MathMLAttributeLengthValue const&, int*, int*) /starmath/source/mathml/mathmlimport.cxx:1497:30 > #4 0x2b46066943eb in (anonymous namespace)::SmXMLSpaceContext_Impl::startFastElement(int, com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&) /starmath/source/mathml/mathmlimport.cxx:1526:25 [...] Formula-14/content.xml in sw/qa/extras/odfexport/data/tdf144319.odt contains width="0.444em", which resulted in the inaccurate Fraction 476741369/1073741824 since 67d83e40e2c4f3862c50e6abeabfc24a75119fc8 "speedup rational_FromDouble" (which computes dVal=4.76741e+08 and nDen=1073741824; where before that speedup it computed dVal=4.44e+08 and nDen=1000000000, which would have resulted in the accurate Fraction 111/250). The excessively large denominator (1073741824 = std::numeric_limits<sal_Int32>::max()/2 + 1) then caused overflow later on, as shown above. Change-Id: I221549528e4fa155e10697d218ec76bf678e8b2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122186 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-09-15loplugin:finalclassesNoel Grandin
Change-Id: I88831f290e1923db6fb5a733746bfa3bc7fbc7e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122148 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 4Mike Kaganski
- Change implementations of getSomething to use getSomethingImpl Or where that's impossible, use getSomething_cast to unify this and reduce number of places where we reinterpret_cast. All static methods getting tunnel ids were renamed to getUnoTunnelId, to comply with the convention used in <comphelper/servicehelper.hxx>. TODO (in separate commits): - Revise uses of getSomething to use getFromUnoTunnel Change-Id: Ifde9e214b52e5df678de71fcc32d2199c82e85cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122100 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 1Mike Kaganski
The header got some changes: 1. Move UnoTunnelIdInit and isUnoTunnelId into 'comphelper' namespace 2. Rename UnoTunnelIdInit to UnoIdInit, as a precondition to replace of uses of OImplementationId with it, including in XTypeProvider 3. Introduce convenience functions 'getSomething_cast' to cast between sal_Int64 and object pointers uniformly. 4. Rename getUnoTunnelImplementation to getFromUnoTunnel, both to make it a bit shorter, and to reflect its function better. Templatize it to take also css::uno::Any for convenience. 5. Introduce getSomethingImpl, inspired by sw::UnoTunnelImpl; allow it handle cases both with and without fallback to parent. 6. Adjust UNO3_GETIMPLEMENTATION_* macros TODO (in separate commits): - Drop sw::UnoTunnelImpl and sw::UnoTunnelGetImplementation - Replace all uses of OImplementationId in core with UnoIdInit - Deprecate OImplementationId in <cppuhelper/typeprovider.hxx> - Change implementations of getSomething to use getSomethingImpl - Revise uses of getSomething to use getFromUnoTunnel Change-Id: If4a3cb024130f1f552f988f0479589da1cd066e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122022 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-10Fix typosAndrea Gelmini
Change-Id: Icb9acdf67be84e3bedab53188246890b6aa82a7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120286 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-09-07Avoid repeating the return type from the declarationMiklos Vajna
Change-Id: I0dce02d10b8c74e80f5672e2dd580b6837ba3291 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121732 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-09-04use std::vector for fetching DX array dataNoel Grandin
because I'm trying to track down a related heap corruption, and that is much easier if the access to the array is checked by the std::vector debug runtime Change-Id: Ia665f5cebb7f14d88942e88b4b400ad3c28ef5d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121527 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02rename UpdateMode -> UpdateLayout in editeng classNoel Grandin
... because "update" is such a generic term I keep forgetting what we are turning on and off Also return the previous value from SetUpdateLayout to make the save/restore code more compact. Change-Id: Iae1764c837a92e58c9b17521f130e8fc80311d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121479 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02clang-tidy:readability-redundant-member-initNoel Grandin
Change-Id: I39b9ac81d65f4a269293824642c1b2ec593c0584 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121490 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02unused definesNoel Grandin
Change-Id: I494e64c69decb9fb3d5b13ffc2f18d99f6b7749f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121442 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02tdf#144189 Not Precedes (U+2280) and Not Succeeds (U+2281)dante
Change-Id: Id2d619769012a1b26415656e7793a70c6b17c298 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121482 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-31ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I9867737be62871aaa80a9ce0b51318afa62e8a67 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121334 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-30ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I3ced8d55a7c725e8efb80a49b4fa7e4c84d1be5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121214 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-29ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I35210b36a927b96f29d0a07a3cf63e226e4c4453 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121191 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-25ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara
Change-Id: I15d68391e20fba3a8ba46621aac0c831cd0900b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120964 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-20New loplugin:unusedcapturedefaultStephan Bergmann
In sc/qa/unit/ucalc_formula.cxx, dropping the capture-default from the lExpectedinF lambda revealed that MSVC in C++17 mode (i.e., when building without --with-latest-c++) requires ROW_RANGE (a local const int variable from the enclosing TestFormula::testTdf97369) to be captured, even though all uses of that variable within the lambda body are constant expressions. That is still true at least for the latest Visual Studio 2019 version 16.11.1. (This is not an issue for the lExpectedinH and lExpectedinI lambdas a few lines further down, as they, in addition to using that ROW_RANGE, also use the local const double variables SHIFT1 and SHIFT2, whose uses are not constant expressions, so they are implicitly captured and loplugin:unusedcapturedefault does not suggest dropping those lambdas' capture-defaults in the first place.) Change-Id: Iee7efb485187cbe8eba6a2d470afca4993eb1816 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120693 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-20Fine tune new sm import / exportdante
Change-Id: I7e7ec875b3d0f8f1d62f22270a306bc2f57421ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120768 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20Improve code reability with different function namesdante
Change-Id: I0799cb26642197813b054c1bde39cf1ced7519a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120767 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20Fix typo in new SmMlElement exporterdante
Change-Id: Ia1e7963dbb2f69a8b8f43903882521da94eaffe5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120766 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20Add a SmMlElement tree to the sm documentdante
Change-Id: Ide764b512004198277baed60ac4e1a5ef0d1c2dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120765 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20Add security handlers to the iteratorsdante
Change-Id: I0cc8dd92c7ae870e58f0f9118df76569d6deecd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120764 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-19loplugin:constmethodsNoel Grandin
Change-Id: I786096b989daa6004a6527aafbe825b6f0a22d90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120710 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-19cid#1490357 Dereference after null checkCaolán McNamara
Change-Id: I107dc27a4bec1794293192dea986670220989ec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120685 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-19cid#1490354/1490355: Logically dead codeJulien Nabet
Change-Id: I2f20f60d01e5b5969a51041726b13cb2e1a2d0af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120682 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2021-08-18Fix typoAndrea Gelmini
Change-Id: I2e1bc1530bd0a8cf6fef93dcaf8092458da79231 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120598 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-18loplugin:passstuffbyrefNoel Grandin
Change-Id: I4f01eb3842ef198f02af274f54afb2760c820a4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120655 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-18Don't use std::ostream operator <<(char16_t const *) deleted in C++20Stephan Bergmann
similar to 4af56d8189012f96d0471d7f50a3e44636666516 "Don't use std::ostream operator <<(char16_t const *) deleted in C++20" Change-Id: Ica7b02c14b66fea64f630bed4943c04ae999485e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120662 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-18undo changes to TextAlignCaolán McNamara
revert commit 8689bd5490b473a7ffb149bbe5f7f0683f679c72 Author: Caolán McNamara <caolanm@redhat.com> Date: Thu Jul 29 20:49:29 2021 +0100 convert TextAlign to scoped enum lets leave this as it always was Change-Id: Id4d2a5644974cdd2b0ed6d361d5c52629674d057 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120626 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-17Removed duplicated includeAndrea Gelmini
Change-Id: I4103d44e0535b39555f2f62e36ce6109e39cabfb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120595 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2021-08-17Improvement to ml element exporterdante
Change-Id: I12303add11406c0ab65ca02084945989f41380d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120549 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-17Fix typoAndrea Gelmini
Change-Id: I93062ed58f820a0f88a236c4134ff9adce06006c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120601 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-08-17Fix typoAndrea Gelmini
Change-Id: I28ef5ac72fb06406d049e1076f48dcd2d06a42af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120600 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-08-17Rename SaturatingSet[XY] to SaturatingSetPos[XY]Mike Kaganski
... to align with commit 4639ca2f878b04ffc50d9c20d92e90464d2d67a7 Change-Id: Ibec7a451a61ca7f2d141a9624369a6f9656ed468 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120562 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-17Add import for new starmath mathml elementsdante
Change-Id: Ie867cda8780747e715d642a9b007faafb33b4d99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120474 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-16Fix typosAndrea Gelmini
Change-Id: I2a0a3d8eff5e6f1d456128f71519d132b8839e28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120481 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-08-15Add the possibility to check if a mathml attribute is manually setdante
Change-Id: I9c5eaee8e2cce47d9286306031e807ca2c0eed57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120473 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-15Add the Form attribute to modante
Change-Id: I4f64460e15c707fa8ecdcfdfbea460b2f1410947 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120469 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-13Include the starmath version inside the configurationdante
Change-Id: I4492fad6eb498e0c8c9a53b2096f538f2916d843 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120271 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-13Export Math ML from new mathml nodesdante
Review tip: thanks for your help Code heavily based on: mathmlexport.cxx mathmlexport.hxx https://opengrok.libreoffice.org/xref/core/starmath/source/mathml/mathmlexport.cxx?r=e271fce8 https://opengrok.libreoffice.org/xref/core/starmath/inc/mathml/mathmlexport.hxx?r=10d29c39 Change-Id: I798d0e207b844240f4b25720ee37c394eb4c2e65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120188 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-10Missing includeStephan Bergmann
(for std::unique_ptr, with recent libstdc++ 12 trunk) Change-Id: I61b7823dd740ea7cdfe0d7403a50ac73b24d1c4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120229 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-09Add an iterator for the new starmath matml elementsdante
Change-Id: I7b57951795e8acd704f418d10e5fd0aded3f2b34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120187 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-09Corrections to starmath mathml definitionsdante
Change-Id: I6f545ced857190ed4b0f4090c0d47611ff475b57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120183 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-05Pass context and resource string down to boost::locale separatelyNoel Grandin
because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>