[{"name":"Unicode.Normalize","comment":" Unicode normalization.\n\nThere are multiple ways to normalize a string, referred to as _Normalization\nForms_. Which one you want depends on what you want to do with the string, but\nthe most common is `NFC`, which preserves the exact visual appearance of the\nstring. If you don't care about the details, just use `normalize NFC`.\n\n    import Unicode.Normalize exposing (Form(..), normalize)\n\n    normalize NFC \"é\"\n    --> \"é\"\n\n\n# Normalization Forms\n\n@docs Form\n\n\n# Normalize a String\n\n@docs normalize\n\n","unions":[{"name":"Form","comment":" The different ways to normalize a string.\n\n  - **NFC**: Canonical decomposition followed by canonical composition.\n  - **NFD**: Canonical decomposition without recomposition.\n  - **NFKC**: Compatibility decomposition followed by canonical composition.\n  - **NFKD**: Compatibility decomposition without recomposition.\n\n_Canonical decomposition_ splits single characters into sequences of equivalent\ncombining characters. _Compatibility decomposition_ extends canonical\ndecomposition by also replacing variants of the same logical character (such as\nreplacing ¼ with 1/4).\n\n_Canonical composition_ undoes the process of canonical decomposition,\ncombining sequences into single characters wherever possible.\n\nFor example, the character \"ñ\" can be represented as a single code point\n(`U+00F1`) or as two code points (\"n\" followed by a combining tilde,\n`U+006E U+0303`). The normalization forms handle this differently:\n\n    -- NFC composes into a single character\n    normalize NFC \"ñ\"  -- (n + combining tilde)\n    --> \"ñ\"            -- (single ñ)\n\n    -- NFD decomposes into base + combining character\n    normalize NFD \"ñ\"  -- (single ñ)\n    --> \"ñ\"            -- (n + combining tilde)\n\nThe compatibility forms also replace visual variants:\n\n    -- NFKC replaces ﬁ ligature with \"fi\" and composes\n    normalize NFKC \"ﬁ\"\n    --> \"fi\"\n\n    -- NFKD replaces ﬁ ligature with \"fi\" and decomposes\n    normalize NFKD \"ﬁ\"\n    --> \"fi\"\n\n","args":[],"cases":[["NFC",[]],["NFD",[]],["NFKC",[]],["NFKD",[]]]}],"aliases":[],"values":[{"name":"normalize","comment":" Normalize a string to a particular Normalization Form.\n\n    -- Two equivalent representations of \"é\" become identical after NFC\n    normalize NFC \"é\" == normalize NFC \"é\"\n    --> True\n\n    -- ASCII strings are unaffected\n    normalize NFC \"hello\"\n    --> \"hello\"\n\n    -- Compatibility normalization replaces special forms\n    normalize NFKC \"①②③\"\n    --> \"①②③\"\n\n    normalize NFKC \"ﬃ\"\n    --> \"ffi\"\n\n","type":"Unicode.Normalize.Form -> String.String -> String.String"}],"binops":[]}]