summaryrefslogtreecommitdiffstats
path: root/i18nutil
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2021-11-10 16:00:42 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-11-11 15:29:33 +0100
commitb7c707223cb44f9423294295ac5d04cc1e2314a2 (patch)
tree00424e8e5031b7dd8c4a94062cdd7b7d7b5e57ac /i18nutil
parentChange CaseMappingExtra commented hex offsets to four digits and uppercase (diff)
downloadcore-b7c707223cb44f9423294295ac5d04cc1e2314a2.tar.gz
core-b7c707223cb44f9423294295ac5d04cc1e2314a2.zip
Resolves: tdf#110003 tdf#143128 handle lowercase ß vs uppercase ẞ folding
Change lowercase ß U+00DF LATIN SMALL LETTER SHARP S from LowerToUpper, ToUpper: SS ToTitle: Ss FullFolding: ss to LowerToUpper, ToUpper: ẞ U+1E9E ToTitle: ẞ U+1E9E FullFolding: ss Add uppercase ẞ U+1E9E LATIN CAPITAL LETTER SHARP S UpperToLower, ToLower: ß U+00DF FullFolding: ss Adjust BASIC Collection test to new reality. Change-Id: I198e06985b81a71e5de94bf7fab7a0dbaf10baef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124988 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125033
Diffstat (limited to 'i18nutil')
-rw-r--r--i18nutil/source/utility/casefolding_data.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/i18nutil/source/utility/casefolding_data.h b/i18nutil/source/utility/casefolding_data.h
index debacdf8c40d..3ea677e83405 100644
--- a/i18nutil/source/utility/casefolding_data.h
+++ b/i18nutil/source/utility/casefolding_data.h
@@ -307,7 +307,7 @@ const Value CaseMappingValue[] = {
{0x6a, 0x1E81}, {0x15, 0x1E80}, {0x6a, 0x1E83}, {0x15, 0x1E82}, {0x6a, 0x1E85}, {0x15, 0x1E84}, {0x6a, 0x1E87}, {0x15, 0x1E86}, // 1e80 - 1e87
{0x6a, 0x1E89}, {0x15, 0x1E88}, {0x6a, 0x1E8B}, {0x15, 0x1E8A}, {0x6a, 0x1E8D}, {0x15, 0x1E8C}, {0x6a, 0x1E8F}, {0x15, 0x1E8E}, // 1e88 - 1e8f
{0x6a, 0x1E91}, {0x15, 0x1E90}, {0x6a, 0x1E93}, {0x15, 0x1E92}, {0x6a, 0x1E95}, {0x15, 0x1E94}, {0xd5, 0x004F}, {0xd5, 0x0051}, // 1e90 - 1e97
- {0xd5, 0x0053}, {0xd5, 0x0055}, {0xd5, 0x0057}, {0xf5, 0x0059}, {0x00, 0x0000}, {0x00, 0x0000}, {0x00, 0x0000}, {0x00, 0x0000}, // 1e98 - 1e9f
+ {0xd5, 0x0053}, {0xd5, 0x0055}, {0xd5, 0x0057}, {0xf5, 0x0059}, {0x00, 0x0000}, {0x00, 0x0000}, {0xea, 0x015E}, {0x00, 0x0000}, // 1e98 - 1e9f
{0x6a, 0x1EA1}, {0x15, 0x1EA0}, {0x6a, 0x1EA3}, {0x15, 0x1EA2}, {0x6a, 0x1EA5}, {0x15, 0x1EA4}, {0x6a, 0x1EA7}, {0x15, 0x1EA6}, // 1ea0 - 1ea7
{0x6a, 0x1EA9}, {0x15, 0x1EA8}, {0x6a, 0x1EAB}, {0x15, 0x1EAA}, {0x6a, 0x1EAD}, {0x15, 0x1EAC}, {0x6a, 0x1EAF}, {0x15, 0x1EAE}, // 1ea8 - 1eaf
{0x6a, 0x1EB1}, {0x15, 0x1EB0}, {0x6a, 0x1EB3}, {0x15, 0x1EB2}, {0x6a, 0x1EB5}, {0x15, 0x1EB4}, {0x6a, 0x1EB7}, {0x15, 0x1EB6}, // 1eb0 - 1eb7
@@ -700,9 +700,9 @@ Mapping const CaseMappingExtra[] = {
{0x8a, 0, {0x0000, 0x0000, 0x0000}}, // 0x00cc (8 0x0008)
{0x60, 1, {0x00ED, 0x0000, 0x0000}}, // 0x00cd (9 0x0009)
{0x8a, 0, {0x0000, 0x0000, 0x0000}}, // 0x00cd (10 0x000A)
- {0x05, 2, {0x0053, 0x0053, 0x0000}}, // 0x00df (11 0x000B)
- {0x10, 2, {0x0053, 0x0073, 0x0000}}, // 0x00df (12 0x000C)
- {0x40, 2, {0x0073, 0x0073, 0x0000}}, // 0x00df (13 0x000D)
+ {0x15, 1, {0x1E9E, 0x0000, 0x0000}}, // 0x00df (11 0x000B)
+ {0x40, 2, {0x0073, 0x0073, 0x0000}}, // 0x00df (12 0x000C)
+ {0x20, 1, {0x00DF, 0x0000, 0x0000}}, // 0x00df (13 0x000D) not hit, CaseMappingValue.type is 0xd5=0x80+0x55 not 0xf5=0x80+0x75, but keep slot
{0x60, 1, {0x0129, 0x0000, 0x0000}}, // 0x0128 (14 0x000E)
{0x8a, 0, {0x0000, 0x0000, 0x0000}}, // 0x0128 (15 0x000F)
{0x60, 1, {0x012F, 0x0000, 0x0000}}, // 0x012e (16 0x0010)
@@ -1039,6 +1039,8 @@ Mapping const CaseMappingExtra[] = {
{0x05, 2, {0x0544, 0x053D, 0x0000}}, // 0xfb17 (347 0x015B)
{0x10, 2, {0x0544, 0x056D, 0x0000}}, // 0xfb17 (348 0x015C)
{0x40, 2, {0x0574, 0x056D, 0x0000}}, // 0xfb17 (349 0x015D)
+ {0x2a, 1, {0x00DF, 0x0000, 0x0000}}, // 0x1e9e (350 0x015E)
+ {0x40, 2, {0x0073, 0x0073, 0x0000}}, // 0x1e9e (351 0x015F)
};
/* Following code need special handling