A Linux oszlop nem a legújabb magyar rendezést tükrözi. A glibc 2.26-ba került be a legújabb adag javításom.
A jelenlegi rendezés:
pucc
pucol
Pucsay
puccs
puccsóvár
pucsít
> [glibc] a ccs a c és cs közé sorolva, külön kategóriaként
Ezt a https://hup.hu/node/110267 miatt csinálja így – helyesebben már nem is így.
Nem tudom, létezik-e két magyar szó úgy, hogy az egyikben „ccs”, a másikban „cscs” áll (vagy hasonlóan bármely más kettősbetűvel), a szó többi része pedig azonosan írandó. Ha van (és ha előbbiben is „cs+cs” a szemantika), azok ábécébe rendezését az AkH. nem specifikálja. De ha nincs is két ilyen szó, a betűrendbe rendezésnek (ilyen alacsony szinten, mint például a glibc) tetszőleges karaktersorozattal meg kell bírkóznia, nemcsak értelmes szavakkal. Az említett fórumtémában valakinek gondot okozott, hogy két eltérő sztringet azonosként értelmezett a glibc.
Első körben valóban a c és cs közé soroltam az első betűjét, mintegy „talán c, talán cs” betűként, azonban ez a megközelítés hibásnak bizonyult. A sorrend így kasza < kassza lett, mivel utóbbi „s vagy sz” betűvel kezdőtött, amely korábbra rendeződött, mint a másik szóban az „sz”. Nyilván az „s vagy sz” betűt önkényesen az „sz” mögé sorolva ugyanúgy lehetett volna hibákat találni. Ugyanez a puccsóvár < Pucsay esetén.
A 2.26-os glibc ezt úgy javítja, hogy a „ccs”-t „cs+cs”-ként tokenizálja, de az első „cs” kap egy gyengébb prioritású tulajdonságot, mint a rendes „cs”, amely akkor jut érvényre, ha a szó többi részében nincs eltérés (hasonlóan a magánhangzókon lévő ékezetekhez).
Az új szabályok mellé rengeteg unittestet is készítettem, köztük felvittem az AkH. összes rendezési példáját, ezáltal a magyar toronymagasan legjobban unittestelt alfabetikus rendezés a glibc-ben. Ily módon remélhetőleg garantált, hogy az előzőhöz hasonló hiba nincs már, és nem fog becsúszni a későbbiekben. Persze a glibc nem használ szótárat, helytelenül kezeli a pácsó és hasonló szavakat.