summaryrefslogtreecommitdiff
path: root/editeng
AgeCommit message (Collapse)Author
2023-02-24editeng: split SvxLRSpaceItem into 1 class per attributeMichael Stahl
The tricky part is that there are actually 2 different kinds of left margins: Those on entities that aren't paragraphs are simple, so class SvxLeftMarginItem is simple. Those on paragraphs are entangled with the first-line-offset, because there is a left margin value (same as for everything else) and a text-left-margin value, which includes a negative first-line-offset; the text-left-margin value is exported as API property so stored as-is in the item, and the left-margin is computed on demand (based on corresponding first-line-offset) in SvxTextLeftMarginItem::GetLeft(). Separate classes for these is a better separation than what commit a0875d09d9eeb368e9e319f3f2f29ec3be71b56c did. (some functions aren't implemented because the SvxLRSpaceItem did nothing for these cases; not sure if that's intended.) Change-Id: Iae5cd4bf8167754eec65d2585430f5fe3d00839f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147023 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-19downgrade assert to warningCaolán McNamara
list of documents that assert here from crashtesting is known, so turn into a warning for now Change-Id: I45da002f00f92d65778e69f27040c8e09b7c8501 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-16Only specialize CppUnit::assetion_traits<T>::toString member functionsStephan Bergmann
...not the whole CppUnit::assetion_traits<T> classes (where applicable). That avoids spelling out the (identical) equals member functions, and also leaves around the less and lessEqual member functions, in case they want to be used after all. Change-Id: I18f8d6cff0353921ced4952b33a0c85ff8292923 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147165 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-02-15Drop 'using namespace ::std' in dirs [e-p]*Gabor Kelemen
Change-Id: Ibe6a2f662f5721c594d28a8e0d7340d0f3cffe95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147075 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-02-08editeng: remove SvxLRSpaceItem::nTxtLeftMichael Stahl
Several parts of SvxLRSpaceItem appear to maintain an invariant of the 3 members nTxtLeft/nLeftMargin/nFirstLineOffset: nLeftMargin is either equal to nTxtLeft if nFirstLineOffset is positive, otherwise equal to nTxtLeft + nFirstLineOffset. But not every part maintains it: there are functions SetLeftValue() and SetLeft() which simply write into nLeftMargin regardless, and a constructor that takes 3 separate numbers without any checks. The constructor calls violate the invariant in 2 ways: nTxtLeft is simply set to 0 (many cases), and one case in OutlineView::OutlineView() that sets nTxtLeft to 2000 but the other 2 at 0. Another odd thing is that the UNO services that expose SvxLRSpaceItem either expose a property for MID_L_MARGIN or for MID_TXT_LMARGIN but never both. It looks like there are 2 distinct usages of SvxLRSpaceItem: for anything that's applied to paragraphs, all 3 members are used; for anything else, nTxtLeft is unused. Try to simplify this by removing the nTxtLeft member, instead GetTextLeft() simply calculates it. Also assert in SetLeftValue()/SetLeft() that nFirstLineOffset is 0. Change-Id: Ida900c6ff04ef78e92e8914beda1cc731a695b06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146643 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-08editeng: SvxLRSpaceItem uninline some functionsMichael Stahl
Change-Id: I719ec54ef0e4540c8dbacb783b335ccb69b08e9a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146642 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-06lok: formulabar: fix URL fields selectionSzymon Kłos
field is calculated as 1 character by selection getter let's unfold fields and send real length Change-Id: I557f8785a4d2ee6a41c6c95f4551f5e104a58c02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146350 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146574 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2023-01-13XUnoTunnel->dynamic_cast in SvUnoAttributeContainerNoel Grandin
Change-Id: Ief76f12dd98e3455667b70d09605c82c0cedc4b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145485 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-13XUnoTunnel->dynamic_cast in SvxUnoNumberingRulesNoel Grandin
Change-Id: I492a951f1d686e1507232e6688c2dc75e8a41cc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145463 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-13remove XUnoTunnel from SvxUnoTextFieldNoel Grandin
nothing seems to be using it Change-Id: Ib986d2906ac10df3743a30d912bb8ec356838e20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145462 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-13introduce {Char,Fill}ColorThemeReference which uses XThemeColorTomaž Vajngerl
Adds a unified UNO property for theme colors *ColorTheme (CharColorTheme and FillColorTheme) which uses XThemeColor, that replaces the properties *Theme, *TintOrShade, *LumOff, *LumMod. The properties are still present for backwards compatibility and to keep ODF support working in tests as that needs a bigger change. Reactor the code and tests to accomodate for this change. Change-Id: If7983decb4ba528b49fe7b5968aa9efc696a9efc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144783 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-12introduce docmodel comp., model::ThemeColor, use it in SvxColorItemTomaž Vajngerl
Added a new component docmodel, that has the document model types, which only depend on other basic components. This is needed so the types can be used in every relevant component - xmloff, oox, svx, editeng,... Introduces model::ThemeColor, which is a class used to store the theme color data, including transformations (svx::Transformation). For UNO use XThemeColor is added, and the implementation UnoThemeColor which wraps svx::ThemeColor, so it can be tranported around. Reactor all the code and tests to accomodate for this change. Change-Id: I7ce6752cdfaf5e4d3b8e4d90314afa469dd65cfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144847 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-03tdf#114441 Convert sal_uLong to a better typeAndrea Rosetti
Used sal_Int32 instead of sal_uLong Change-Id: I229c4e59054b3aa1885698d1cd5332ebd9d162d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143513 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2022-12-29Make two TOOLS_WARN_EXCEPTION messages a bit more informativeTor Lillqvist
Change-Id: I614f44cfb94a214baace420f94f18991f368b953 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144859 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2022-12-25editeng: move "tint or shade" variable into SvxThemeColorTomaž Vajngerl
Change-Id: Ia2094854a8275082cf7444307e17fe5449c43b3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143698 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-12-22check for null pointerAndras Timar
Change-Id: I106b3de160ea70520aa98ad48d5f1005de6c6be5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144700 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2022-12-20editeng: avoid divide by zeroNoel Grandin
Prevent mnColumns from ending up in a zero state. See https://crashreport.libreoffice.org/stats/signature/ImpEditEngine::CreateAndInsertEmptyLine(ParaPortion%20*) Change-Id: I9137a0de33743ba514526cc28f4afef018de3614 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144580 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-19tdf#145538 Use range based for loopsLeonid Ryzhov
Change-Id: I6d04185f14c3ec72b40426bd881cac80528cc736 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143244 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2022-12-19ofz: bad-casts at shutdownCaolán McNamara
Change-Id: Ia8cdf5d446647e0f3d60c14e1aae315db63769c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144462 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-14tdf#152483 Fix the insert hyperlink behaviour on CalcGülşah Köse
Cursor invalidation message shouldn't carry a hyperlink info to online side if there is no hyperlink under the cursor Change-Id: Ibdb6e32d029e101212d03bc117a5a14a712822ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143986 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2022-12-08Related: tdf#82115 Fix crash when handling input method eventsPatrick Luby
The nodes in mpIMEInfos may be deleted in ImpEditEngine::Clear() which causes a crash in the CommandEventId::ExtTextInput and CommandEventId::EndExtTextInput event handlers. This crash occurs on Windows or macOS using the following steps: - Enter uncommitted text (enter "aaa" with a Japanese Hiragana input method) in a comment in a Writer document - Switch to another empty Writer document without committing the text in the first Writer document - Switch back to the first Writer document The above steps may need to be repeated a few times but it will eventually crash with the following stack trace: (lldb) bt 25 * thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert frame #0: 0x00000001b928ad98 libsystem_kernel.dylib`__pthread_kill + 8 frame #1: 0x00000001b92bfee0 libsystem_pthread.dylib`pthread_kill + 288 frame #2: 0x00000001b91fa340 libsystem_c.dylib`abort + 168 * frame #3: 0x00000001b91f9754 libsystem_c.dylib`__assert_rtn + 272 frame #4: 0x000000010374a09c libeditenglo.dylib`ImpEditEngine::ImpRemoveParagraph(this=0x000000011a684e00, nPara=-2147483648) at impedit2.cxx:2512:5 frame #5: 0x0000000103739658 libeditenglo.dylib`ImpEditEngine::ImpDeleteSelection(this=0x000000011a684e00, rCurSel=0x000000016fdf7250) at impedit2.cxx:2473:9 frame #6: 0x0000000103739328 libeditenglo.dylib`ImpEditEngine::DeleteSelected(this=0x000000011a684e00, rSel=0x000000016fdf7250) at impedit2.cxx:259:19 frame #7: 0x000000010373aac4 libeditenglo.dylib`ImpEditEngine::Command(this=0x000000011a684e00, rCEvt=0x000000016fdf7698, pView=0x0000600000169e10) at impedit2.cxx:408:24 frame #8: 0x0000000103721744 libeditenglo.dylib`ImpEditView::Command(this=0x00000002e3f8b7b0, rCEvt=0x000000016fdf7698) at impedit.cxx:1757:41 frame #9: 0x00000001036d7df4 libeditenglo.dylib`EditView::Command(this=0x0000600000169e10, rCEvt=0x000000016fdf7698) at editview.cxx:495:26 frame #10: 0x000000010b1d2420 libsvxlo.dylib`WeldEditView::Command(this=0x0000600002b11e30, rCEvt=0x000000016fdf7698) at weldeditview.cxx:312:23 frame #11: 0x00000002ea78dd50 libswlo.dylib`sw::sidebarwindows::SidebarTextControl::Command(this=0x0000600002b11e30, rCEvt=0x000000016fdf7698) at SidebarTxtControl.cxx:461:26 frame #12: 0x000000011656f3d4 libvcllo.dylib`weld::CustomWeld::DoCommand(this=0x000060000016a740, rPos=0x000000016fdf7698) at customweld.cxx:93:32 frame #13: 0x000000011656ee7c libvcllo.dylib`weld::CustomWeld::LinkStubDoCommand(instance=0x000060000016a740, data=0x000000016fdf7698) at customweld.cxx:91:1 frame #14: 0x0000000115ca1dd4 libvcllo.dylib`Link<CommandEvent const&, bool>::Call(this=0x00000002e3f8bc48, data=0x000000016fdf7698) const at link.hxx:111:45 frame #15: 0x00000001165b1658 libvcllo.dylib`SalInstanceDrawingArea::CommandHdl(this=0x00000002e3f8bb50, rEvent=0x000000016fdf7698) at salvtables.cxx:6473:26 frame #16: 0x00000001165af588 libvcllo.dylib`SalInstanceDrawingArea::LinkStubCommandHdl(instance=0x00000002e3f8bb50, data=0x000000016fdf7698) at salvtables.cxx:6471:1 frame #17: 0x0000000115ca1dd4 libvcllo.dylib`Link<CommandEvent const&, bool>::Call(this=0x00000002e3f90208, data=0x000000016fdf7698) const at link.hxx:111:45 frame #18: 0x0000000115d047d0 libvcllo.dylib`VclDrawingArea::Command(this=0x00000002e3f90080, rEvent=0x000000016fdf7698) at layout.hxx:685:27 frame #19: 0x0000000115e2e2bc libvcllo.dylib`ImplCallCommand(pChild=0x000000016fdf77c8, nEvt=ExtTextInput, pData=0x000000016fdf77d8, bMouse=false, pPos=0x0000000000000000) at winproc.cxx:229:17 frame #20: 0x0000000115e34458 libvcllo.dylib`ImplHandleExtTextInput(pWindow=0x0000600002aa8930, rText=0x000000016fdf8290, pTextAttr=0x0000600000018710, nCursorPos=4, nCursorFlags=1) at winproc.cxx:1424:13 frame #21: 0x0000000115e30dc8 libvcllo.dylib`ImplWindowFrameProc(_pWindow=0x0000600002aa8930, nEvent=ExtTextInput, pEvent=0x000000016fdf8290) at winproc.cxx:2863:20 frame #22: 0x000000011b0424e0 libvclplug_osxlo.dylib`SalFrame::CallCallback(this=0x00000001378ffb40, nEvent=ExtTextInput, pEvent=0x000000016fdf8290) const at salframe.hxx:306:29 frame #23: 0x000000011b0ef8f4 libvclplug_osxlo.dylib`-[SalFrameView setMarkedText:selectedRange:replacementRange:](self=0x00000002c4b0d980, _cmd="setMarkedText:selectedRange:replacementRange:", aString="嗚呼嗚呼", selRange=location=4, length=0, replacementRange=location=9223372036854775807, length=0) at salframeview.mm:1595:18 frame #24: 0x00000001bc8d6a2c AppKit`-[NSTextInputContext(NSInputContext_WithCompletion) setMarkedText:selectedRange:replacementRange:completionHandler:] + 168 Change-Id: I500824967d56232272041f8a2b972cdb2c9fe05c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143806 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-06tdf#152380: add checks for names and values sequences length equalityMike Kaganski
Change-Id: Ibeef551126874bcfffb4e7736588e2e1873f5768 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143681 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-12-02tdf#152094 retain more accuracy from RefDevMode::MSO1Caolán McNamara
do it like this to avoid adding another mapmode and to keep things "the same" as much as possible Change-Id: I1965aa545646f2d27b950d6335b2f608c3e4e04b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143475 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-01OutputDevice::GetTextArray will always set the size of the vector anywayCaolán McNamara
Change-Id: I52f24e50455c0d480f8976ee63e442008c05c192 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143520 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-25tdf#151801 solves bug for autocorrect non default quotesFred Kruse
Regards German and some other languages. A bug in the mechanism to distingish between apostroph and single end quote is solved. Now, it works also for user defined quotes, like a single angle quote ('French' quote). Change-Id: Ib4beca7a4304d57d7fdf977c20cf62410be3d2c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142662 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-11-21add some checks for OpenSymbolCaolán McNamara
Change-Id: I98e1ee9f854d144cea3a305be6d53f8e86f6a7a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143020 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-18use OpenSymbol as bullet font instead of StarSymbolCaolán McNamara
Change-Id: Id9ec305c3d43c3a811cb95794eaa5349bc3e4b56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142938 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-18rename IsStarSymbol to IsOpenSymbolCaolán McNamara
Change-Id: If525ba9826f5bc2d860233cbabf58d1d290be054 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142936 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-18tdf#47679 explicitly don't write fcharset2 for text in OpenSymbolCaolán McNamara
we don't convert to the charsets we claim the fonts are in when we write our text so rtf imports mangle this dubious output. cheapest thing is to just write default fcharset0 for OpenSymbol Change-Id: Iea0e0d3a9bda5b5c7bcffba8499195f50e214aa4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142935 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-13ofz#53182 TimeoutCaolán McNamara
Change-Id: Ied736c72f08a97de142bb781e01283330db6b3b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142659 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-03Related: tdf#149932 honour PANGO_UNDERLINE_DOUBLE for preedit underlineCaolán McNamara
we already have support for double underline so that's an easy add Change-Id: I1bba5620038e396765bd79050ff6a520096f9476 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142223 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-03-Werror=dangling-referenceStephan Bergmann
In <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d2249cd9adf5ae638577139177a50f7e62d8abd9> "c++: Implement -Wdangling-reference [PR106393]" grew a new warning, included in -Wall, and based on some more-or-less shaky heuristics, that warns about "possibly dangling reference to a temporary". It produces quite a number of false positives, but for these uses of SfxItemSet::Get it does look plausible that the returned item references could, at least in theory, point at data that is destroyed along with the temporary SfxItemSet. Change-Id: I11afc4512db488f73170c6cfa706e9e094209550 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142217 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-03fix rendering of text when "fit to frame" is enabledTomaž Vajngerl
This changes the nStretchX and nStretchY from sal_uInt16 to double so the text in text boxes is rendered correctly (text should be resized to the same size as the textbox). Change-Id: Ic92d03043af0abe86f1b67ae15522d0176ebb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142064 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-02tdf#54857 elide more dynamic_castNoel Grandin
re-arrange so we do the cheap checks before the expensive dynamic_cast Change-Id: Ief10b42894d15ab948e64c1189e0e7abf2c5a107 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142177 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-02tdf#143148 Use of #pragma once instead of include guards.sahilbutoal08
Change-Id: I975ad0a41dbcf39121b266e99b466193386d6b14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142046 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Jenkins
2022-11-01editeng: rename aBuf to aCharPositionArrayTomaž Vajngerl
Change-Id: Ie7614ee9eefe1160f6d1e6105cc5bf7b92a35cc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142063 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-10-31fix regression from "editeng: don't use GetSize to set the size"Noel Grandin
Params are swapped since commit 190cd40e01bd36e99b265ef5da36a382199f18b9 (HEAD, master) Date: Tue Oct 18 21:14:41 2022 +0200 editeng: don't use GetSize to set the size Change-Id: I0a3fce0c8325fa59c385fa2e45a53215853e351a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142077 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2022-10-31editeng: don't use GetSize to set the sizeTomaž Vajngerl
Change-Id: I80a2701d7c125dbe6c80f8c32b125c7b176a8bb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142062 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-10-31editeng: prefix the instance variable aDefFont-> maDefFontTomaž Vajngerl
Change-Id: Ie9d18c19792962159e4e2ff4ddf91560323e42e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142061 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-10-25tdf#148934 PDF/UA export: add Contents entry to Link annotationsMichael Stahl
* Specification: ISO 14289-1:2014, Clause: 7.18.5, Test number: 2 Links shall contain an alternate description via their Contents key as described in ISO 32000-1:2008, 14.9.3. These links are created all over the code, in some cases it's a bit dubious what the content/alt-text should be, but let's try to use the most suitable looking bit of text in whatever the context is. * Specification: ISO 14289-1:2014, Clause: 7.18.3, Test number: 1 Every page on which there is an annotation shall contain in its page dictionary the key Tabs, and its value shall be S. Change-Id: I7b63feb759f0c75047f854ed9997918f829a537e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141826 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-10-04Check acor_langtag for language-script fallback instead of only languageEike Rathke
A tag with script could be added for which we don't have locale data but for the same language in another script. Do not fall back to that. With that the share/autocorr/acor_zh-{CN,TW}.dat files created additional Asian language listbox entries "Chinese (Simplified, China) {zh-Hans-CN}" "Chinese (Traditional, Taiwan) {zh-Hant-TW}" because those are the canonicalized language tags. Prefer the known legacy zh-CN and zh-TW tags instead. Could also had happened with any document import. Which again revealed a flaw in the handling of mapping overrides where converting from a LanguageType LCID to Locale could yield a different mapping than from BCP47 to LCID, which in the case of a fallback for locale data lead to odd side effects. Change-Id: I1e2aaa8e9f99b6b3bc2c9a661215cb00bddd33d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140939 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-10-03tdf#137528: Fix skipping Kashida in fonts with bogus onesKhaled Hosny
There was a typo in the check, and we also want to fallback to using blanks if no Kashidas were found, so check for Kashida positions first. Change-Id: I64cc3bf5c76ecc01764073bb5a2302520157fad8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140896 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-09-25tdf#83581: Improve caret travelling in in Edit EngineKhaled Hosny
This uses the same caret positioning array introduced in: commit 8cb4db941f91cc234dd18c61f8b1e51f65360d1f Author: Khaled Hosny <khaled@aliftype.com> Date: Fri Aug 26 22:20:55 2022 +0200 tdf#30731: Improve caret travelling in Writer But unlike the Writer change, this is used unconditionally not only when calculating caret (cursor) position. This might break something, so lets find out. Change-Id: Ia285197b7ee41f01ccd37101436be86b476c0272 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140557 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-09-21use more string_view in editengNoel Grandin
Change-Id: I7e434076750ebdf4aeee621151fbe6dfc929c60f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-20ofz#51471 TimeoutCaolán McNamara
Change-Id: I2ffdb9f439f61fc46f3a3e7176a0451904e8f2cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140238 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-19OSL_ENSURE->assert where we would crash if not trueMike Kaganski
Change-Id: I1d922034aa1be709bcd1c77886d773835683b7d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140132 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-09-16vcl: AnimationBitmap -> AnimationFrameChris Sherlock
The emphasis is not quite right. An animation is made up a sequence of *frames*, not bitmaps. A frame includes such things as position, size, timeout till the next frame *as well as* a bitmap. Note: had to regenerate a bunch of precompiled headers Change-Id: Ib1959452653857555f41e01ac0151d08c41a3b1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/76460 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-09-15cid#1509213 silence Dereference after null checkCaolán McNamara
Change-Id: Ib260440105930f173d5ffd011c76f90c898e34e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140023 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-14move ErrCode to comphelper and improve debug output stringNoel Grandin
need to move it, because modules "below" vcl want to use the debug output method Change-Id: Ibcaf4089a1e0b3fcc0b5189c7ebf1aae90f50b48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139791 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-14tdf#149551 use 'WritingMode' instead of TextPreRotateAngleRegina Henschel
Commit 7e23cbdbb6ec0247a29ed8a8f744c01e10963ea0 changed the code so, that TextPreRotateAngle is used to track ooxml vert attribute. This patch changes it so, that the style attribute WritingMode is used. Now text direction can be written in 'writing-mode' attribute in the graphic properties in ODF, same for shapes as for frames. The needed conversion from WritingMode BT-LR and TB_LR90 to TextPreRotateAngle for rendering of text in custom shapes is now in one place in class SdrObjectCustomshape. The shape edit engine cannot yet render it itself. Some unit tests are adapted to use WritingMode property instead of TextPreRotateAngle. The value text::WritingMode2::TB_RL90 is introduced, corresponding to vert='vert' and textDirection='tbRl' or ='rl' in OOXML. It is used for frames too, so that the original text direction is preserved and vert='eaVert' can be distinguished from vert='vert'. TextPreRotateAngle is currently still used in SmartArt import for 'upr' and 'grav' and in emulating 'upright' but no longer to emulate text direction. Change-Id: Idc4339bbfc3592fe90b154d75e2c404a1fa30856 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138813 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>