Re: [I18nrp] Mappings for IDNA2008 ?

Andrew Sullivan <ajs@anvilwalrusden.com> Wed, 13 February 2019 11:17 UTC

Return-Path: <ajs@anvilwalrusden.com>
X-Original-To: i18nrp@ietfa.amsl.com
Delivered-To: i18nrp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E49DF128CB7 for <i18nrp@ietfa.amsl.com>; Wed, 13 Feb 2019 03:17:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=yitter.info header.b=O/6hFjjQ; dkim=pass (1024-bit key) header.d=yitter.info header.b=dMRsJt0V
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AgwcfRe-yghY for <i18nrp@ietfa.amsl.com>; Wed, 13 Feb 2019 03:17:24 -0800 (PST)
Received: from mx4.yitter.info (mx4.yitter.info [159.203.56.111]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C1B21274D0 for <i18nrp@ietf.org>; Wed, 13 Feb 2019 03:17:24 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mx4.yitter.info (Postfix) with ESMTP id 3321DBCBCC; Wed, 13 Feb 2019 11:17:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yitter.info; s=default; t=1550056643; bh=uHh0dwQXqVp1FAcu1OGOKvXW+gNz6q4wWaWHOZqHlP8=; h=From:To:CC:Date:In-Reply-To:References:Subject:From; b=O/6hFjjQ3OE1X3IPrR7h52wcV6SURsBooxX9FDOZnNM69GOmqGpeGgfDw5jxeAegs wUDOrg74ZL49GQ0DJihw1iXkRFlrYuCX8GX2se6mrCtym07qJbfwXqjX83ht/hZHLe IqCRNwIT/KAtyftBEmhIkrrMJTGoOrMY6Qz8eK0c=
X-Virus-Scanned: Debian amavisd-new at crankycanuck.ca
Received: from mx4.yitter.info ([127.0.0.1]) by localhost (mx4.yitter.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3pOOhBL8JZBL; Wed, 13 Feb 2019 11:17:18 +0000 (UTC)
From: Andrew Sullivan <ajs@anvilwalrusden.com>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yitter.info; s=default; t=1550056638; bh=uHh0dwQXqVp1FAcu1OGOKvXW+gNz6q4wWaWHOZqHlP8=; h=From:To:CC:Date:In-Reply-To:References:Subject:From; b=dMRsJt0Vt+zli9kS8JRoXhwO1F1ui49Cu9pnCsQBtLATB8/l9BFAn11KjtfQqp+G2 iAcCZ2ULFhyHk6881RbC09dXr3uvNPW6COC7aSG46VuZoBSsIknK3T82wDHI+gKU35 ICv3qucsAZ8/DlUBdwUyIsYMpfjRHoGQlwJT9LFY=
To: "Martin J. Dürst" <duerst@it.aoyama.ac.jp>
CC: i18nrp@ietf.org
Date: Wed, 13 Feb 2019 06:17:17 -0500
Message-ID: <168e6934248.278b.55b9c0b96417b0a70c4dcaded0d2e1c6@anvilwalrusden.com>
In-Reply-To: <03be61c9-dd20-fddd-fe3b-eb8b34e0a4b1@it.aoyama.ac.jp>
References: <20190204225047.02583200DC1666@ary.qy> <6660b7e2-1d5b-6a5d-3d1c-55a757e24843@ix.netcom.com> <ADDA4540-9169-4EE6-B33E-3A0D9EED0BD7@frobbit.se> <16ff0d27-9508-7fdd-bc89-9d6fd47396b1@ix.netcom.com> <D5B49CC8-7AEF-4E81-8774-F3F1F05682E8@frobbit.se> <320f4bc3-17b1-595b-34c7-8f95f69c0f33@ix.netcom.com> <B87C6774-4FF7-4A18-A81D-D0834401C293@frobbit.se> <bc7b727d-f75c-bbba-4f63-ebd1dcd87085@it.aoyama.ac.jp> <A5549B92-9414-4210-A94D-8E53339D3961@frobbit.se> <96242bed-ec65-5955-5a4d-5699b9e3cfb9@it.aoyama.ac.jp> <2207F716-8033-46B7-A750-FB226B870D86@frobbit.se> <ccfd52e0-25b9-b04d-0bcf-701606077296@ix.netcom.com> <EDE1FBF9-CDBA-476A-BB8A-15CFF60EAA06@frobbit.se> <47f746f8-b314-1263-0925-e049de90856f@it.aoyama.ac.jp> <168e6800098.278b.55b9c0b96417b0a70c4dcaded0d2e1c6@anvilwalrusden.com> <03be61c9-dd20-fddd-fe3b-eb8b34e0a4b1@it.aoyama.ac.jp>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/i18nrp/vGEkcmK30ZKR_GZG4UD3AuD81n8>
Subject: Re: [I18nrp] Mappings for IDNA2008 ?
X-BeenThere: i18nrp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Internationalization Review Procedures <i18nrp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i18nrp>, <mailto:i18nrp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i18nrp/>
List-Post: <mailto:i18nrp@ietf.org>
List-Help: <mailto:i18nrp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i18nrp>, <mailto:i18nrp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Feb 2019 11:17:27 -0000

I get your general point. My general point is that 2003 was not idempotent 
and therefore any backward compatible transition mechanism necessarily 
fails the same precondition, QED.

A
--
Andrew Sullivan
Please excuse my clumbsy thums.

On February 13, 2019 06:07:19 "Martin J. Dürst" <duerst@it.aoyama.ac.jp> wrote:

> Hello Andrew, others,
>
> On 2019/02/13 19:56, Andrew Sullivan wrote:
>> Surely the assumption fails because case folding and mapping of
>> characters I  IDNA2003 is not always idempotent -- the very thing 2008
>> set out to fix?
>
> If the general mapping is not idempotent, then indeed it has to be
> fixed. Given the purpose of the mapping, it seems obvious (at least in
> hindsight) that it should be idempotent.
>
> My general direction of arguing is that if things are reasonably
> designed (i.e. idempotent,...), then it makes a lot of sense to split
> the mapping into a general one and some locale-specific ones, and the
> locale-specific ones will go before the general one. Also, each
> locale-specific one should be rather small (the Turkish one, often
> brought as an example, essentially consists of mappings for 2 letters).
>
> I understand John's (Levine) point that locale-specific mapping data
> might not be available to some Python programmer writing some U-label ->
> A-label function or some such. I'm not very familiar with Python, but
> very familiar with Ruby, where it would be the same.
>
> But it wouldn't be too difficult to get the necessary data if one really
> wanted; it's not that this is something needing big bucks (as it seems
> to me Asmus is suggesting).
>
> Regards,   Martin.
>
>
>> A
>> --
>> Andrew Sullivan
>> Please excuse my clumbsy thums.
>>
>> On February 13, 2019 05:31:25 "Martin J. Dürst" <duerst@it.aoyama.ac.jp>
>> wrote:
>>
>>> Hello Patrik, others,
>>>
>>> On 2019/02/13 17:25, Patrik Fältström wrote:
>>>>
>>>>
>>>>> On 13 Feb 2019, at 09:19, Asmus Freytag (c) <asmusf@ix.netcom.com>
>>>>> wrote:
>>>>>
>>>>>> On 2/12/2019 11:46 PM, Patrik Fältström wrote:
>>>>>>
>>>>>>> On 13 Feb 2019, at 08:18, Martin J. Dürst <duerst@it.aoyama.ac.jp>
>>>>>>> wrote:
>>>>>>>
>>>>>>> If f(x) is the generic mapping, and f'(x) is the mapping of the
>>>>>>> exceptions, then f(f'(x)), which applies f' *before* f, should do
>>>>>>> the job.
>>>>>> This works in some cases and not in other cases.
>>>>> Examples?
>>>>
>>>> This is math. :-)
>>>>
>>>> If f(x)=x’ and in the locale used f(x) should be x and not x’, you
>>>> have dependencies between f(x) and f’(x) if you want f(f’(x)) to be
>>>> x’ and f(f”(x)) to be x.
>>>
>>> Well, I have to admit that I didn't explicitly talk about that case in
>>> my 'proof'. For functions in general (e.g. a function such as f(x) =
>>> (x+7) mod 15), you are right.
>>>
>>> But f(x) (the general mapping function) is idempotent (i.e. f(x) =
>>> f(f(x)), which means that you can map as many times as you want, you
>>> always get the same result). This is also true for any locale-dependent
>>> mapping function. If it were not the case, human users would be very
>>> surprised: a maps to A, but then A maps to a: That wouldn't make any
>>> sense.
>>>
>>> Also, and even more important, for the general mapping function, if x is
>>> allowed in IDNs, then f(x) = x. This may not be true for a
>>> locale-dependent mapping function (i.e. it would be possible for a
>>> German mapping function to map (Hungarian) ȁ to ä, although that's not
>>> needed because German keyboards won't produce ȁ in the first place).
>>>
>>> So if f(x)=x', that would mean that x is not allowed in IDNs. That would
>>> mean that it is impossible that in a specific locale, the desired result
>>> of f(f'(x)) is x. It may be different from x', i.e. y, but we can easily
>>> get this by defining that f'(x) = y.
>>>
>>> So applying the (in most if not all cases very small) locale-specific
>>> mapping before the general mapping always will work.
>>>
>>> Regards,   Martin.
>
> _______________________________________________
> i18nRP mailing list
> i18nRP@ietf.org
> https://www.ietf.org/mailman/listinfo/i18nrp