Subject: Re: draft-ietf-ldapbis-strprep-00.txt

From: David Wilson <[email-masked]>
Date: 16 Jul 2003 14:34:27 +0100

For our business, the use of X.500/LDAP for X.400 messaging is 
important. One aspect of that is the mapping of X.400 O/R addresses to 
DNs (e.g. RFC 1836). To avoid having to do any complicated string 
mapping, it is very useful if the matching rules in the Directory 
service match the requirements for equivalence for X.400 O/R address 
attribute values. The latter is specified in X.402 (ISO 10021-2) Section
18.4. For our purposes the main issue is here: 

g) In a Teletex String, the Non-spacing underline graphic character 
shall be considered insignificant, as shall all control functions except
Space and those used for code extension procedures. 

(Although I think drafts have proposed ISO 10646 values, I don't think 
these have been ratified. So we are basically dealing with 
PrintableString and TeletexString values). 

If this is interpreted as meaning that CR and LF, for instance are to be
ignored, then this does not make sense to me. I cannot see that 

        "foo" CR LF "bar" 

should match "foobar". The mapping of the standard "carriage movement" 
control characters to space makes much more sense. 

However, there remains the non-spacing underline graphic character 
(which is code 12/12, xcc, in its normal position). I presume this is 
present in the character set to provide an underlining function for a 
physical terminal (the same kind of function performed on an ANSI 
terminal by a control function for rendition). T.61 does not specify 
that this non-spacing character forms any new characters, unlike the 
other non-spacing diacriticals (c.f. T.61 Annex B). 

The corresponding Unicode character is U+0332, and there is also U+0333 
which is the double underline. Unicode 2 had a compatibility composition
of space + U+0332 to U+005F, i.e. the normal underscore. However, this 
is not present in Unicode 4.01. 

All of this is a long-winded way of saying that I think that 

        COMBINING LOW LINE (U+0332) 
        COMBINING DOUBLE LOW LINE (U+0333) 

should also be mapped to nothing (section 2.2). 

regards 

David Wilson                             [email-masked]
Isode Limited                            Tel: +44 020 8607 9125 
http://www.isode.com