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==--