From owner-freebsd-current Wed Feb 10 07:05:20 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id HAA08529 for freebsd-current-outgoing; Wed, 10 Feb 1999 07:05:20 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from uni-sb.de (uni-sb.de [134.96.252.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA08524 for ; Wed, 10 Feb 1999 07:05:17 -0800 (PST) (envelope-from rock@cs.uni-sb.de) Received: from cs.uni-sb.de (cs.uni-sb.de [134.96.252.31]) by uni-sb.de (8.9.3/1999020800) with ESMTP id QAA04840; Wed, 10 Feb 1999 16:05:13 +0100 (CET) Received: from cs.uni-sb.de (maxtnt-243.telip.uni-sb.de [134.96.71.114]) by cs.uni-sb.de (8.9.3/1999020800) with ESMTP id QAA13007; Wed, 10 Feb 1999 16:05:12 +0100 (CET) X-Authentication-Warning: mail.cs.uni-sb.de: Host maxtnt-243.telip.uni-sb.de [134.96.71.114] claimed to be cs.uni-sb.de Message-ID: <36C1A058.61BD5E8B@cs.uni-sb.de> Date: Wed, 10 Feb 1999 16:06:00 +0100 From: "D. Rock" X-Mailer: Mozilla 4.5 [de] (WinNT; U) X-Accept-Language: de MIME-Version: 1.0 To: "Andrey A. Chernov" CC: Joerg Wunsch , "D. Rock" , current@FreeBSD.ORG Subject: Re: locale errors References: <199902040250.DAA01966@vodix.aremorika> <19990204060349.A40565@nagual.pp.ru> <19990204073812.49101@uriah.heep.sax.de> <19990204103038.A19952@nagual.pp.ru> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 ;...;;;...;;\ *************** *** 29,35 **** b;(c,);d;(e,,,>,);\ f;g;h;(i,,,>,);\ j;...;m;(n,);(o,,,>,,,);\ ! p;...;r;s;(,ss);t;(u,,,>,);\ v;w;x;(y,,);z;\ ;;\ # --- 30,36 ---- b;(c,);d;(e,,,>,);\ f;g;h;(i,,,>,);\ j;...;m;(n,);(o,,,>,,,);\ ! p;...;r;s;;t;(u,,,>,);\ v;w;x;(y,,);z;\ ;;\ # This patch now sorts successfully my test words: ausarbeiten aussagen außer aussuchen austragen auszahlen Any negative side effects by this patch? [Why does have to be somewhere in the order statement although it has been substituted by some other characters? If I remove the in the order statement, colldef won't compile the file. The position of 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