From 75fc94b8b462d7b7f6dd4b706bbe32cff77ee575 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson
Programs should always operate on a normalized form and compare
+ canonical-equivalent Unicode characters as equal. All characters
+ should thus be normalized to one form once on the system borders.
+ One of the following functions can convert characters to their
+ normalized forms
Converts a possibly deep list of characters and binaries + into a Normalized Form of canonical equivalent Composed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding. +
+The result is a list of characters.
+
+3> unicode:characters_to_nfc_list([<<"abc..a">>,[778],$a,[776],$o,[776]]).
+"abc..åäö"
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of canonical equivalent Composed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding.
+The result is an utf8 encoded binary.
+
+4> unicode:characters_to_nfc_binary([<<"abc..a">>,[778],$a,[776],$o,[776]]).
+<<"abc..åäö"/utf8>>
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of canonical equivalent Decomposed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding. +
+The result is a list of characters.
+
+1> unicode:characters_to_nfd_list("abc..åäö").
+[97,98,99,46,46,97,778,97,776,111,776]
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of canonical equivalent Decomposed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding.
+The result is an utf8 encoded binary.
+
+2> unicode:characters_to_nfd_binary("abc..åäö").
+<<97,98,99,46,46,97,204,138,97,204,136,111,204,136>>
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of compatibly equivalent Composed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding. +
+The result is a list of characters.
+
+3> unicode:characters_to_nfkc_list([<<"abc..a">>,[778],$a,[776],$o,[776],[65299,65298]]).
+"abc..åäö32"
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of compatibly equivalent Composed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding.
+The result is an utf8 encoded binary.
+
+4> unicode:characters_to_nfkc_binary([<<"abc..a">>,[778],$a,[776],$o,[776],[65299,65298]]).
+<<"abc..åäö32"/utf8>>
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of compatibly equivalent Decomposed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding. +
+The result is a list of characters.
+
+1> unicode:characters_to_nfkd_list(["abc..åäö",[65299,65298]]).
+[97,98,99,46,46,97,778,97,776,111,776,51,50]
+
+ Converts a possibly deep list of characters and binaries + into a Normalized Form of compatibly equivalent Decomposed + characters according to the Unicode standard.
+Any binaries in the input must be encoded with utf8 + encoding.
+The result is an utf8 encoded binary.
+
+2> unicode:characters_to_nfkd_binary(["abc..åäö",[65299,65298]]).
+<<97,98,99,46,46,97,204,138,97,204,136,111,204,136,51,50>>
+
+