Re: Dylan 2016: Evolving Dylan
Tim Pritlove <[email protected]> Thu, 24 Apr 2014 13:29:40 +0200
| Newsgroups | gmane.comp.lang.dylan.gwydion.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============1595079400== Content-Type: multipart/signed; boundary="Apple-Mail=_D3EABA13-C55C-4219-9754-86F31DA1E3D9"; protocol="application/pgp-signature"; micalg=pgp-sha1 --Apple-Mail=_D3EABA13-C55C-4219-9754-86F31DA1E3D9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 On 18.04.2014, at 23:19, Bruce Hoult <[email protected]> wrote: > What are the corresponding rules for combining code points into = characters? >=20 I think this is covered by Unicode normalisation: https://en.wikipedia.org/wiki/Unicode_equivalence The confusing part here is that multiple normalisation modes exist and = you have to pick the right one. To make it easy, Unicode comes with four = of them: NFD, NFC, NFKD and NFKC :) For instance: The HFS+ file system on OSX uses NFD normalisation which, = as the wikipedia page tells me, means: "Characters are decomposed by = canonical equivalence, and multiple combining characters are arranged in = a specific order" As far as I understand this, NFD basically makes sure that you get every = diacritical character broken up into its components ("=E5" is broken up = in "a" and "=B0") AND you make sure there is a defined order within = which allows for reliable comparison (quite important for file systems). Normalisation is a good thing for moments where it is not enough to = properly store and forward Unicode information but to actually make = sense of it's contents and to ensure reliable beheviour. So I think a good unicode implementation should not only be able to = properly deal with Code Points, Character Sets and Transformation = Formats, it should also provide a means for Unicode Normalization. = Getting this right would make for a wonderful string parsing experience = in the modern world (given everybody else behaves properly which of = course will always be the case.... oh wait!) Tim --Apple-Mail=_D3EABA13-C55C-4219-9754-86F31DA1E3D9 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iEYEARECAAYFAlNY9aQACgkQrTgr4n3inlqQEwCfeAoW9y+gYOr+XKar/Kp4OS0i Q+cAnArJlfIRpRMLYTBbUqVhg9uaH0E9 =PsrP -----END PGP SIGNATURE----- --Apple-Mail=_D3EABA13-C55C-4219-9754-86F31DA1E3D9-- --===============1595079400== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ hackers mailing list [email protected] https://lists.opendylan.org/mailman/listinfo/hackers --===============1595079400==--