unicode-data-security-0.2.0: lib/Unicode/Internal/Char/Security/IntentionalConfusables.hs
-- autogenerated from https://www.unicode.org/Public/15.0.0/ucd/intentional.txt
-- |
-- Module : Unicode.Internal.Char.Security.IntentionalConfusables
-- Copyright : (c) 2022 Composewell Technologies and Contributors
-- License : Apache-2.0
-- Maintainer : streamly@composewell.com
-- Stability : experimental
{-# LANGUAGE LambdaCase #-}
{-# OPTIONS_HADDOCK hide #-}
module Unicode.Internal.Char.Security.IntentionalConfusables
(intentionalConfusables)
where
import Foreign.C.String (CString)
import GHC.Exts (Ptr(..))
-- | Returns the /intentional/ confusables of a character, if any.
--
-- The resulting 'CString' is null-terminated and encoded in UTF-8.
--
-- @since 0.1.0
intentionalConfusables :: Char -> Maybe CString
intentionalConfusables = \case
'!' -> Just (Ptr "\199\131\0"#)
'A' -> Just (Ptr "\206\145\0"#)
'B' -> Just (Ptr "\206\146\0"#)
'C' -> Just (Ptr "\208\161\0"#)
'E' -> Just (Ptr "\206\149\0"#)
'H' -> Just (Ptr "\206\151\0"#)
'I' -> Just (Ptr "\206\153\0"#)
'J' -> Just (Ptr "\208\136\0"#)
'K' -> Just (Ptr "\206\154\0"#)
'M' -> Just (Ptr "\206\156\0"#)
'N' -> Just (Ptr "\206\157\0"#)
'O' -> Just (Ptr "\206\159\0"#)
'P' -> Just (Ptr "\206\161\0"#)
'S' -> Just (Ptr "\208\133\0"#)
'T' -> Just (Ptr "\206\164\0"#)
'X' -> Just (Ptr "\206\167\0"#)
'Y' -> Just (Ptr "\206\165\0"#)
'Z' -> Just (Ptr "\206\150\0"#)
'a' -> Just (Ptr "\208\176\0"#)
'c' -> Just (Ptr "\209\129\0"#)
'd' -> Just (Ptr "\212\129\0"#)
'e' -> Just (Ptr "\208\181\0"#)
'h' -> Just (Ptr "\210\187\0"#)
'i' -> Just (Ptr "\209\150\0"#)
'j' -> Just (Ptr "\207\179\0"#)
'o' -> Just (Ptr "\206\191\0"#)
'p' -> Just (Ptr "\209\128\0"#)
's' -> Just (Ptr "\209\149\0"#)
'x' -> Just (Ptr "\209\133\0"#)
'y' -> Just (Ptr "\209\131\0"#)
'\198' -> Just (Ptr "\211\148\0"#)
'\208' -> Just (Ptr "\196\144\0"#)
'\230' -> Just (Ptr "\211\149\0"#)
'\272' -> Just (Ptr "\195\144\0"#)
'\312' -> Just (Ptr "\208\186\0"#)
'\386' -> Just (Ptr "\208\145\0"#)
'\399' -> Just (Ptr "\211\152\0"#)
'\415' -> Just (Ptr "\211\168\0"#)
'\425' -> Just (Ptr "\206\163\0"#)
'\451' -> Just (Ptr "\33\0"#)
'\477' -> Just (Ptr "\201\153\0"#)
'\581' -> Just (Ptr "\206\155\0"#)
'\601' -> Just (Ptr "\199\157\211\153\0"#)
'\603' -> Just (Ptr "\206\181\0"#)
'\617' -> Just (Ptr "\206\185\0"#)
'\618' -> Just (Ptr "\211\143\0"#)
'\629' -> Just (Ptr "\211\169\0"#)
'\658' -> Just (Ptr "\211\161\0"#)
'\665' -> Just (Ptr "\208\178\0"#)
'\668' -> Just (Ptr "\208\189\0"#)
'\913' -> Just (Ptr "\65\0"#)
'\914' -> Just (Ptr "\66\0"#)
'\915' -> Just (Ptr "\208\147\0"#)
'\917' -> Just (Ptr "\69\0"#)
'\918' -> Just (Ptr "\90\0"#)
'\919' -> Just (Ptr "\72\0"#)
'\921' -> Just (Ptr "\73\0"#)
'\922' -> Just (Ptr "\75\0"#)
'\923' -> Just (Ptr "\201\133\0"#)
'\924' -> Just (Ptr "\77\0"#)
'\925' -> Just (Ptr "\78\0"#)
'\927' -> Just (Ptr "\79\0"#)
'\928' -> Just (Ptr "\208\159\0"#)
'\929' -> Just (Ptr "\80\0"#)
'\931' -> Just (Ptr "\198\169\0"#)
'\932' -> Just (Ptr "\84\0"#)
'\933' -> Just (Ptr "\89\0"#)
'\935' -> Just (Ptr "\88\0"#)
'\945' -> Just (Ptr "\226\141\186\0"#)
'\949' -> Just (Ptr "\201\155\0"#)
'\953' -> Just (Ptr "\201\169\226\141\179\0"#)
'\959' -> Just (Ptr "\111\0"#)
'\961' -> Just (Ptr "\226\141\180\0"#)
'\969' -> Just (Ptr "\226\141\181\0"#)
'\1011' -> Just (Ptr "\106\0"#)
'\1029' -> Just (Ptr "\83\0"#)
'\1032' -> Just (Ptr "\74\0"#)
'\1041' -> Just (Ptr "\198\130\0"#)
'\1043' -> Just (Ptr "\206\147\0"#)
'\1055' -> Just (Ptr "\206\160\0"#)
'\1057' -> Just (Ptr "\67\0"#)
'\1072' -> Just (Ptr "\97\0"#)
'\1074' -> Just (Ptr "\202\153\0"#)
'\1075' -> Just (Ptr "\225\180\166\0"#)
'\1077' -> Just (Ptr "\101\0"#)
'\1082' -> Just (Ptr "\196\184\0"#)
'\1083' -> Just (Ptr "\225\180\171\0"#)
'\1084' -> Just (Ptr "\225\180\141\0"#)
'\1085' -> Just (Ptr "\202\156\0"#)
'\1087' -> Just (Ptr "\225\180\168\0"#)
'\1088' -> Just (Ptr "\112\0"#)
'\1089' -> Just (Ptr "\99\0"#)
'\1090' -> Just (Ptr "\225\180\155\0"#)
'\1091' -> Just (Ptr "\121\0"#)
'\1093' -> Just (Ptr "\120\0"#)
'\1109' -> Just (Ptr "\115\0"#)
'\1110' -> Just (Ptr "\105\0"#)
'\1178' -> Just (Ptr "\226\177\169\0"#)
'\1186' -> Just (Ptr "\226\177\167\0"#)
'\1211' -> Just (Ptr "\104\0"#)
'\1231' -> Just (Ptr "\201\170\0"#)
'\1236' -> Just (Ptr "\195\134\0"#)
'\1237' -> Just (Ptr "\195\166\0"#)
'\1240' -> Just (Ptr "\198\143\0"#)
'\1241' -> Just (Ptr "\201\153\0"#)
'\1249' -> Just (Ptr "\202\146\0"#)
'\1256' -> Just (Ptr "\198\159\0"#)
'\1257' -> Just (Ptr "\201\181\0"#)
'\1281' -> Just (Ptr "\100\0"#)
'\4125' -> Just (Ptr "\225\129\128\0"#)
'\4160' -> Just (Ptr "\225\128\157\0"#)
'\6050' -> Just (Ptr "\225\158\163\0"#)
'\6051' -> Just (Ptr "\225\158\162\0"#)
'\6197' -> Just (Ptr "\225\161\149\0"#)
'\6229' -> Just (Ptr "\225\160\181\0"#)
'\6558' -> Just (Ptr "\225\167\144\0"#)
'\6577' -> Just (Ptr "\225\167\145\0"#)
'\6608' -> Just (Ptr "\225\166\158\0"#)
'\6609' -> Just (Ptr "\225\166\177\0"#)
'\6725' -> Just (Ptr "\225\170\128\225\170\144\0"#)
'\6784' -> Just (Ptr "\225\169\133\0"#)
'\6800' -> Just (Ptr "\225\169\133\0"#)
'\6925' -> Just (Ptr "\225\173\146\0"#)
'\6929' -> Just (Ptr "\225\173\147\0"#)
'\6952' -> Just (Ptr "\225\173\152\0"#)
'\6992' -> Just (Ptr "\225\173\156\0"#)
'\6994' -> Just (Ptr "\225\172\141\0"#)
'\6995' -> Just (Ptr "\225\172\145\0"#)
'\7000' -> Just (Ptr "\225\172\168\0"#)
'\7004' -> Just (Ptr "\225\173\144\0"#)
'\7437' -> Just (Ptr "\208\188\0"#)
'\7448' -> Just (Ptr "\225\180\169\0"#)
'\7451' -> Just (Ptr "\209\130\0"#)
'\7462' -> Just (Ptr "\208\179\0"#)
'\7464' -> Just (Ptr "\208\191\0"#)
'\7465' -> Just (Ptr "\225\180\152\0"#)
'\7467' -> Just (Ptr "\208\187\0"#)
'\9075' -> Just (Ptr "\206\185\0"#)
'\9076' -> Just (Ptr "\207\129\0"#)
'\9077' -> Just (Ptr "\207\137\0"#)
'\9082' -> Just (Ptr "\206\177\0"#)
'\11367' -> Just (Ptr "\210\162\0"#)
'\11369' -> Just (Ptr "\210\154\0"#)
'\43462' -> Just (Ptr "\234\167\144\0"#)
'\43472' -> Just (Ptr "\234\167\134\0"#)
'\66434' -> Just (Ptr "\240\144\143\145\0"#)
'\66451' -> Just (Ptr "\240\144\143\147\0"#)
'\66458' -> Just (Ptr "\240\146\128\184\0"#)
'\66513' -> Just (Ptr "\240\144\142\130\0"#)
'\66515' -> Just (Ptr "\240\144\142\147\0"#)
'\66694' -> Just (Ptr "\240\144\146\160\0"#)
'\66720' -> Just (Ptr "\240\144\146\134\0"#)
'\73784' -> Just (Ptr "\240\144\142\154\0"#)
_ -> Nothing