I think I came across a bug in localedef. I was testing adding some crude collating rules for various scripts into the iso14651_t1 (so those scripts could have a quite acceptable collating in all locales, instead of being treated as punctuation). in the iso14651_t1 there is already: <U4E00> <U4E00>;IGNORE;IGNORE;IGNORE .. ..;IGNORE;IGNORE;IGNORE <U9FA5> <U9FA5>;IGNORE;IGNORE;IGNORE so I put also to test: # U0900-U097F: DEVANAGARI <U0901> <U0901>;IGNORE;IGNORE;IGNORE .. ..;IGNORE;IGNORE;IGNORE <U0963> <U0963>;IGNORE;IGNORE;IGNORE <U097B> <U097B>;IGNORE;IGNORE;IGNORE .. ..;IGNORE;IGNORE;IGNORE <U097F> <U097F>;IGNORE;IGNORE;IGNORE And I had a big surprise, the first intervall was completly ignored, only the explicit lines (U0901 and U0963) were take in effect. The second intervall was correctly taken into account. Testing a bit, I discovered that if I defined in a line each from U0901 to U090F then an intervall from U0910 to U0963 it worked. Why cant U0901-U90F be in an intervall? More strange, this one works just right: <U0980> <U0980>;IGNORE;IGNORE;IGNORE .. ..;IGNORE;IGNORE;IGNORE <U09E5> <U09E5>;IGNORE;IGNORE;IGNORE but this one has the 00-0F problem again: <U0A01> <U0A01>;IGNORE;IGNORE;IGNORE .. ..;IGNORE;IGNORE;IGNORE <U0A65> <U0A65>;IGNORE;IGNORE;IGNORE
Fix in the cvs trunk.