@@ -34,6 +34,7 @@
3434-- with Unicode text (including normalization, regular expressions,
3535-- non-standard encodings, text breaking, and locales), see
3636-- <http://hackage.haskell.org/package/text-icu the text-icu package >.
37+--
3738
3839module Data.Text
3940 (
@@ -43,6 +44,9 @@ module Data.Text
4344 -- * Acceptable data
4445 -- $replacement
4546
47+ -- * Definition of character
48+ -- $character_definition
49+
4650 -- * Fusion
4751 -- $fusion
4852
@@ -247,6 +251,17 @@ import qualified GHC.Exts as Exts
247251import Text.Printf (PrintfArg, formatArg, formatString)
248252#endif
249253
254+-- $character-definition
255+--
256+-- This package uses the word /character/ to denote Unicode code points.
257+--
258+-- Note that this is not the same thing as a grapheme (e.g. a composition of
259+-- code points that form one visual symbol). For instance, consider the grapheme
260+-- @ä@. This symbol has two Unicode representations: a single code-point
261+-- representation @U+00E4@ (the @LATIN SMALL LETTER A WITH DIAERESIS@ code
262+-- point), and a two code point representation @U+0061@ (the @A@ code point) and
263+-- @U+0308@ (the @COMBINING DIAERESIS@ code point).
264+
250265-- $strict
251266--
252267-- This package provides both strict and lazy 'Text' types. The