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