Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 1999 16:06:00 +0100
From:      "D. Rock" <rock@cs.uni-sb.de>
To:        "Andrey A. Chernov" <ache@nagual.pp.ru>
Cc:        Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>, "D. Rock" <rock@wurzelausix.CS.Uni-SB.DE>, current@FreeBSD.ORG
Subject:   Re: locale errors
Message-ID:  <36C1A058.61BD5E8B@cs.uni-sb.de>
References:  <199902040250.DAA01966@vodix.aremorika> <19990204060349.A40565@nagual.pp.ru> <19990204073812.49101@uriah.heep.sax.de> <19990204103038.A19952@nagual.pp.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
I think I have found a solution. The problem with the current definition is,
that "ss" is folded into one character, while "ß" should be expanded to "ss"
and sorted accordingly.

I read the manual pages of colldef and found a solution, which sorted my
test patterns right.

ndex: data/de_DE.ISO_8859-1.src
===================================================================
RCS file: /data/cvs/src/usr.bin/colldef/data/de_DE.ISO_8859-1.src,v
retrieving revision 1.4
diff -c -r1.4 de_DE.ISO_8859-1.src
*** de_DE.ISO_8859-1.src        1997/03/10 21:59:53     1.4
--- de_DE.ISO_8859-1.src        1999/02/10 14:52:52
***************
*** 3,8 ****
--- 3,9 ----
  # $Id: de_DE.ISO_8859-1.src,v 1.4 1997/03/10 21:59:53 ache Exp $
  #
  charmap map.ISO_8859-1
+ substitute "\xdf" with "ss"
  order \
  # controls
        <NU>;...;<US>;<PA>;...;<AC>;\
***************
*** 29,35 ****
        b;(c,<c,>);d;(e,<e'>,<e!>,<e/>>,<e:>);\
        f;g;h;(i,<i'>,<i!>,<i/>>,<i:>);\
        j;...;m;(n,<n?>);(o,<o'>,<o!>,<o/>>,<o:>,<o?>,<o//>);\
!       p;...;r;s;(<ss>,ss);t;(u,<u'>,<u!>,<u/>>,<u:>);\
        v;w;x;(y,<y'>,<y:>);z;\
        <d->;<th>;\
  #
--- 30,36 ----
        b;(c,<c,>);d;(e,<e'>,<e!>,<e/>>,<e:>);\
        f;g;h;(i,<i'>,<i!>,<i/>>,<i:>);\
        j;...;m;(n,<n?>);(o,<o'>,<o!>,<o/>>,<o:>,<o?>,<o//>);\
!       p;...;r;s;<ss>;t;(u,<u'>,<u!>,<u/>>,<u:>);\
        v;w;x;(y,<y'>,<y:>);z;\
        <d->;<th>;\
  #

This patch now sorts successfully my test words:
ausarbeiten
aussagen
außer
aussuchen
austragen
auszahlen

Any negative side effects by this patch?

[Why does <ss> have to be somewhere in the order statement although it has
 been substituted by some other characters? If I remove the <ss> in the order
 statement, colldef won't compile the file. The position of <ss> doesn't even
 matter...]

BTW It is ugly you cannot use symbols on the LHS of substitute.

Daniel

"Andrey A. Chernov" schrieb:
> 
> On Thu, Feb 04, 1999 at 07:38:12AM +0100, J Wunsch wrote:
> > Well, not completely. :)  For testing, i've restored the file from
> > before my change, and it missorts similarly.  I'm probably too stupid
> > to understand all of this collate stuff.  So far, i haven't been able
> > to come up with any locale definition that does the right thing for
> > every input.
> 
> I mean no particular commit but whole idea how to sort doubled letters -
> it comes from you, I can't invent this. Collating scheme is very simple -
> we have two sorting orders - primary and secondary (f.e. Posix have four
> levels for Unicode). If two strings are the same by primary order, they
> compare using secondary one. That's all. I will apreciate your any
> decision regarding to DE locale, fixing, backing out etc. since I even
> can't display characters you use in your example, nor have strong desire
> to dig in DE language area starting from zero background.
> 
> --
> Andrey A. Chernov
> ache@null.net
> MTH/SH/HE S-- W-- N+ PEC>+ D A a++ C G>+ QH+(++) 666+>++ Y
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36C1A058.61BD5E8B>