If no LanguageTag instance is at hand use the static methods to convert
between BCP 47 string, Locale and MS-LangID instead of creating
temporary instances.
Change-Id: I9597f768078eb81c840e84a5db5617f26bb7dc09
With the native AUTOFMT in Writer the SETATTR_DONTEXPAND does no longer
work reliably: if there is an existing AUTOFMT at the position then it
will be modified and no new hint with DontExpand will be inserted.
Work around this deficiency by inserting a no-length hint with the
preivous formatting at the end of the range.
(similar fix to the i#75891 problem in SwTextShell::InsertSymbol)
(commit 062eaeffe7 did not
introduce the problem but made it far more annoying)
Change-Id: I58ece7f5bd5a786b22a066e5902f1784dafa5dce
The horrible SvxAutoCorrect::AutoCorrect() inserts the character into
the document half-way through, and then _expects_ this inserted
character to show up in its rTxt parameter. This broke in Writer when
SwTxtNode::m_Text was converted to OUString, because now a
temporary String copy is created. Work around this disaster area for
now.
(regression from 0295c8a34e)
Change-Id: I1cb11a20cb0c2577036176e605426105631f3311
it was removed with 66714f1888
but gobs of code (and UI) still existed to collect the help id
and give it to the missing help agent with various UI visible
options and buttons to control the help agent which isn't
there
Change-Id: I625da27b3046d481e43f4d35d32cc7063a1c6291
don't autocapitalize a word if the previous word is clearly an
anagram with intermediate periods.
Committer: anuragkanungo@gmail.com
modified: editeng/source/misc/svxacorr.cxx
On branch localbranch_anurag
Change-Id: Ic559f4b6d5e15768870aabab29350bee51b24b08
Reviewed-on: https://gerrit.libreoffice.org/3495
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
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
Moved portions from module i18npool, all of former i18nisolang1 library
that now is i18nlangtag. Included are languagetag, isolang and mslangid.
This i18nlangtag code is now even used by module comphelper, so
disentangling i18npool and making this an own module was needed to not
create circular module dependencies.
Change-Id: Ib887c3d6dde667403fd22d382310ba5f1a9b0015
Done with a perl regex:
s/OUString\s*\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/OUString\($1\)/gms
Change-Id: Idf28320817cdcbea6d0f7ec06a9bf51bd2c3b3ec
Reviewed-on: https://gerrit.libreoffice.org/2832
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
What changes I made:
1. In svxacorr.cxx SvxAutoCorrect::IsAutoCorrectChar, I added '-' as a character.
2. In svxacorr.cxx SvxAutoCorrect::FnCptlSttWrd, I added code to iterate through each AutoCorrectChar in a compound word to determine if capitalization needs fixing.
Change-Id: I4e7de33fceccdea5edd84e83bacc7ae690135d76
Reviewed-on: https://gerrit.libreoffice.org/2351
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Previous versions used an empty language tag for LANGUAGE_DONTKNOW with the
"[All]" autocorrection entry and read/wrote from/to arco_.dat file. An empty
language tag otherwise is used for system locale and doesn't convert flawlessly
with the new LanguageTag system. Instead use LANGUAGE_UNDETERMINED with the ISO
639 code 'und' so the file name is "acor_und.dat".
During user profile migration an existing 3/user/autocorr/acor_.dat is copied
to the new 4/user/autocorr/acor_und.dat
Change-Id: I593f24829c6efd58f36e93ebd3385a3c925f7217
and rely that it won't replace the original on pre-existing key and use the
usual .second == true flag rather than lookup and then insert on
non-pre-existing key
Change-Id: Idba65bfb2efaa5812b965a8811ff425f0b0939d8
This rather substantially accelerates the first use of autocorrection.
Interestingly, it also appears to accelerate the sorting of the items;
potentially inserting sorted items into a set is a pathological balancing
case, that is avoided by the hash algorithm's randomness.
http://srfi.schemers.org/srfi-13/mail-archive/msg00046.html summarizes well..
"
- Titlecase <> uppercase
Unicode defines three kinds of case mapping: lowercase, uppercase, and
titlecase. The difference between uppercasing and titlecasing a character
or character sequence can be seen in compound characters (that is,
a single character that represents a compount of two characters).
For example, in Unicode, character U+01F3 is LATIN SMALL LETTER DZ. (Let us
write this compound character using ASCII as "dz".) This character
uppercases to character U+01F1, LATIN CAPITAL LETTER DZ. (Which is
basically "DZ".) But it titlecases to to character U+01F2, LATIN CAPITAL
LETTER D WITH SMALL LETTER Z. (Which we can write "Dz".)
character uppercase titlecase
--------- --------- ---------
dz DZ Dz
"
See TestCharacterClassification::testTitleCase for titlecase regression
tests.
Change-Id: I198379832d1910632bb6358149a5276b68d7c6eb
Also create a utility constructor for LocaleDataWrapper, which
simplifies many of the calling sites.
Change-Id: Ic8510b51c4201fa17fc0620e18d3e258e43636ba
Simply make the service implement XExtendedTransliteration, since all
of the implementatins already do that.
Change-Id: If03bf56a8d33931ad0230743a4603e2ae9b104ac
Create a merged XWriter interface for the service.
The xml.sax.Writer service already existed, it just did not have
an IDL file.
Change-Id: I4e6d3f3c68f9282a55fc7aa19778f97632fd8ad5
The xml.sax.Parser service already existed, it just did not have
a new-style service to create it.
Change-Id: I6f145a7504ff9e149c802f723991954a2801cbc9