The scn_IT locale has some transliteration rules with two input characters. But they are commented out because it didn't work. This has been fixed by Andreas Schwab, see: https://sourceware.org/bugzilla/show_bug.cgi?id=31859 So they can now be enabled.
It works now: bash-5.2# locale LANG=C.UTF-8 LC_CTYPE="scn_IT.UTF-8" LC_NUMERIC="scn_IT.UTF-8" LC_TIME="scn_IT.UTF-8" LC_COLLATE="scn_IT.UTF-8" LC_MONETARY="scn_IT.UTF-8" LC_MESSAGES="scn_IT.UTF-8" LC_PAPER="scn_IT.UTF-8" LC_NAME="scn_IT.UTF-8" LC_ADDRESS="scn_IT.UTF-8" LC_TELEPHONE="scn_IT.UTF-8" LC_MEASUREMENT="scn_IT.UTF-8" LC_IDENTIFICATION="scn_IT.UTF-8" LC_ALL=scn_IT.UTF-8 bash-5.2# locale -k language language="Sicilian" bash-5.2# echo "ḌḌ" | iconv -f utf-8 -t ascii//translit DDH bash-5.2# echo "ḌxḌ" | iconv -f utf-8 -t ascii//translit DxD bash-5.2# echo "xḌxḌx" | iconv -f utf-8 -t ascii//translit xDxDx bash-5.2# echo "xḌḌx" | iconv -f utf-8 -t ascii//translit xDDHx bash-5.2#
https://patchwork.sourceware.org/project/glibc/patch/20241016151628.134204-1-mfabian@redhat.com/
commit 25efda03df71cef6482bc81e9744a7f7055ce253 (HEAD -> master, origin/master, origin/HEAD) Author: Mike FABIAN <mfabian@redhat.com> Date: Tue Oct 15 18:40:25 2024 +0200 Enable transliteration rules with two input characters in scn_IT [BZ #32280] Should work now because https://sourceware.org/bugzilla/show_bug.cgi?id=31859 has been fixed. diff --git a/localedata/locales/scn_IT b/localedata/locales/scn_IT index 227745c23f..bda21522ce 100644 --- a/localedata/locales/scn_IT +++ b/localedata/locales/scn_IT @@ -56,15 +56,11 @@ END LC_COLLATE LC_CTYPE copy "it_IT" -% These translit rules don’t work at the moment, -% see: https://sourceware.org/bugzilla/show_bug.cgi?id=31859 -% and: https://sourceware.org/pipermail/libc-alpha/2024-May/156769.html -% -%translit_start -%"ḌḌ" "DDH" -%"ḍḍ" "ddh" -%"Ḍḍ" "Ddh" -%translit_end +translit_start +"ḌḌ" "DDH" +"ḍḍ" "ddh" +"Ḍḍ" "Ddh" +translit_end END LC_CTYPE lines 1-33/33 (END)
Fixed in glibc master.