Map the file(s) into memory on demand. The executable file of an app
needs to be as small as possible. Including additional data files in
an app bundle is fine.
Change-Id: Ife9bfe99a2cf0473d459f38f50dfa3304b39e282
the nStartPos > 0 check is inside a nStartPos == 0 block
so it can't happen so we'll return immediately, and so
there's no point changing numberOfChange in that case
either there
Change-Id: Id6d7fc31033de5c6f3bb0a9ed03234b58c0d509e
Issue:
OUString uses UTF-16, so for a Unicode surrogate character there are 2
values stored, not just 1.
So we are getting assert failure in "rtl_uString_iterateCodePoints" method.
erAck: Underlying cause was that the dictionary breakiterator misused UTF-16 positions as Unicode code point positions.
Change-Id: I923485f56c2d879b63687adaea2b489a3479991c
Reviewed-on: https://gerrit.libreoffice.org/6955
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
Convert code like
aStr.compareToAscii("XXX") == 0
to
aStr.equalsAscii("XXX")
which is both easier to read and faster.
Change-Id: I448abf58f2fa0e7715dba53f8e8825ca0587c83f
Convert code like
if( ! aStr.compareToAscii("XXX") )
to
if( aStr.equalsAscii("XXX") )
which is both clearer and faster.
Change-Id: I267511bccab52f5225b291acbfa4e388b5a5302b
At least for Winfried CppunitTest_sd_import_tests aborts with triggering the
assert in OUString::operator[] at (presumably past-the-end) index 18 from
com::sun:⭐:i18n::BreakIterator_th::makeIndex (this=0x2b775adf9440,
Text=..., nStartPos=18) at
i18npool/source/breakiterator/breakiterator_th.cxx:122
com::sun:⭐:i18n::BreakIterator_CTL::previousCharacters
(this=0x2b775adf9440, Text=..., nStartPos=18,
rLocale=..., nCharacterIteratorMode=1, nCount=1, nDone=@0x7fff9a84a8fc: 0) at
i18npool/source/breakiterator/breakiterator_ctl.cxx:62
com::sun:⭐:i18n::BreakIteratorImpl::previousCharacters
(this=0x2b775ae00a98, Text=..., nStartPos=18, rLocale=...,
nCharacterIteratorMode=1, nCount=1, nDone=@0x7fff9a84a8fc: 0) at
i18npool/source/breakiterator/breakiteratorImpl.cxx:65
ServerFontLayout::setNeedFallback (this=0xfba5d0, rArgs=..., nCharPos=17,
bRightToLeft=false) at vcl/generic/glyphs/gcach_layout.cxx:114
HbLayoutEngine::layout (this=0xfba670, rLayout=..., rArgs=...) at
vcl/generic/glyphs/gcach_layout.cxx:437
...
and from the preceding if block in BreakIterator_th::makeIndex it indeed looks
like the invariant is that nextCellIndex need not be larger than cellIndexSize
which needs not be larger than Text (ake cachedText) getLength().
Change-Id: Ib92a76020b2bb3902c5e58aa2e6c4e679e51b94a
... between com::sun:⭐:i18n::LocaleData of
com/sun/star/i18n/LocaleData.hpp and i18npool/inc/localedata.hxx
Change-Id: Id23f67c1e3a654fd4f2886029ee45fcc1f466879
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).
Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
clean up stuff like this
xI->queryInterface( getCppuType((const Reference< XExtendedInputSequenceChecker>*)0) ) >>= xISC;
to
xISC.set(xI, UNO_QUERY);
Change-Id: I3b16a38c2a363440f6079cfe6ae47f009d3940db
Doing word-count by switching per-word between two different
kinds of word iterator was insanely slow. This preserves an
ICU break-iterator for each type of word-breaking.