This is the mail archive of the libc-locales@sourceware.org mailing list for the GNU libc locales project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][BZ 18934] hu_HU: Fix multiple sorting bugs.


On 03/21/2017 06:39 PM, Egmont Koblinger wrote:
> Hi Carlos,
> 
> I'm not sure I properly understood or addresed all your concerns, so
> please double check :)
> 
>> +alphabet a              ; These tests were created by egmont@gmail.com.
>>
>> Exactly which tests were created by you?
>>
>> Normally we don't include attribution in source files like this
> It just would have felt weird to me not to say anything about where
> these tests come from, especially after the "AkH" section that points
> to the source. I've reworded as "All the remaining tests were added by
> glibc", is this okay?

That is OK.

>> , instead
>> I'll add an item to NEWS about the additional coverage for Hungarian
>> and credit you there with the various tests you created.
> I'm not sure if we're on the same page with the NEWS file. It seems to
> highlight the bigger changes, and have an automatically generated
> 1-liner for smaler ones. I don't think the Hungarian sorting order
> deserves to be among the bigger ones, I'm perfectly fine with the
> 1-liner.

Deciding what is "big" or "small" is somewhat arbitrary, and so the
NEWS can contain anything news-worthy, and include attributions.

I'm OK with one-liner in NEWS, and a more complete git commit message.

> Instead, I see the git log entries contain a pretty detailed
> description of the changes, so I tried to create a quite verbose one.

Perfect.

>> In summary:
>> - Remove this comment.
>> - Add a bigger NEWS entry to the patch and I'll help review that.
>>   You'll also get attribution in the git commit author.
>>   Is that sufficient for you?
> Absolutely! By the way, I'm also mentioned in the locale definition
> file, I've added the current date there as well. We might squeeze that
> a bit, e.g. keep the years only, what do you think? (I don't care
> about crediting too much, I just think it's a big enough change within
> this file not to forget mentioning its date).

I'll review that below.

>> I assume the Møsstrand example refers to: [...]
>> If so then please clarify in the comment that you are referring
>> to test AkH-15.
> Yup, clarified.

Thanks.

>> Did you also design the foreign accent tests?
> Yes.

OK.

>> If you did create them then you should mention the new tests in the NEWS entry also.
> As said, I went for the git changelog entry rather than NEWS. Let me
> know if you think that I made it generic/specific enough.

OK.

> Note that I've also changed a tiny bit of wording in the unittest's
> comments, most notably added the word "arbitrarily" twice at locations
> where Luis was kind enough to point out that I indeed picked one
> possible behavior arbitrarily where it's unspecified.
> 
> Please let me know if there's anything you'd still like to improve.
> Enhancments in phrasing English sentences in comments, git log etc.
> are also truly welcome, I'm sure you've already noticed that I'm not
> native English spaker. (If you feel like just editing the last few
> tiny bits yourself, I'm happy if you do that.)
> 
> 
> thanks a lot,
> egmont
> 
> 
> glibc-18934-hu-collate-v6.patch
 
In summary:
- This v6 looks ready to checkin.
- Suggest
  "Further changes by Egmont Koblinger between 2002-2017:"
  in the locale file. Are you OK with that? See below.
- NEWS item:
"* Extensive new collation tests for Hungarian locales based on 
   `The Rules of Hungarian Orthography, 12th edition` and the
   work of Egmont Koblinger <egmont@gmail.com> (Bug 18934).

If you're OK with that then I'll commit.
 
> commit 61adba52927edfc966115177e5dee7559bb6ed87
> Author: Egmont Koblinger <egmont@gmail.com>
> Date:   Tue Mar 21 22:29:12 2017 +0100
> 
>     localedata: hu_HU: fix multiple sorting bugs [BZ #18934]
>     
>     Fix the incorrect sorting order of a digraph and its geminated variant,
>     regression introduced by a faulty fix to bug 13547 in commit
>     b008d4c85619a753e441d7f473ba8af0db400bd6.
>     
>     Fix two inconsistencies in sorting unusual capitalization of digraphs
>     (bug #18587).
>     
>     Enable DIACRIT_FORWARD to work around bug #17750.
>     
>     Sort foreign accents after the Hungarian ones.
>     
>     Add extensive unittests containing all the examples from The Rules of
>     Hungarian Orthography and many more, including explanatory comments.

OK.

> diff --git a/localedata/ChangeLog b/localedata/ChangeLog
> index 3b257a2..68987f1 100644
> --- a/localedata/ChangeLog
> +++ b/localedata/ChangeLog
> @@ -1,3 +1,10 @@
> +2017-03-21  Egmont Koblinger  <egmont@gmail.com>
> +
> +	[BZ #18934]
> +	* locales/hu_HU: Fix multiple collate bugs.
> +	* hu_HU.in: New file.
> +	* Makefile (test-input): Add hu_HU.UTF-8.
> +
>  2017-02-20  Mike FABIAN  <mfabian@redhat.com>
>  
>  	[BZ #20313]
> diff --git a/localedata/Makefile b/localedata/Makefile
> index f6a70a3..47ca39d 100644
> --- a/localedata/Makefile
> +++ b/localedata/Makefile
> @@ -37,7 +37,7 @@ test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \
>  	     tst-ctype tst-langinfo tst-langinfo-static tst-numeric
>  test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \
>  	      hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \
> -	      si_LK.UTF-8 uk_UA.UTF-8
> +	      si_LK.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8
>  test-input-data = $(addsuffix .in, $(basename $(test-input)))
>  test-output := $(foreach s, .out .xout, \
>  			 $(addsuffix $s, $(basename $(test-input))))
> @@ -106,7 +106,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
>  	   hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
>  	   nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \
>  	   zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \
> -	   tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8
> +	   tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8
>  include ../gen-locales.mk
>  endif
>  
> diff --git a/localedata/hu_HU.in b/localedata/hu_HU.in
> new file mode 100644
> index 0000000..7736ac0
> --- /dev/null
> +++ b/localedata/hu_HU.in
> @@ -0,0 +1,560 @@
> +AkH-14-a1 acél          ; The "AkH" tests are from:
> +AkH-14-a1 cukor         ;
> +AkH-14-a1 csók          ; A magyar helyesírás szabályai, 12. kiadás
> +AkH-14-a1 gép           ; [The Rules of Hungarian Orthography, 12th edition]
> +AkH-14-a1 hideg         ;
> +AkH-14-a1 kettő         ; often referred to as akadémiai helyesírás (AkH.) [academic orthography]
> +AkH-14-a1 Nagy          ;
> +AkH-14-a1 nyúl          ; http://helyesiras.mta.hu/helyesiras/default/akh12
> +AkH-14-a1 olasz         ;
> +AkH-14-a1 öröm          ; Alphabetical ordering described in #14-16.
> +AkH-14-a1 remény
> +AkH-14-a1 sokáig        ; #14-a1: Sort based on first letter.
> +AkH-14-a1 szabad
> +AkH-14-a1 Tamás
> +AkH-14-a1 vásárol
> +AkH-14-a2 jácint        ; #14-a2: If no other difference, lowercase initial precedes uppercase.
> +AkH-14-a2 Jácint
> +AkH-14-a2 opera
> +AkH-14-a2 Opera
> +AkH-14-a2 szűcs
> +AkH-14-a2 Szűcs
> +AkH-14-a2 viola
> +AkH-14-a2 Viola
> +AkH-14-a3 cudar         ; #14-a3: Compound letters (cs, dz, dzs, gy, ly, ny, sz, ty, zs)
> +AkH-14-a3 cukor         ; are sorted separately, after their first letter:
> +AkH-14-a3 cuppant       ; a b c cs d dz dzs e f g gy h ... l ly m n ny o ... s sz t ty u ... z zs
> +AkH-14-a3 csalit
> +AkH-14-a3 csata
> +AkH-14-a3 Csepel
> +AkH-14-a3 Zoltán
> +AkH-14-a3 zongora
> +AkH-14-a3 zúdul
> +AkH-14-a3 zsalu
> +AkH-14-a3 zseni
> +AkH-14-a3 Zsigmond
> +AkH-14-b1 lom           ; #14-b1: The first difference matters.
> +AkH-14-b1 lomb
> +AkH-14-b1 lombik
> +AkH-14-b1 Lontay
> +AkH-14-b1 lovagol
> +AkH-14-b1 pirinkó
> +AkH-14-b1 pirinyó
> +AkH-14-b1 pirít
> +AkH-14-b1 pirkad
> +AkH-14-b1 Piroska
> +AkH-14-b1 tükör
> +AkH-14-b1 Tünde
> +AkH-14-b1 tünemény
> +AkH-14-b1 tüntet
> +AkH-14-b1 tüzér
> +AkH-14-b2 kas           ; #14-b2: If a compound letter is pronounced long, only the first letter
> +AkH-14-b2 Kasmír        ; is duplicated in writing: <cs><cs> becomes ccs, <dzs><dzs> is ddzs etc.
> +AkH-14-b2 Kassák        ; (unless it's at the boundary of a compound word where it's written out twice).
> +AkH-14-b2 kastély       ; Sort according to the actual tokens, not the shorthand written form.
> +AkH-14-b2 kasza         ; <k><a><sz><a>
> +AkH-14-b2 kaszinó       ; <k><a><sz><i><n><ó>
> +AkH-14-b2 kassza        ; <k><a><sz><sz><a>
> +AkH-14-b2 kaszt         ; <k><a><sz><t>
> +AkH-14-b2 mennek
> +AkH-14-b2 mennének
> +AkH-14-b2 menü
> +AkH-14-b2 menza
> +AkH-14-b2 meny          ; <m><e><ny>
> +AkH-14-b2 Menyhért      ; <M><e><ny><h><é><r><t>
> +AkH-14-b2 mennybolt     ; <m><e><ny><ny><b><o><l><t>
> +AkH-14-b2 mennyi        ; <m><e><ny><ny><i>
> +AkH-14-b2 nagy          ; <n><a><gy>
> +AkH-14-b2 naggyá        ; <n><a><gy><gy><á>
> +AkH-14-b2 nagygyakorlat ; <n><a><gy><gy><a><k><o><r><l><a><t> (compound word: nagy+gyakorlat)
> +AkH-14-b2 naggyal       ; <n><a><gy><gy><a><l>
> +AkH-14-b2 nagyít        ; <n><a><gy><í><t>
> +AkH-14-b2 nagyobb
> +AkH-14-b2 nagyol
> +AkH-14-b2 nagyoll
> +AkH-14-c1 ír            ; #14-c1: Vowels collate equally in pairs: a-á, e-é, i-í, o-ó, ö-ő, u-ú, ü-ű.
> +AkH-14-c1 Irak
> +AkH-14-c1 iram
> +AkH-14-c1 Irán
> +AkH-14-c1 írandó
> +AkH-14-c1 iránt
> +AkH-14-c1 író
> +AkH-14-c1 iroda
> +AkH-14-c1 irónia
> +AkH-14-c2 Eger          ; #14-c2: Short vowel (unaccented, or with diaeresis) comes first if that's the only difference.
> +AkH-14-c2 egér
> +AkH-14-c2 egyfelé
> +AkH-14-c2 egyféle
> +AkH-14-c2 elöl
> +AkH-14-c2 elől
> +AkH-14-c2 kerek
> +AkH-14-c2 kerék
> +AkH-14-c2 keres
> +AkH-14-c2 kérés
> +AkH-14-c2 koros
> +AkH-14-c2 kóros
> +AkH-14-c2 szel
> +AkH-14-c2 szél
> +AkH-14-c2 szeles
> +AkH-14-c2 széles
> +AkH-14-c2 szüret
> +AkH-14-c2 szűret
> +AkH-14-d1 kis részben   ; #14-d1: Spaces, hyphens are ignored.
> +AkH-14-d1 kissé
> +AkH-14-d1 Kiss Ernő
> +AkH-14-d1 kis sorozat
> +AkH-14-d1 kissorozat-gyártás
> +AkH-14-d1 kis számban
> +AkH-14-d1 kistányér
> +AkH-14-d1 kis virág
> +AkH-14-d1 márvány
> +AkH-14-d1 márványkő
> +AkH-14-d1 márvány sírkő
> +AkH-14-d1 Márvány-tenger
> +AkH-14-d1 márványtömb
> +AkH-14-d1 Márvány Zsolt
> +AkH-14-d1 másféle
> +AkH-14-d1 másol
> +AkH-14-d1 tiszafa
> +AkH-14-d1 Tiszahát
> +AkH-14-d1 Tisza Kálmán
> +AkH-14-d1 Tisza menti
> +AkH-14-d1 Tiszántúl
> +AkH-14-d1 Tisza-part
> +AkH-14-d1 tiszavirág
> +AkH-14-d1 tiszt
> +AkH-15 cérna            ; #15: Foreign accents are ignored, unless they're the only difference,
> +AkH-15 Černý            ; in which case they are sorted after the Hungarian ones (in unspecified order).
> +AkH-15 Champagne
> +AkH-15 Cholnoky
> +AkH-15 címez
> +AkH-15 cukor
> +AkH-15 Czuczor
> +AkH-15 csapat
> +AkH-15 Gaal
> +AkH-15 galamb
> +AkH-15 Gärtner
> +AkH-15 gáz
> +AkH-15 geodézia
> +AkH-15 Georges
> +AkH-15 góc
> +AkH-15 Goethe
> +AkH-15 moshat
> +AkH-15 mosna
> +AkH-15 Mošna
> +AkH-15 mosópor
> +AkH-15 Møsstrand
> +AkH-15 mostan
> +AkH-15 munka
> +AkH-15 Muñoz
> +alphabet a              ; All the remaining tests were added by glibc.

OK.

> +alphabet á
> +alphabet aa             ; a = á unless that's the only difference in which case a < á.
> +alphabet aá             ; (Same for e = é, i = í, o = ó, ö = ő, u = ú, ü = ű below.)
> +alphabet áa             ; Differences in accents matter from left to right.
> +alphabet áá
> +alphabet áp
> +alphabet aq
> +alphabet b
> +alphabet c
> +alphabet cz             ; <c><z>
> +alphabet cs             ; <cs>        -- or rarely <c><s>, can't tell for sure, assume <cs>.
> +alphabet csc            ; <cs><c>
> +alphabet ccs            ; <cs><cs>    -- or rarely <c><cs>, can't tell for sure, assume <cs><cs>.
> +alphabet cscs           ; <cs><cs>    -- Make sure ccs and cscs don't collate as equal, see bug 13547.
> +alphabet ccsa           ; <cs><cs><a> -- The order of ccs and cscs is not specified in the rules and is arbitrarily chosen by glibc.
> +alphabet cscsa          ; <cs><cs><a>
> +alphabet csd            ; <cs><d>     -- (These comments also apply to all other compound letters below.)
> +alphabet d
> +alphabet dz             ; <dz>
> +alphabet dzd            ; <dz><d>
> +alphabet ddz            ; <dz><dz>
> +alphabet dzdz           ; <dz><dz>
> +alphabet ddza           ; <dz><dz><a>
> +alphabet dzdza          ; <dz><dz><a>
> +alphabet dzdzs          ; <dz><dzs>
> +alphabet dze            ; <dz><e>
> +alphabet dzz            ; <dz><z>
> +alphabet dzs            ; <dzs>
> +alphabet dzsdz          ; <dzs><dz>
> +alphabet ddzs           ; <dzs><dzs>
> +alphabet dzsdzs         ; <dzs><dzs>
> +alphabet ddzsa          ; <dzs><dzs><a>
> +alphabet dzsdzsa        ; <dzs><dzs><a>
> +alphabet dzse           ; <dzs><e>
> +alphabet e
> +alphabet é
> +alphabet ee
> +alphabet eé
> +alphabet ée
> +alphabet éé
> +alphabet ép
> +alphabet eq
> +alphabet f
> +alphabet g
> +alphabet gz             ; <g><z>
> +alphabet gy             ; <gy>
> +alphabet gyg            ; <gy><g>
> +alphabet ggy            ; <gy><gy>
> +alphabet gygy           ; <gy><gy>
> +alphabet ggya           ; <gy><gy><a>
> +alphabet gygya          ; <gy><gy><a>
> +alphabet gyh            ; <gy><h>
> +alphabet h
> +alphabet i
> +alphabet í
> +alphabet ii
> +alphabet ií
> +alphabet íi
> +alphabet íí
> +alphabet íp
> +alphabet iq
> +alphabet j
> +alphabet k
> +alphabet l
> +alphabet lz             ; <l><z>
> +alphabet ly             ; <ly>
> +alphabet lyl            ; <ly><l>
> +alphabet lly            ; <ly><ly>
> +alphabet lyly           ; <ly><ly>
> +alphabet llya           ; <ly><ly><a>
> +alphabet lylya          ; <ly><ly><a>
> +alphabet lym            ; <ly><m>
> +alphabet m
> +alphabet n
> +alphabet nz             ; <n><z>
> +alphabet ny             ; <ny>
> +alphabet nyn            ; <ny><n>
> +alphabet nny            ; <ny><ny>
> +alphabet nyny           ; <ny><ny>
> +alphabet nnya           ; <ny><ny><a>
> +alphabet nynya          ; <ny><ny><a>
> +alphabet nyo            ; <ny><o>
> +alphabet o
> +alphabet ó
> +alphabet oo
> +alphabet oó
> +alphabet óo
> +alphabet óó
> +alphabet óp
> +alphabet oq
> +alphabet ö              ; ö = ő (unless that's the only difference), but these come strictly after o and ó.
> +alphabet ő
> +alphabet öö
> +alphabet öő
> +alphabet őö
> +alphabet őő
> +alphabet őp
> +alphabet öq
> +alphabet p
> +alphabet q
> +alphabet r
> +alphabet s
> +alphabet sz             ; <sz>
> +alphabet szs            ; <sz><s>
> +alphabet ssz            ; <sz><sz>
> +alphabet szsz           ; <sz><sz>
> +alphabet ssza           ; <sz><sz><a>
> +alphabet szsza          ; <sz><sz><a>
> +alphabet szt            ; <sz><t>
> +alphabet t
> +alphabet tz             ; <t><z>
> +alphabet ty             ; <ty>
> +alphabet tyt            ; <ty><t>
> +alphabet tty            ; <ty><ty>
> +alphabet tyty           ; <ty><ty>
> +alphabet ttya           ; <ty><ty><a>
> +alphabet tytya          ; <ty><ty><a>
> +alphabet tyu            ; <ty><u>
> +alphabet u
> +alphabet ú
> +alphabet úp
> +alphabet uq
> +alphabet uu
> +alphabet uú
> +alphabet úu
> +alphabet úú
> +alphabet ü              ; ü = ű (unless that's the only difference), but these come strictly after u and ú.
> +alphabet ű
> +alphabet űp
> +alphabet üq
> +alphabet üü
> +alphabet üű
> +alphabet űü
> +alphabet űű
> +alphabet v
> +alphabet w
> +alphabet x
> +alphabet y
> +alphabet z
> +alphabet zz             ; <z><z>
> +alphabet zs             ; <zs>
> +alphabet zsz            ; <zs><z>
> +alphabet zzs            ; <zs><zs>
> +alphabet zszs           ; <zs><zs>
> +alphabet zzsa           ; <zs><zs><a>
> +alphabet zszsa          ; <zs><zs><a>
> +case a                  ; #14-a2 specifies that if the same word appears in lowercase as well as with
> +case A                  ; uppercase initial, the lowercase one is to be sorted first.
> +case á                  ; Arbitrarily extend this to all other weird combinations of upper- and lowercases in compound letters.
> +case Á
> +case cs                 ; <cs>
> +case cS
> +case Cs
> +case CS
> +case ccs                ; <cs><cs>
> +case ccS
> +case cCs
> +case cCS
> +case Ccs
> +case CcS
> +case CCs
> +case CCS
> +case dz                 ; <dz>
> +case dZ
> +case Dz
> +case DZ
> +case ddz                ; <dz><dz>
> +case ddZ
> +case dDz
> +case dDZ
> +case Ddz
> +case DdZ
> +case DDz
> +case DDZ
> +case dzs                ; <dzs>
> +case dzS
> +case dZs
> +case dZS
> +case Dzs
> +case DzS
> +case DZs
> +case DZS
> +case ddzs               ; <dzs><dzs>
> +case ddzS
> +case ddZs
> +case ddZS
> +case dDzs
> +case dDzS
> +case dDZs
> +case dDZS
> +case Ddzs
> +case DdzS
> +case DdZs
> +case DdZS
> +case DDzs
> +case DDzS
> +case DDZs
> +case DDZS
> +case e
> +case E
> +case é
> +case É
> +case gy                 ; <gy>
> +case gY
> +case Gy
> +case GY
> +case ggy                ; <gy><gy>
> +case ggY
> +case gGy
> +case gGY
> +case Ggy
> +case GgY
> +case GGy
> +case GGY
> +case i
> +case I
> +case í
> +case Í
> +case ly                 ; <ly>
> +case lY
> +case Ly
> +case LY
> +case lly                ; <ly><ly>
> +case llY
> +case lLy
> +case lLY
> +case Lly
> +case LlY
> +case LLy
> +case LLY
> +case ny                 ; <ny>
> +case nY
> +case Ny
> +case NY
> +case nny                ; <ny><ny>
> +case nnY
> +case nNy
> +case nNY
> +case Nny
> +case NnY
> +case NNy
> +case NNY
> +case o
> +case O
> +case ó
> +case Ó
> +case ö
> +case Ö
> +case ő
> +case Ő
> +case sz                 ; <sz>
> +case sZ
> +case Sz
> +case SZ
> +case ssz                ; <sz><sz>
> +case ssZ
> +case sSz
> +case sSZ
> +case Ssz
> +case SsZ
> +case SSz
> +case SSZ
> +case ty                 ; <ty>
> +case tY
> +case Ty
> +case TY
> +case tty                ; <ty><ty>
> +case ttY
> +case tTy
> +case tTY
> +case Tty
> +case TtY
> +case TTy
> +case TTY
> +case u
> +case U
> +case ú
> +case Ú
> +case ü
> +case Ü
> +case ű
> +case Ű
> +case zs                 ; <zs>
> +case zS
> +case Zs
> +case ZS
> +case zzs                ; <zs><zs>
> +case zzS
> +case zZs
> +case zZS
> +case Zzs
> +case ZzS
> +case ZZs
> +case ZZS
> +foreign-a1 á            ; More thorough tests for foreign accents (#15).
> +foreign-a1 à            ; Each test consists of 4 lines. The foreign accent is in the middle two.
> +foreign-a1 àp           ; That is, on their own they come after the Hungarian accent, but a
> +foreign-a1 áq           ; subsequent difference (p and q) overrides this.
> +foreign-a2 á
> +foreign-a2 â
> +foreign-a2 âp
> +foreign-a2 áq
> +foreign-a3 á
> +foreign-a3 ã
> +foreign-a3 ãp
> +foreign-a3 áq
> +foreign-a4 á
> +foreign-a4 ä
> +foreign-a4 äp
> +foreign-a4 áq
> +foreign-a5 á
> +foreign-a5 å
> +foreign-a5 åp
> +foreign-a5 áq
> +foreign-a6 á
> +foreign-a6 ă
> +foreign-a6 ăp
> +foreign-a6 áq
> +foreign-c1 c
> +foreign-c1 ç
> +foreign-c1 çp
> +foreign-c1 cq
> +foreign-d1 d
> +foreign-d1 đ
> +foreign-d1 đp
> +foreign-d1 dq
> +foreign-e1 é
> +foreign-e1 è
> +foreign-e1 èp
> +foreign-e1 éq
> +foreign-e2 é
> +foreign-e2 ê
> +foreign-e2 êp
> +foreign-e2 éq
> +foreign-e3 é
> +foreign-e3 ë
> +foreign-e3 ëp
> +foreign-e3 éq
> +foreign-e4 é
> +foreign-e4 ě
> +foreign-e4 ěp
> +foreign-e4 éq
> +foreign-i1 í
> +foreign-i1 ì
> +foreign-i1 ìp
> +foreign-i1 íq
> +foreign-i2 í
> +foreign-i2 î
> +foreign-i2 îp
> +foreign-i2 íq
> +foreign-i3 í
> +foreign-i3 ï
> +foreign-i3 ïp
> +foreign-i3 íq
> +foreign-l1 l
> +foreign-l1 ł
> +foreign-l1 łp
> +foreign-l1 lq
> +foreign-n1 n
> +foreign-n1 ñ
> +foreign-n1 ñp
> +foreign-n1 nq
> +foreign-n2 n
> +foreign-n2 ň
> +foreign-n2 ňp
> +foreign-n2 nq
> +foreign-o1 ó            ; The rules are not explicit whether foreign accents on top of o or u
> +foreign-o1 ò            ; should be sorted among o-ó and u-ú, or among ö-ő and ü-ű, but the
> +foreign-o1 òp           ; AkH #15 example with Møsstrand implicitly shows that it's the former.
> +foreign-o1 óq
> +foreign-o2 ó
> +foreign-o2 ô
> +foreign-o2 ôp
> +foreign-o2 óq
> +foreign-o3 ó
> +foreign-o3 õ
> +foreign-o3 õp
> +foreign-o3 óq
> +foreign-o4 ó
> +foreign-o4 ø
> +foreign-o4 øp
> +foreign-o4 óq
> +foreign-r1 r
> +foreign-r1 ř
> +foreign-r1 řp
> +foreign-r1 rq
> +foreign-s1 s
> +foreign-s1 š
> +foreign-s1 šp
> +foreign-s1 sq
> +foreign-u1 ú
> +foreign-u1 ù
> +foreign-u1 ùp
> +foreign-u1 úq
> +foreign-u2 ú
> +foreign-u2 û
> +foreign-u2 ûp
> +foreign-u2 úq
> +foreign-u3 ú
> +foreign-u3 ũ
> +foreign-u3 ũp
> +foreign-u3 úq
> +foreign-u4 ú
> +foreign-u4 ů
> +foreign-u4 ůp
> +foreign-u4 úq
> +foreign-y1 y
> +foreign-y1 ÿ
> +foreign-y1 ÿp
> +foreign-y1 yq
> diff --git a/localedata/locales/hu_HU b/localedata/locales/hu_HU
> index 898d293..8d508e3 100644
> --- a/localedata/locales/hu_HU
> +++ b/localedata/locales/hu_HU
> @@ -22,7 +22,7 @@ escape_char /
>  % - made all days abbreviations same lenght by appending spaces
>  % Email: srtxg@chanae.alphanet.ch
>  %
> -% Further changes by Egmont Koblinger, 2002/Jan/06, 2012/Jan/03, 2015/Sep/03
> +% Further changes by Egmont Koblinger, 2002/Jan/06, 2012/Jan/03, 2015/Sep/03, 2017/Mar/21

Suggest:
Further changes by Egmont Koblinger between 2002-2017:

>  % - fixed tons of remaining bugs in alphabetical order
>  % - turned month names and similar stuff to lowercase
>  % - other small bugfixes
> @@ -64,6 +64,7 @@ category "i18n:2012";LC_MEASUREMENT
>  END LC_IDENTIFICATION
>  
>  LC_COLLATE
> +define DIACRIT_FORWARD
>  copy "iso14651_t1"
>  
>  %% a b c cs d dz dzs e f g gy h i j k l ly m n ny o o: p q
> @@ -77,15 +78,18 @@ copy "iso14651_t1"
>  %% dzs+dzs becomes ddzs, and so on.
>  %% However, c+cs is also spelled as ccs, you need to speak
>  %% the language to tell which one is the case.
> -%% Tokenize ccs as <c_or_cs><cs>, and sort the tokens as
> -%% a b c c_or_cs cs d... This effectively assumes cs+cs
> -%% which is more frequent than c+cs, but guarantees that the
> -%% strings ccs and cscs don't collate as equal.
> +%% Tokenize ccs as <cs><cs> since this is much more frequent
> +%% than <c><cs>, but apply SINGLE-OR-COMPOUND and COMPOUND
> +%% to the tokens so that the strings ccs and cscs don't collate
> +%% as equal.
> +%% The same goes for all other compound consonants.
>  
>  collating-symbol  <odouble>
>  collating-symbol  <udouble>
>  
> -collating-symbol  <c_or_cs>
> +collating-symbol  <SINGLE-OR-COMPOUND>
> +collating-symbol  <COMPOUND>
> +
>  collating-symbol  <cs>
>  collating-element <C-S> from "<U0043><U0053>"
>  collating-element <C-s> from "<U0043><U0073>"
> @@ -100,7 +104,6 @@ collating-element <c-C-s> from "<U0063><U0043><U0073>"
>  collating-element <c-c-S> from "<U0063><U0063><U0053>"
>  collating-element <c-c-s> from "<U0063><U0063><U0073>"
>  
> -collating-symbol  <d_or_dz>
>  collating-symbol  <dz>
>  collating-element <D-Z> from "<U0044><U005A>"
>  collating-element <D-z> from "<U0044><U007A>"
> @@ -115,7 +118,6 @@ collating-element <d-D-z> from "<U0064><U0044><U007A>"
>  collating-element <d-d-Z> from "<U0064><U0064><U005A>"
>  collating-element <d-d-z> from "<U0064><U0064><U007A>"
>  
> -collating-symbol  <d_or_dzs>
>  collating-symbol  <dzs>
>  collating-element <D-Z-S> from "<U0044><U005A><U0053>"
>  collating-element <D-Z-s> from "<U0044><U005A><U0073>"
> @@ -142,7 +144,6 @@ collating-element <d-d-Z-s> from "<U0064><U0064><U005A><U0073>"
>  collating-element <d-d-z-S> from "<U0064><U0064><U007A><U0053>"
>  collating-element <d-d-z-s> from "<U0064><U0064><U007A><U0073>"
>  
> -collating-symbol  <g_or_gy>
>  collating-symbol  <gy>
>  collating-element <G-Y> from "<U0047><U0059>"
>  collating-element <G-y> from "<U0047><U0079>"
> @@ -157,7 +158,6 @@ collating-element <g-G-y> from "<U0067><U0047><U0079>"
>  collating-element <g-g-Y> from "<U0067><U0067><U0059>"
>  collating-element <g-g-y> from "<U0067><U0067><U0079>"
>  
> -collating-symbol  <l_or_ly>
>  collating-symbol  <ly>
>  collating-element <L-Y> from "<U004C><U0059>"
>  collating-element <L-y> from "<U004C><U0079>"
> @@ -172,7 +172,6 @@ collating-element <l-L-y> from "<U006C><U004C><U0079>"
>  collating-element <l-l-Y> from "<U006C><U006C><U0059>"
>  collating-element <l-l-y> from "<U006C><U006C><U0079>"
>  
> -collating-symbol  <n_or_ny>
>  collating-symbol  <ny>
>  collating-element <N-Y> from "<U004E><U0059>"
>  collating-element <N-y> from "<U004E><U0079>"
> @@ -187,7 +186,6 @@ collating-element <n-N-y> from "<U006E><U004E><U0079>"
>  collating-element <n-n-Y> from "<U006E><U006E><U0059>"
>  collating-element <n-n-y> from "<U006E><U006E><U0079>"
>  
> -collating-symbol  <s_or_sz>
>  collating-symbol  <sz>
>  collating-element <S-Z> from "<U0053><U005A>"
>  collating-element <S-z> from "<U0053><U007A>"
> @@ -202,7 +200,6 @@ collating-element <s-S-z> from "<U0073><U0053><U007A>"
>  collating-element <s-s-Z> from "<U0073><U0073><U005A>"
>  collating-element <s-s-z> from "<U0073><U0073><U007A>"
>  
> -collating-symbol  <t_or_ty>
>  collating-symbol  <ty>
>  collating-element <T-Y> from "<U0054><U0059>"
>  collating-element <T-y> from "<U0054><U0079>"
> @@ -217,7 +214,6 @@ collating-element <t-T-y> from "<U0074><U0054><U0079>"
>  collating-element <t-t-Y> from "<U0074><U0074><U0059>"
>  collating-element <t-t-y> from "<U0074><U0074><U0079>"
>  
> -collating-symbol  <z_or_zs>
>  collating-symbol  <zs>
>  collating-element <Z-S> from "<U005A><U0053>"
>  collating-element <Z-s> from "<U005A><U0073>"
> @@ -232,8 +228,10 @@ collating-element <z-Z-s> from "<U007A><U005A><U0073>"
>  collating-element <z-z-S> from "<U007A><U007A><U0053>"
>  collating-element <z-z-s> from "<U007A><U007A><U0073>"
>  
> +collating-symbol <CAP-CAP>
>  collating-symbol <CAP-MIN>
>  collating-symbol <MIN-CAP>
> +collating-symbol <MIN-MIN>
>  collating-symbol <CAP-CAP-CAP>
>  collating-symbol <CAP-CAP-MIN>
>  collating-symbol <CAP-MIN-CAP>
> @@ -244,6 +242,7 @@ collating-symbol <MIN-MIN-CAP>
>  collating-symbol <MIN-MIN-MIN>
>  
>  reorder-after <MIN>
> +<MIN-MIN>
>  <MIN-CAP>
>  <MIN-MIN-MIN>
>  <MIN-MIN-CAP>
> @@ -252,42 +251,38 @@ reorder-after <MIN>
>  
>  reorder-after <CAP>
>  <CAP-MIN>
> +<CAP-CAP>
>  <CAP-MIN-MIN>
>  <CAP-MIN-CAP>
>  <CAP-CAP-MIN>
>  <CAP-CAP-CAP>
>  
>  reorder-after <c>
> -<c_or_cs>
>  <cs>
>  reorder-after <d>
> -<d_or_dz>
> -<d_or_dzs>
>  <dz>
>  <dzs>
>  reorder-after <g>
> -<g_or_gy>
>  <gy>
>  reorder-after <l>
> -<l_or_ly>
>  <ly>
>  reorder-after <n>
> -<n_or_ny>
>  <ny>
>  reorder-after <o>
>  <odouble>
>  reorder-after <s>
> -<s_or_sz>
>  <sz>
>  reorder-after <t>
> -<t_or_ty>
>  <ty>
>  reorder-after <u>
>  <udouble>
>  reorder-after <z>
> -<z_or_zs>
>  <zs>
>  
> +reorder-after <BAS>
> +<SINGLE-OR-COMPOUND>
> +<COMPOUND>
> +
>  reorder-after <o>
>  <U00F6>	<odouble>;<REU>;<MIN>;IGNORE
>  <U0151>	<odouble>;<DAC>;<MIN>;IGNORE
> @@ -300,152 +295,157 @@ reorder-after <u>
>  <U00DC>	<udouble>;<REU>;<CAP>;IGNORE
>  <U0170>	<udouble>;<DAC>;<CAP>;IGNORE
>  
> +reorder-after <BAS>
> +<ACA>
> +<REU>
> +<DAC>
> +
>  reorder-after <U0043>
> -<C-S>		<cs>;<BAS>;<CAP>;IGNORE
> -<C-s>		<cs>;<BAS>;<CAP-MIN>;IGNORE
> -<C-C-S>		"<c_or_cs><cs>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<C-C-s>		"<c_or_cs><cs>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<C-c-S>		"<c_or_cs><cs>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<C-c-s>		"<c_or_cs><cs>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<C-S>		<cs>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<C-s>		<cs>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<C-C-S>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<C-C-s>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<C-c-S>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<C-c-s>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U0063>
> -<c-S>		<cs>;<BAS>;<MIN-CAP>;IGNORE
> -<c-s>		<cs>;<BAS>;<MIN>;IGNORE
> -<c-C-S>		"<c_or_cs><cs>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<c-C-s>		"<c_or_cs><cs>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<c-c-S>		"<c_or_cs><cs>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<c-c-s>		"<c_or_cs><cs>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<c-S>		<cs>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<c-s>		<cs>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<c-C-S>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<c-C-s>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<c-c-S>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<c-c-s>		"<cs><cs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U0044>
> -<D-Z>		<dz>;<BAS>;<CAP>;IGNORE
> -<D-z>		<dz>;<BAS>;<CAP-MIN>;IGNORE
> -<D-D-Z>		"<d_or_dz><dz>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<D-D-z>		"<d_or_dz><dz>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<D-d-Z>		"<d_or_dz><dz>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<D-d-z>		"<d_or_dz><dz>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<D-Z>		<dz>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<D-z>		<dz>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<D-D-Z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<D-D-z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<D-d-Z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<D-d-z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U0064>
> -<d-Z>		<dz>;<BAS>;<MIN-CAP>;IGNORE
> -<d-z>		<dz>;<BAS>;<MIN>;IGNORE
> -<d-D-Z>		"<d_or_dz><dz>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<d-D-z>		"<d_or_dz><dz>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<d-d-Z>		"<d_or_dz><dz>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<d-d-z>		"<d_or_dz><dz>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<d-Z>		<dz>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<d-z>		<dz>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<d-D-Z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<d-D-z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<d-d-Z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<d-d-z>		"<dz><dz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U0044>
> -<D-Z-S>		<dzs>;<BAS>;<CAP-CAP-CAP>;IGNORE
> -<D-Z-s>		<dzs>;<BAS>;<CAP-CAP-MIN>;IGNORE
> -<D-z-S>		<dzs>;<BAS>;<CAP-MIN-CAP>;IGNORE
> -<D-z-s>		<dzs>;<BAS>;<CAP-MIN-MIN>;IGNORE
> -<D-D-Z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-CAP>";IGNORE
> -<D-D-Z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-MIN>";IGNORE
> -<D-D-z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-CAP>";IGNORE
> -<D-D-z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-MIN>";IGNORE
> -<D-d-Z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-CAP>";IGNORE
> -<D-d-Z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-MIN>";IGNORE
> -<D-d-z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-CAP>";IGNORE
> -<D-d-z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-MIN>";IGNORE
> +<D-Z-S>		<dzs>;<COMPOUND>;<CAP-CAP-CAP>;IGNORE
> +<D-Z-s>		<dzs>;<COMPOUND>;<CAP-CAP-MIN>;IGNORE
> +<D-z-S>		<dzs>;<COMPOUND>;<CAP-MIN-CAP>;IGNORE
> +<D-z-s>		<dzs>;<COMPOUND>;<CAP-MIN-MIN>;IGNORE
> +<D-D-Z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP-CAP>";IGNORE
> +<D-D-Z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP-MIN>";IGNORE
> +<D-D-z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN-CAP>";IGNORE
> +<D-D-z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN-MIN>";IGNORE
> +<D-d-Z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP-CAP>";IGNORE
> +<D-d-Z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP-MIN>";IGNORE
> +<D-d-z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN-CAP>";IGNORE
> +<D-d-z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN-MIN>";IGNORE
>  reorder-after <U0064>
> -<d-Z-S>		<dzs>;<BAS>;<MIN-CAP-CAP>;IGNORE
> -<d-Z-s>		<dzs>;<BAS>;<MIN-CAP-MIN>;IGNORE
> -<d-z-S>		<dzs>;<BAS>;<MIN-MIN-CAP>;IGNORE
> -<d-z-s>		<dzs>;<BAS>;<MIN-MIN-MIN>;IGNORE
> -<d-D-Z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-CAP>";IGNORE
> -<d-D-Z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-MIN>";IGNORE
> -<d-D-z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-CAP>";IGNORE
> -<d-D-z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-MIN>";IGNORE
> -<d-d-Z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-CAP>";IGNORE
> -<d-d-Z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-MIN>";IGNORE
> -<d-d-z-S>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-CAP>";IGNORE
> -<d-d-z-s>	"<d_or_dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-MIN>";IGNORE
> +<d-Z-S>		<dzs>;<COMPOUND>;<MIN-CAP-CAP>;IGNORE
> +<d-Z-s>		<dzs>;<COMPOUND>;<MIN-CAP-MIN>;IGNORE
> +<d-z-S>		<dzs>;<COMPOUND>;<MIN-MIN-CAP>;IGNORE
> +<d-z-s>		<dzs>;<COMPOUND>;<MIN-MIN-MIN>;IGNORE
> +<d-D-Z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP-CAP>";IGNORE
> +<d-D-Z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP-MIN>";IGNORE
> +<d-D-z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN-CAP>";IGNORE
> +<d-D-z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN-MIN>";IGNORE
> +<d-d-Z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP-CAP>";IGNORE
> +<d-d-Z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP-MIN>";IGNORE
> +<d-d-z-S>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN-CAP>";IGNORE
> +<d-d-z-s>	"<dzs><dzs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN-MIN>";IGNORE
>  
>  reorder-after <U0047>
> -<G-Y>		<gy>;<BAS>;<CAP>;IGNORE
> -<G-y>		<gy>;<BAS>;<CAP-MIN>;IGNORE
> -<G-G-Y>		"<g_or_gy><gy>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<G-G-y>		"<g_or_gy><gy>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<G-g-Y>		"<g_or_gy><gy>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<G-g-y>		"<g_or_gy><gy>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<G-Y>		<gy>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<G-y>		<gy>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<G-G-Y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<G-G-y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<G-g-Y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<G-g-y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U0067>
> -<g-y>		<gy>;<BAS>;<MIN>;IGNORE
> -<g-Y>		<gy>;<BAS>;<MIN-CAP>;IGNORE
> -<g-G-Y>		"<g_or_gy><gy>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<g-G-y>		"<g_or_gy><gy>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<g-g-Y>		"<g_or_gy><gy>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<g-g-y>		"<g_or_gy><gy>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<g-Y>		<gy>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<g-y>		<gy>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<g-G-Y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<g-G-y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<g-g-Y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<g-g-y>		"<gy><gy>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U004C>
> -<L-Y>		<ly>;<BAS>;<CAP>;IGNORE
> -<L-y>		<ly>;<BAS>;<CAP-MIN>;IGNORE
> -<L-L-Y>		"<l_or_ly><ly>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<L-L-y>		"<l_or_ly><ly>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<L-l-Y>		"<l_or_ly><ly>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<L-l-y>		"<l_or_ly><ly>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<L-Y>		<ly>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<L-y>		<ly>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<L-L-Y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<L-L-y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<L-l-Y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<L-l-y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U006C>
> -<l-y>		<ly>;<BAS>;<MIN>;IGNORE
> -<l-Y>		<ly>;<BAS>;<MIN-CAP>;IGNORE
> -<l-L-Y>		"<l_or_ly><ly>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<l-L-y>		"<l_or_ly><ly>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<l-l-Y>		"<l_or_ly><ly>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<l-l-y>		"<l_or_ly><ly>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<l-Y>		<ly>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<l-y>		<ly>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<l-L-Y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<l-L-y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<l-l-Y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<l-l-y>		"<ly><ly>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U004E>
> -<N-Y>		<ny>;<BAS>;<CAP>;IGNORE
> -<N-y>		<ny>;<BAS>;<CAP-MIN>;IGNORE
> -<N-N-Y>		"<n_or_ny><ny>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<N-N-y>		"<n_or_ny><ny>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<N-n-Y>		"<n_or_ny><ny>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<N-n-y>		"<n_or_ny><ny>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<N-Y>		<ny>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<N-y>		<ny>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<N-N-Y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<N-N-y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<N-n-Y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<N-n-y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U006E>
> -<n-y>		<ny>;<BAS>;<MIN>;IGNORE
> -<n-Y>		<ny>;<BAS>;<MIN-CAP>;IGNORE
> -<n-N-Y>		"<n_or_ny><ny>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<n-N-y>		"<n_or_ny><ny>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<n-n-Y>		"<n_or_ny><ny>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<n-n-y>		"<n_or_ny><ny>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<n-Y>		<ny>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<n-y>		<ny>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<n-N-Y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<n-N-y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<n-n-Y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<n-n-y>		"<ny><ny>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U0053>
> -<S-Z>		<sz>;<BAS>;<CAP>;IGNORE
> -<S-z>		<sz>;<BAS>;<CAP-MIN>;IGNORE
> -<S-S-Z>		"<s_or_sz><sz>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<S-S-z>		"<s_or_sz><sz>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<S-s-Z>		"<s_or_sz><sz>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<S-s-z>		"<s_or_sz><sz>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<S-Z>		<sz>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<S-z>		<sz>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<S-S-Z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<S-S-z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<S-s-Z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<S-s-z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U0073>
> -<s-Z>		<sz>;<BAS>;<MIN-CAP>;IGNORE
> -<s-z>		<sz>;<BAS>;<MIN>;IGNORE
> -<s-S-Z>		"<s_or_sz><sz>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<s-S-z>		"<s_or_sz><sz>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<s-s-Z>		"<s_or_sz><sz>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<s-s-z>		"<s_or_sz><sz>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<s-Z>		<sz>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<s-z>		<sz>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<s-S-Z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<s-S-z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<s-s-Z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<s-s-z>		"<sz><sz>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U0054>
> -<T-Y>		<ty>;<BAS>;<CAP>;IGNORE
> -<T-y>		<ty>;<BAS>;<CAP-MIN>;IGNORE
> -<T-T-Y>		"<t_or_ty><ty>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<T-T-y>		"<t_or_ty><ty>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<T-t-Y>		"<t_or_ty><ty>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<T-t-y>		"<t_or_ty><ty>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<T-Y>		<ty>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<T-y>		<ty>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<T-T-Y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<T-T-y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<T-t-Y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<T-t-y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U0074>
> -<t-Y>		<ty>;<BAS>;<MIN-CAP>;IGNORE
> -<t-y>		<ty>;<BAS>;<MIN>;IGNORE
> -<t-T-Y>		"<t_or_ty><ty>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<t-T-y>		"<t_or_ty><ty>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<t-t-Y>		"<t_or_ty><ty>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<t-t-y>		"<t_or_ty><ty>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<t-Y>		<ty>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<t-y>		<ty>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<t-T-Y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<t-T-y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<t-t-Y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<t-t-y>		"<ty><ty>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-after <U005A>
> -<Z-S>		<zs>;<BAS>;<CAP>;IGNORE
> -<Z-s>		<zs>;<BAS>;<CAP-MIN>;IGNORE
> -<Z-Z-S>		"<z_or_zs><zs>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
> -<Z-Z-s>		"<z_or_zs><zs>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
> -<Z-z-S>		"<z_or_zs><zs>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
> -<Z-z-s>		"<z_or_zs><zs>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
> +<Z-S>		<zs>;<COMPOUND>;<CAP-CAP>;IGNORE
> +<Z-s>		<zs>;<COMPOUND>;<CAP-MIN>;IGNORE
> +<Z-Z-S>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-CAP>";IGNORE
> +<Z-Z-s>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><CAP-MIN>";IGNORE
> +<Z-z-S>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-CAP>";IGNORE
> +<Z-z-s>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<CAP><MIN-MIN>";IGNORE
>  reorder-after <U007A>
> -<z-S>		<zs>;<BAS>;<MIN-CAP>;IGNORE
> -<z-s>		<zs>;<BAS>;<MIN>;IGNORE
> -<z-Z-S>		"<z_or_zs><zs>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
> -<z-Z-s>		"<z_or_zs><zs>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
> -<z-z-S>		"<z_or_zs><zs>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
> -<z-z-s>		"<z_or_zs><zs>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
> +<z-S>		<zs>;<COMPOUND>;<MIN-CAP>;IGNORE
> +<z-s>		<zs>;<COMPOUND>;<MIN-MIN>;IGNORE
> +<z-Z-S>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-CAP>";IGNORE
> +<z-Z-s>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><CAP-MIN>";IGNORE
> +<z-z-S>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-CAP>";IGNORE
> +<z-z-s>		"<zs><zs>";"<SINGLE-OR-COMPOUND><COMPOUND>";"<MIN><MIN-MIN>";IGNORE
>  
>  reorder-end
>  


-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]