4395 Commits
Author SHA1 Message Date
Julien Nabet 790dd1d0c6 tdf#173547: fix wrong alphabetical sorting for Kurdish Latn alphabetical
Following tdf#173579 by removing broken dynamic loading of collators,
I focused on Kurdish Latn collation.

Root cause and fix provided by GPT-5.6 Luna
Cause:
when "kmr-Latn-TR", LO uses Language "qlt", Country "TR" (Turkey), Variant "kmr-Latn-TR"
but "kmr-Latn-TR" wasn't used in LOCAL_RULE_LANGS (a variable generated in i18npool/CustomTarget_collator.mk)
and used in i18npool/source/collator/collator_unicode.cxx, method Collator_Unicode::loadCollatorAlgorithm
so "func" and "funclen" weren't initialized with appropriate collator functions.

Fix:
rename file and functions containing "ku" by using "kmr_Latn"
(I suppose the right move since it mimics Eike Rathke's commit 45d4b9b5e3
"renamed ku* to kmr-Latn*, fdo#63460")

Add a specific use case bKmrLatn to load "kmr_Latn" collator functions
to deal with "qlt" language (yes it's a bit kludgy...)

We must remind that "kmr_Latn" can be used for "kmr_Latn_TR" but also with "kmr_Latn_SY"
that's why I avoided using "kmr_Latn_TR"

Also, to avoid the bKmrLatn specific case,
I thought about changing "LangID" tag of i18npool/source/localedata/data/kmr_Latn_TR.xml
from "qlt" into "kmr-Latn" but I'm not sure of the impact.

Change-Id: Ifc608da19b4bd2d05667121e3c6f2455f5d45ca9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210977
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-21 22:34:45 +02:00
Julien Nabet bcd1afe2e6 tdf#173579: fix collator func loading to make at least Japanese collators work
After de43ed1088
"merge index_data into i18npool
(*) it is a small library
(*) this avoids another dynamic symbol lookup
(*) this unblocks more --enable-mergedlibs optimisation
"

SAL_DLLPUBLIC_EXPORT has been removed so collators weren't available for
dynamic loading use. So there was only 1 kind of sort possible in Japanese
(see description in the bugreport).

To make Japanese (but not only them) collators work again,
I kept on the same way of the quoted commit by removing
DISABLE_DYNLOADING blocks and by adding declarations of functions
in i18npool/inc/collator_unicode.hxx

Change-Id: I36529c12ae67fe7eb0562c6798ef55fdbea02f04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211111
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-09-18 23:12:58 +02:00
Andrea Gelmini eeb4290b30 Fix typos
Change-Id: I53571976c4e045a5a09f1adc4425b41d96b0e6a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210565
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-10 21:26:38 +02:00
Andrea Gelmini 76135420d3 Fix typos
Change-Id: I499cf1cfc956220f7e852e4e593a39d3f75256f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209991
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 22:46:50 +02:00
Andrea Gelmini b51747c62b Fix typos
Change-Id: I1df063db2b8f6f87080f470120b7487ba49b1c5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210070
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 13:54:19 +02:00
Andrea Gelmini 1e9eb774e4 Fix typos
Change-Id: I0564a3b93a8ac5d30fa8aea032cd450a7018d9bc

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209809
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 15:22:52 +02:00
Andrea Gelmini 08a814d780 Fix typos
Change-Id: I9ceb9a32f86c8fde3eb53533e3de8c0905973630
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209939
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 11:22:43 +02:00
Andrea Gelmini 57edd89930 Fix typos
Change-Id: I4fa37c9c3041366d97691ca0defd602b0f7adf4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209419
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-20 19:06:29 +02:00
Justin Luth 4674b9f008 tdf#135538 tdf#132870 tdf#145774 regex: accept zero-length matches
In Find and Replace, you can search using regular expressions.

Some regex's don't match to a character, only a position.
OOo restricted the ability to find these zero-length matches.
LO allowed it only for the very end position (for matching '$')
in 4.0.3 with commit ccc349d3ab
Author: Eike Rathke on Sat Mar 9 18:50:33 2013 +0100
   regex: don't loop 10000 identical matches to find a single $ anchor

I don't see any justification for what OOo did,
and I don't see any reason why not to accept every match/position.

AFAICS this only affects three modules:
-Calc: no significant downsides noticed (unless already true for '$').
 Replace gets stuck. Need to replace/find next/replace/find next...
 ReplaceAll, Find, and FindAll work nicely.
 Find-Backwards doesn't work - a general regex problem.
-macro editor: gets 'stuck' finding same position every time
 (but that also happened already with '$').
 There is no 'Find All' (so nothing bad can happen there)
 and 'Replace All' works nicely. No practical downside.
-Writer: Always reports bZeroMatch as 'false'
 except for special code handling '$'.
 So for Writer it has no effect at all
 (except for returning more unused bZeroMatch).

So in the end this patch primarily benefits Calc
(although it opens the door for Writer to try to handle bZeroMatch
and it does solve the macro-editor complaint in tdf#132870).
Calc can now find the start of all cells ('^')
or employ look-ahead queries like '(?<=ab).

Change-Id: I2d69ca2032682f17bdff3412a8d9efd113b366e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209080
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
2026-08-19 17:52:03 +02:00
Julien Nabet a4f0887060 Fix i18npool module loading in collator part
Using Japanese UI and launch Writer, I got:
warn:sal.osl:143295:143295:sal/osl/unx/module.cxx:101:
dlopen(/home/julien/lo/libreoffice/instdir/program/libi18npool.so, 1):
/home/julien/lo/libreoffice/instdir/program/libi18npool.so:
共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません

Relevant bt part:
0  osl_loadModuleAscii (pModuleName=0x7fff6aba41e0 "/home/julien/lo/libreoffice/instdir/program/libi18npool.so", nRtldMode=0) at /home/julien/lo/libreoffice/sal/osl/unx/module.cxx:105
1  0x00007f9c439695af in osl_loadModule (ustrModuleName=0x556c8611d650, nRtldMode=0) at /home/julien/lo/libreoffice/sal/osl/unx/module.cxx:74
2  0x00007f9c438d9bf6 in osl_loadModuleRelative
   (baseModule=0x7f9c1df58d40 <i18npool::thisModule()>, relativePath=0x7f9c1dc7fad0 <template parameter object for rtl::OUStringLiteral<15ul>{rtl::OUStringLiteral<15ul>::{unnamed type#1}{.more=rtl::OUStringLite>
3  0x00007f9c1df575a4 in i18npool::Collator_Unicode::loadCollatorAlgorithm (this=0x556c86305dd0, rAlgorithm="phonetic (alphanumeric first)", rLocale=..., options=0)
   at /home/julien/lo/libreoffice/i18npool/source/collator/collator_unicode.cxx:160

Change-Id: I99ce11a351dc5e1e67bebbd65148b860d94b4f9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207876
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-10 12:56:18 +02:00
Khaled Hosny 4af6707b3b tdf#172646: Fix text search match offsets around surrogate pairs
Use OUString::iterateCodePoints() to get the next code point. Just
incrementing the index does not work with surrogate pairs.

This is an existing bug that was exposed by properly handling surrogate
pairs while case folding in:

commit 8922952429
Author: Khaled Hosny <khaled@libreoffice.org>
Date:   Mon Jul 24 18:45:38 2023 +0300

    i18nutil: Fix ICU case folding of surrogate pairs

Change-Id: I51328ae6d17ef935d5be00f7327949a26724b9ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207750
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-07-08 13:14:20 +02:00
Julien Nabet 6a1573b552 Related tdf#171372: "$" must be at the beginning of replaceTo string
It avoids:
LocaleDataWrapper::getCurrFormatsImpl: CurrPositiveFormat?
ar-SA requested
ar-SA loaded
warn:unotools.i18n:398549:398549:unotools/source/i18n/localedatawrapper.cxx:1449: LocaleDataWrapper::getCurrFormatsImpl: CurrPositiveFormat?
ar-SA requested
ar-SA loaded

LocaleDataWrapper::getCurrFormatsImpl: CurrNegativeFormat?
ar-SA requested
ar-SA loaded
warn:unotools.i18n:398549:398549:unotools/source/i18n/localedatawrapper.cxx:1449: LocaleDataWrapper::getCurrFormatsImpl: CurrNegativeFormat?
ar-SA requested
ar-SA loaded

+ this kind of log:
SvNumberFormatter::ImpInsertFormat: no [$...] on currency format code, index 13:
[⃁-$401] #٬##0٫00;[⃁-$401] #٬##0٫00 -
ar-SA requested
ar-SA loaded
warn:unotools.i18n:398549:398549:unotools/source/i18n/localedatawrapper.cxx:1449: SvNumberFormatter::ImpInsertFormat: no [$...] on currency format code, index 13:
[⃁-$401] #٬##0٫00;[⃁-$401] #٬##0٫00 -
ar-SA requested
ar-SA loaded

Change-Id: I01f4e92dae64262ee2e101179db94b3178a9199f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207627
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-07-05 10:01:46 +02:00
Michael Weghorn 76cceb3cad tdf#172513 ko char conv: Preserve char represented by >1 UTF-16 code unit
In order to represent the (codepoint of a) Unicode character
in UTF-16, multiple UTF-16 code units may be needed.

So far, the Korean Hangul/Hanja character conversion
was assuming that each Unicode character was only
consisting of a single UTF-16 code unit, and splitting
into single sal_Unicode characters accordingly in
TextConversion_ko::getCharConversions.

This breaks for characters represented by multiple
code units, like "𡽜" (CJK Unified Ideograph [1],
unicode codepoint: 139100/U+21F5C) which is represented
by 2 UTF-16 code units.

As a consequence, an invalid OUString/UTF-16 string would
be passed to HangulHanjaConversionDialog::SetCurrentString
for some of the suggestions.

Fix this by no longer splitting into single sal_Unicode,
but use o3tl::iterateCodePoints to split into actual
code points.

Example: When using "Tools" -> "Language" ->
"Hangul/Hanja Conversion..." for a Korean text of
"한글맞춤법", the string of all characters for potential
conversions in TextConversion_ko::getCharConversions is:
"韓漢寒限閑恨旱汗翰邯罕悍澣閒瀚桿捍閈暵鼾犴僩嫺熯嫻駻鷳扞狠僴覵瞷猂邗骭撊鷴垾憪橌㸁䛞䦘闲鹇娴汉焊闬韩仠佷傼兯哻娨嫨屽晘橺浫澖皔蓒蔊蛝螒豻貋釬銲雗鶾鷼麲㒏㛠㡾㢨㪋㯗㲦㵄䁂䂅䈨䉯䍐䍑䎯䏷䓍䓳䕿䗙䥜䦥䮧𡽜忓"

Previously, the last 3 of them ("䮧𡽜忓") would incorrectly be
split into (stdout output, showing something is wrong):
"䮧", " " (something wrong, but a valid UTF-16 string), "?" (wrong, and invalid UTF-16 string), "忓"

With the fix in place, they remain intact:
"䮧", "𡽜", "忓"

Also adjust HangulHanjaConversionDialog::OnSuggestionModified
accordingly to compare the number of code points the
string consists of, not the number of UTF-16 code units.
Otherwise, the "Replace"/"Always Replace" buttons in the
"Hangul/Hanja Conversion" dialog would remain greyed
out for the above example when selecting the "𡽜" character
(that now correctly gets displayed with the fix in
TextConversion_ko::getCharConversions in place).
Thanks to Jonathan Clark for pointing out that additional
aspect in review!

Add a corresponding test case.
While the fix is in i18npool, the new test is implemented
in editeng, where the HangulHanjaConversion class uses
the i18npool logic via a UNO service.
The test is implemented there because the component context
availabe in i18npool doesn't supply the required service.
The same test implemented there would fail like this:

    An uncaught UNO exception
    - com.sun.star.uno.DeploymentException: {Message: "component context fails to supply service com.sun.star.linguistic2.ConversionDictionaryList of type com.sun.star.linguistic2.XConversionDictionaryList at /home/michi/development/git/libreoffice/workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/linguistic2/ConversionDictionaryList.hpp:45", Context: @0x7fff17acecf0}

[1] https://codepoints.net/U+21F5C

Change-Id: I1ab202cc0d3b5a6ff5d220f4b8e90c578f591158
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207017
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2026-06-24 19:04:44 +02:00
Neil Roberts 88bf2c6533 tdf#65018 localedate: Fix the index key for Esperanto
The index for Esperanto was marked as using Latin-1 whereas the special
Esperanto characters are actually in Latin Extended-A so they were being
ignored.

Change-Id: Iadda7f75feefac753e95ae4a8933dcd62899e4f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204864
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
2026-05-06 22:49:56 +02:00
Asim Raza 9a8597c98e tdf#163691 Use std::copy/std::copy_n() instead of memcpy() in i18npool
Replace memcpy() with std::copy() and std::copy_n() in
calendar_gregorian.cxx and cclass_unicode_parser.cxx to improve
type safety by eliminating manual sizeof() calculations.

Change-Id: I112d5b9528d9384b62eb2449283bf0e0d1f20f03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204358
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-04-27 09:22:36 +02:00
Ethan Garcia 045ce3a5be tdf#168520 Rename testTdf138410 to clarify Arabic diacritic search
Change-Id: Iabc5d71f4aa9f66577d1674edf84af321612b0dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202928
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
2026-03-31 17:57:02 +02:00
Xisco Fauli eba177f95a tdf#171372 {ar-SA} currency symbol is ⃁ U+20C1 SAUDI RIYAL SIGN
... and displayed before amount.

Change-Id: I74c465961934c0e746479b82d2c4370ebda372d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202472
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
2026-03-29 14:54:06 +02:00
Andrea Gelmini 6886947763 Fix typo
Change-Id: Id722dcf254c7addfb49072da84725e1ea20a3f46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198764
Reviewed-by: Simon Chenery <simon_chenery@yahoo.com>
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-02-06 08:43:43 +01:00
Saburo Yoshida b643c5c0ac tdf#169590 i18npool: Fix incorrect line breaking in CJK
Since 5a03d511f4 commit,
ICU line breaking rules are now honored and Asian typography options
for paragraph formats are now ignored.
Respect cases where users apply a list that is different from the
default forbidden character list, or cases where no forbidden character
list is applied.

Change-Id: I7d021c1dcb1e9722eb5f7ae6295b949641dcfe01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198442
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2026-02-05 11:09:43 +01:00
Noel Grandin ab1a88da2d tdf#148218 reduce OString alloc in BreakIterator_Unicode::loadICUBreakIterator
use a custom StackString object to avoid heap allocation here.

Shaves 16% of the temporary allocations.

Change-Id: I2628780c9491c0f8b26bbfcbe085d9309c851f55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198280
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-29 10:23:10 +01:00
Noel Grandin 26d80567e7 tdf#148218 reduce OUString allocations in SwScanner::NextWord
since we only use one break-iterator these days,
expose a additional C++ interface to that, as well as the existing UNO interface,
and add a method which allows us to avoid allocating an OUString when calling endOfScript().

Shaves off 20% of the temporary allocations.

Change-Id: I7092affc1820555353e8bf6498e11c9eff42cfad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198276
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-29 08:44:35 +01:00
Noel Grandin fba849c048 tdf#148218 reduce OUString allocations
we allocate an awful lot of temporary OUString while looking up translation strings.

Add some API to LanguageTag to reduce this by using a common OStringBuffer.

Reduces peak memory usage from 420M to 283M

Change-Id: Ie55267631f2178e3a6590eebf5876c963a4cda69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198197
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-27 17:15:52 +01:00
László Németh c1702ddc2e tdf#170140 lingucomponent: check words with non-ASCII apostrophe
If the spelling dictionary contains them with non-ASCII apostrophe.

Previously the words were checked only with apostrophes converted
to their ASCII version, resulting continuous false alarms, despite
the correct orthography in the document and in the spelling
dictionary.

Now the words are checked both with ASCII conversion and with
the original non-ASCII apostrophes (because still there are
UTF-8 dictionaries with ASCII apostrophes, moreover, dictionaries
containing mixed apostrophes in the same dic file).

Example words for the Hungarian dictionary: d’Arc, d’Alembert,
McDonald’s (and their several recognized suffixed forms: d’Arcért,
d’Arckal, d’Arcként, d’Arcnak, d’Arcot etc. etc.)

Add unit tests for 1) break iterator and 2) spell checking with
non-ASCII apostrophes.

Change-Id: I24a570df41fa5aba2e7b67dde0db33377717dc2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196248
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2025-12-28 06:17:07 +01:00
László Németh 09b5b77e02 tdf#162514 i18npool: fix Hungarian ordinal numbers with affix
Restores Hungarian break iterator by recognizing ordinal
numbers with affixes, e.g. "50.-et" etc. (to spell checking
bad forms, like "50.-at").

Regression from commit 44699b3de3
"tdf#49885 BreakIterator rule upgrades".

Follow-up to commit f4fe6df6aa
"tdf#162514 i18npool: Handle abbreviations in dictionary breakiterator"
and commit 167bbe31c0
"tdf#162514 i18npool: apply fix for Hungarian abbreviations, too".

Change-Id: I6b6ea363a509a9d8af8330330f78cc23c210d107
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196225
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2025-12-26 20:36:41 +01:00
László Németh 167bbe31c0 tdf#162514 i18npool: apply fix for Hungarian abbreviations, too
Restores Hungarian abbreviation handling to spell checking by
applying the fix for dict_word_hu.txt.

Regression from commit 44699b3de3
"tdf#49885 BreakIterator rule upgrades".

Follow-up to commit f4fe6df6aa
"tdf#162514 i18npool: Handle abbreviations in dictionary breakiterator".

Change-Id: I83e30c831759ae896f1db2da697287b8c4dcd26b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196224
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2025-12-26 11:33:35 +01:00
Mike Kaganski b280efcb9b Drop some uses Sequence::getConstArray
Replace by operator[], begin() and end(), which don't have overhead
since commit 2484de6728 (Remove non-
const Sequence::begin()/end() in internal code, 2021-10-15)
and commit fb3c04bd19 (Drop non-const
Sequence::operator[] in internal code, 2021-11-05).

Change-Id: I221470b3439bb0dc6e7705b0d99deb3cd2063484
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195176
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-12-07 12:54:23 +01:00
Rene Engelhard 63f9b4509d default to EUR for Bulgaria
Bulgaria will switch to EUR 2026-01-01.

Given master aka 26.2.0 will be released in only and RC2/RC3 is in 2026 (cf.
https://wiki.documentfoundation.org/ReleasePlan/26.2) we can do it now

Change-Id: I0ed47f1681c406af2e92cdd2fdfd0bdace7f8216
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193655
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Eike Rathke <lo@erack.de>
Tested-by: Jenkins
2025-11-10 16:29:44 +01:00
Eike Rathke 38a6aa74b6 tdf#168665: Add Extremaduran (Spain) {ext-ES} [0x06B6] locale data
Co-authored-by: Xisco Fauli <xiscofauli@libreoffice.org>

Language list entry will follow in a separate commit to not taint
the translations when backporting.

Change-Id: Iedf3a6d27083592fecdfb3523ccdb522da784d10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192801
Tested-by: Jenkins
Reviewed-by: Eike Rathke <lo@erack.de>
2025-11-03 19:48:24 +01:00
Gabor Kelemen 85148426ab bin/find-unneeded-includes: skip versioned namespace
This has led to
commit 62a9df7473
"find-unneded-includes: avoid replacing includes with forward-declarations"

now the replacement of unicode/regex.h with a versioned namespace is not suggested

Change-Id: Ic30954561739591bd483382ed75a56f5901ac993
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192428
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-10-15 13:26:27 +02:00
Gabor Kelemen a20e7520c3 Sanity check all IwyuFilter files
This should not complain anymore:

for i in $(ls -1 */*yaml) ; do mod=$(echo "$i" | cut -d '/' -f1 ) ; bin/find-unneeded-includes --sanitycheck "$mod"; done

Change-Id: I5c4b99f5cb58c6f696b127c81edd6d323104cd7a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191829
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-10-14 19:44:19 +02:00
Gabor Kelemen e82ec91d61 Drop DICT_JA_ZH_IN_DATAFILE
Its use was removed in
commit 14c6cde779

Change-Id: Ic9984e1cc47f91d21b4fe6f3f7bdb40b80e7d1ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191556
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-09-27 16:11:38 +02:00
Gabor Kelemen a789ea2554 bin/find-unneeded-includes: add exception for URE header
osl/module.hxx, so that these can be removed from per-module yaml files

Change-Id: I974059f8dfc29f4fb6149a8a2a1e6e82b99f38ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191340
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-09-26 09:39:57 +02:00
Gabor Kelemen 752083b08c IWYU: drop some exceptions related to rtl::math and std::
at least recent 0.24 no longer warns about these

Change-Id: I1f7c4069df7d47bcd720298c93d71fd6c7bbed9b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191002
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-09-17 19:23:35 +02:00
Jonathan Clark 01c934f7bc tdf#167873 i18npool: Port CJ brkitr customizations from ICU upstream
Upstream ICU includes non-standard rule extensions for Chinese and
Japanese, which add line breaking opportunities between U+201C/U+201D
double quotation marks and leading/trailing CJK ideographs. This change
backports those rule customizations, for correct layout of Simplified
Chinese.

Regression from:

    commit 5a03d511f4
    Author: Jonathan Clark <jonathan@libreoffice.org>
    Date:   Mon Apr 7 21:37:26 2025 -0600
    tdf#130592 i18npool: Fix incorrect line breaking in mixed CJK+Latin

Change-Id: I3cf6c0cd23e38f9a89c98fdd6c6f665f175b676c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190904
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-09-13 02:47:51 +02:00
Rene Engelhard 37d1cc071b add EUR for Bulgaria/Lew
Bulgaria will join Eurozone 2026-01-01 at which time around the default
needs to be switched

see https://www.ecb.europa.eu/press/pr/date/2025/html/ecb.pr250708~b9676a9fa8.de.html for the conversion rate

Change-Id: I840ddda4308549703c53f998812848888dd830f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189271
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2025-08-13 14:20:53 +02:00
Noel Grandin 51d0a6ec74 remove remnants of gendict
the bulk of it was removed in
    commit 14c6cde779
    Author: Jonathan Clark <jonathan@libreoffice.org>
    Date:   Mon Apr 15 17:10:51 2024 -0600
    tdf#49885 Updated CJK BreakIterator to use ICU

Change-Id: I576b992c41c915c091548467b1eab8ac761f7097
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187908
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-07-15 15:29:21 +02:00
Caolán McNamara 2794332472 use other constructor for a single unicode char
Change-Id: I4ba15532bbe0f12272b1a18069380927914474bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187829
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-07-14 22:47:42 +02:00
Xisco Fauli ed6395d5d3 tdf#167431: Add bitcoin currency
Based on https://bugs.documentfoundation.org/show_bug.cgi?id=167431#c2

Change-Id: Id90ad54651b6ee9be2462ec6884c93315695e8ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187653
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-07-14 22:30:06 +02:00
Xisco Fauli 51221018ea related tdf#163903: fix hexadecimal LCID
See https://gerrit.libreoffice.org/c/core/+/176735

Change-Id: I09ca39b5358f469bb97b76ce04e79944095ad176
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187862
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2025-07-14 20:16:10 +02:00
Caolán McNamara b80cd12449 const up some more pieces
Change-Id: Ib85b8b4b3a2d00e7ef0ecb354fba0b862d60abdd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187749
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-07-12 01:16:21 +02:00
Xisco Fauli d5a303aa28 tdf#136753: Add Moldavian locale
According to https://www.localeplanet.com/icu/ro-MD/index.html
the short weekdays differ from ro-RO

Change-Id: Ie1b9632d2b621e57f8e1040bca4996e4c1ee46c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187629
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-07-11 08:27:43 +02:00
Xisco Fauli 56c8a01a00 related tdf#136753: fix Romanian's short weekdays
Based on https://www.localeplanet.com/icu/ro-RO/index.html

Also change "marţi" to "marți" as suggested in
https://gerrit.libreoffice.org/c/core/+/187629/comment/06663c83_c0b8879b/

Change-Id: Ia98b981229166f6ac731829525f04308d142f270
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187636
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-07-11 08:26:53 +02:00
Xisco Fauli 4e93d5a13c tdf#96151: Add Albanian locale
Most of the information has been extracted from
https://www.localeplanet.com/icu/sq-AL/index.html

Jona Azizaj also helped to translate some strings.
Thanks for that.

Finally, many thanks to Eike Rathke for his valuable
clues and reviews in gerrit on how to add a new locale

Change-Id: Ibf762e7983f9e4aaf81ad8965f31d69fae0fd7ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186666
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2025-07-08 19:16:07 +02:00
Simon Chenery 44f182a0e0 tdf#148251 use std::swap in indexentrysupplier_default.cxx
Change-Id: I49cf4433fd0171d6e95d0c8c8cf5ae2d40b62614
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184416
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Devansh Varshney <varshney.devansh614@gmail.com>
2025-04-26 13:11:17 +02:00
Gabor Kelemen a8278e1c49 Remove obsolete fw declarations from i18npool/ idl/
found with bin/find-unneeded-includes --fwdecl

Change-Id: I6671637445e373310cc982af655bef899b2ec14f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183891
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-04-23 15:50:30 +02:00
Aron Budea 8397af1bc4 tdf#165886 sc: parse various quote characters
Otherwise roundtripped formulas in XLSX containing them
can end up with extra parenthesis, eg:
 - Expected: OR(D1=0,D1<>““)
 - Actual  : OR(D1=0,D1<>““))

Change-Id: I6d296687cc2467ca0cdee329f9b04f6c956d2de0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183987
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Jenkins
2025-04-20 22:49:47 +02:00
Eike Rathke 8cbe2653fe Resolves: tdf#166187 {az-AZ} currency symbol is ₼ U+20BC MANAT SIGN
... and displayed before amount.

Change-Id: Id5cd32f3e054721e44b404406e57aade302b665c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184213
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2025-04-15 18:38:25 +02:00
Eike RathkeandTom Brand fdb83b7272 Resolves: tdf#166056 Add Gronings {gos-NL} locale data
Co-authored-by: Tom Brand <tom9358@gmail.com>
Change-Id: I04bdefe7569c7ef38e3cb3daa469e74977002a3b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183816
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2025-04-09 14:24:11 +02:00
Jonathan Clark 5a03d511f4 tdf#130592 i18npool: Fix incorrect line breaking in mixed CJK+Latin
This change updates the CJK BreakIterator to run ICU line breaking rules
after applying user forbidden rules. This fixes several identified CJK
GUI text rendering issues, most significantly that embedded English runs
were previously broken using CJK break rules, rather than using the
correct English rules.

By implementing this fallback to the ICU rules, the CJK BreakIterator
now also correctly handles non-breaking characters. This change
therefore also fixes tdf#117554.

Change-Id: I3bacc7e2b559729df2c37c010974d180c8eef1f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183825
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-04-09 06:47:38 +02:00
Noel Grandin 6845b8a926 loplugin:constparam in various
Change-Id: I874a95777aed3471675bf03acfcf05ecfcb4f830
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183531
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-03-31 13:18:12 +02:00