Re: [I18nrp] Mappings for IDNA2008 ?

Martin J. Dürst <duerst@it.aoyama.ac.jp> Wed, 13 February 2019 11:07 UTC

Return-Path: <duerst@it.aoyama.ac.jp>
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 78BB2128B01 for <i18nrp@ietfa.amsl.com>; Wed, 13 Feb 2019 03:07:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.922
X-Spam-Level:
X-Spam-Status: No, score=-0.922 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FROM_EXCESS_BASE64=0.979, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=itaoyama.onmicrosoft.com
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 R_jyUhDR87vd for <i18nrp@ietfa.amsl.com>; Wed, 13 Feb 2019 03:07:12 -0800 (PST)
Received: from JPN01-TY1-obe.outbound.protection.outlook.com (mail-eopbgr1400092.outbound.protection.outlook.com [40.107.140.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F0B41274D0 for <i18nrp@ietf.org>; Wed, 13 Feb 2019 03:07:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itaoyama.onmicrosoft.com; s=selector1-it-aoyama-ac-jp; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oOFcJDwofCh91iWe7moWKh4bSfscNBSVixMxEcD+RfI=; b=XxbFakY8FtRTcuq4wIAxu7D7cjAP5FIgK0+5886Q5PAEA5Nc7ZVESAdfogjodI1Hu6apxx3PT298ZBjWzvK3kR57Ki8ISRfWjHWsFmzKjAlW5T/hk7KjSPJidWxcokDmN68SJgI/XntrxmtK6NoNtVeYUKFufDY9b3cIMjWCyY4=
Received: from TYAPR01MB5149.jpnprd01.prod.outlook.com (20.179.187.18) by TYAPR01MB5022.jpnprd01.prod.outlook.com (20.179.186.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Wed, 13 Feb 2019 11:07:09 +0000
Received: from TYAPR01MB5149.jpnprd01.prod.outlook.com ([fe80::6d0f:10e4:f18d:70e7]) by TYAPR01MB5149.jpnprd01.prod.outlook.com ([fe80::6d0f:10e4:f18d:70e7%3]) with mapi id 15.20.1622.016; Wed, 13 Feb 2019 11:07:09 +0000
From: =?utf-8?B?TWFydGluIEouIETDvHJzdA==?= <duerst@it.aoyama.ac.jp>
To: Andrew Sullivan <ajs@anvilwalrusden.com>
CC: "i18nrp@ietf.org" <i18nrp@ietf.org>
Thread-Topic: [I18nrp] Mappings for IDNA2008 ?
Thread-Index: AQHUv4PUGbQc9j/dO0KIwdn0vuyZBKXdYX0AgAAJSQCAAAGYAIAAIxUAgAAHAICAAAMKAA==
Date: Wed, 13 Feb 2019 11:07:09 +0000
Message-ID: <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>
In-Reply-To: <168e6800098.278b.55b9c0b96417b0a70c4dcaded0d2e1c6@anvilwalrusden.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: TY1PR01CA0196.jpnprd01.prod.outlook.com (2603:1096:403::26) To TYAPR01MB5149.jpnprd01.prod.outlook.com (2603:1096:404:12e::18)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=duerst@it.aoyama.ac.jp;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [133.2.210.64]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c378a0bf-01dd-420b-1d20-08d691a365f7
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(7021145)(8989299)(5600110)(711020)(4605077)(4534185)(7022145)(4603075)(4627221)(201702281549075)(8990200)(7048125)(7024125)(7025125)(7027125)(7023125)(2017052603328)(7153060)(7193020); SRVR:TYAPR01MB5022;
x-ms-traffictypediagnostic: TYAPR01MB5022:
x-microsoft-antispam-prvs: <TYAPR01MB50222F8BF7EBDEA7EF266E4ECA660@TYAPR01MB5022.jpnprd01.prod.outlook.com>
x-forefront-prvs: 094700CA91
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39840400004)(366004)(376002)(136003)(396003)(346002)(189003)(199004)(486006)(2616005)(8676002)(31696002)(86362001)(81156014)(2906002)(74482002)(786003)(66574012)(305945005)(71200400001)(71190400001)(316002)(93886005)(97736004)(81166006)(8936002)(446003)(476003)(99286004)(11346002)(6436002)(229853002)(6486002)(7736002)(52116002)(76176011)(53936002)(66066001)(31686004)(106356001)(14454004)(85202003)(26005)(25786009)(6512007)(105586002)(68736007)(386003)(256004)(102836004)(3846002)(85182001)(6506007)(53546011)(14444005)(6116002)(6246003)(508600001)(6916009)(4326008)(186003); DIR:OUT; SFP:1102; SCL:1; SRVR:TYAPR01MB5022; H:TYAPR01MB5149.jpnprd01.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:0;
received-spf: None (protection.outlook.com: it.aoyama.ac.jp does not designate permitted sender hosts)
x-microsoft-exchange-diagnostics: =?utf-8?B?MTtUWUFQUjAxTUI1MDIyOzIzOmpabW5YbFhZSFhOU0VPelRKaUtpRURqbGFR?= =?utf-8?B?TXVaTFZrTkFSOEV3MXlkOVBMQ1hJRk54SGxORlovNGsxTjFLNnh4eHdEaVBX?= =?utf-8?B?eWNsRUZqWk9BNldKVHNLM2pHU2RIbGRoQ3ZWTWRXUkxiV2Q1SkRGN0llb0Vv?= =?utf-8?B?aXVxK3M5SEVtZnBOdWpwaUpTWjUyT0Jvem81czFsakx3YlJLYnRnVkpoU2h6?= =?utf-8?B?NlVCUGUyT0d6U2lnckdlcEtHN1A1a05wYUtSN05pUWZNMDNuNnZqOStMbmFM?= =?utf-8?B?VlkwN2JyNTMxaElZb25zRjNGT1FPTFlneVdzaDhXOElVK24yVjlJRWFHbW9s?= =?utf-8?B?dzZIdnA0NlFnNy9zV1lyTGVxM1dvRHZDbTl3YTZiMVBoOHVVa0JWcU1SSitO?= =?utf-8?B?cGN2cGFUMHJqWFBCMkduTWNVMWJYVVZHZnpJUW9QTms3SEZBVXlSUElJMjJC?= =?utf-8?B?TmJHZmVacHpWeHZEdlNLaUVSRWF3NUhtVU83M2lpWjZ1alhEYVlpVU5XUzZz?= =?utf-8?B?alY3b3pJelZ6dmFYMFBTdEZ3aEJIVUcrTmxud1pvOXVHTldkbzJ1TXMwV0Yv?= =?utf-8?B?VHB2QnpGZlhqQ0M4TUN3alhpZWlGNGF3aGcxTWZUK3c0bXVDVEZFc2psY2dL?= =?utf-8?B?SEsxOFk5WFlRcjkwR0VlYzRvN1RkbFRNZmtXdWlSVWh4alFMcU1FdzExSFRl?= =?utf-8?B?MWVZTVZKRnE5U0taZkovbkVXY1VUcE9lT1JqRjdmT1dtRzJWdUp3UktLZjBp?= =?utf-8?B?cHZFUVJtY1pjT3hTbUVaVk9tZi85aDFxMHRxOUVPNDVMaCtGSGdnUWhha1l0?= =?utf-8?B?N2RzRm1DT2FJU3lNY1FRYTl2WDV4RVFlZldDMzY4YjY4Q0NKeWcrOVB6Q0JD?= =?utf-8?B?eDFjQm1xdGRLb0xZUFBaZ01mZ01IcE1EQS9qanpSRnd0SmhON2VsS2dYdUt1?= =?utf-8?B?TzlVYVJjUGxSanNoZHN1bjB1UmZBRTFBM1Jwd1V6bHMrZThna25VSVVIaDFx?= =?utf-8?B?ZWdUZUNLU0tQc1dSTXgyVUlIaTFYdGR2S3ZCdExzUXRsZjI2RDg0SkFTTHp4?= =?utf-8?B?TlllOUpqaHU2TVIvd3UvUnJncTVUYXcrRm1IRWIzNlRhS2FiM1Qzemkxd21x?= =?utf-8?B?SlVadlhlRStWZVErelVHeDVFcTdFWjBhWUtaSm5LTCt2Rlg2ZCs2azhKU3Ir?= =?utf-8?B?a2sxY0UrRWtja2FDUk96R1dUam1XTzBEN3VBUFJYZFg3Z2hrWUd6SHhkTXcy?= =?utf-8?B?ZjI2aTdrSXZOSVFzUmx3MmpwRjJoYW9ndFBZUWhIQnEyeHBhaDZvQzlRQkxt?= =?utf-8?B?djh4R1poRysxZGZOMDJIWmxIN01WVzRLZ2N2c0lFYk1ONWpKWEU3RWVqblA3?= =?utf-8?B?R0hGZU9PNWl6RWZUZDJZcVhrV2w0QXBxSHBoQ0hvV3FNQXpaRjJOYkFQVVUy?= =?utf-8?B?cGp3NHBsY2VVemxVelB4YmtkQ1NPWHRhVmQ2Y1VwSFNyTUo2SnhneXJWb0dv?= =?utf-8?B?NWpIQzFWaGh0eUJhWFZWZkYvS1dwN29Pbmw1SmFEQUZIUXlpazB5Q0pwZ1hC?= =?utf-8?B?MTBGMWxhYmY3bzlSazRncGVMVlBud1p4RUVJNGpqdEJ6YXQvSlZiSE5JN3A0?= =?utf-8?B?R3lRelVhMEJRNVhKWjRMSGxrYWtDZVFpWkFtRDBoVmM3NjVGNzNkbFJ4anZM?= =?utf-8?B?ZXE3QkNQWktBRUREQ0U3QUkxU080Q01JQzdQVExxS2Q5S2NvRTBQMXhEWkhl?= =?utf-8?B?aGM4dE45elR1ZDNFaWZ5VUZYcSthcUVEZ3N6SXdRNElWSXEvMEVpME1CTVcy?= =?utf-8?Q?AETS1fA4PXyU+?=
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: yJHp5i6aNutChNgumcVeWiGIbRY4g9zaDFo42JqdLvF/Rj/+mdvdMPVQ+DuHA+wjO5S6w3qXrwioCnCt1vccxrRy2xNGA43oX2maOcGjHqvf/G4DUm+SiB1Ra18H9HKv/0rqdDEISKM5gNG9FW5+hnbWdHirDkveIZUkYna3yhttZvt+TyOOme/k/mebAlQ5KYs5stBG+7x1vwg7t5hA/Hmz86+fG2BRTKmi0YJZUrrQPEuRRCkhJ5Y9pxAy12VFHAQSf66H4mwSuXJiyHoAwe4X0yrf5BUUptbLxAWYWqEEadm6SpwXHxvu5kiKLHoshJBdxc6LvCmB+Dn8RKOYcp+Bf9yY9BZW4XlISLVhg8Fq4C8XgPqlHAa0MBebyb5/U47EBOL/A79fCoUJzqUcliWvmPLGDjIM1G1r53dt9lQ=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4AD7A8F49203D146926D34772B3AD0BC@jpnprd01.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: it.aoyama.ac.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: c378a0bf-01dd-420b-1d20-08d691a365f7
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Feb 2019 11:07:09.5393 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-id: e02030e7-4d45-463e-a968-0290e738c18e
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5022
Archived-At: <https://mailarchive.ietf.org/arch/msg/i18nrp/9O_BtfCnylrv_8RGaTA_W2D716o>
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:07:15 -0000

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.