{-# LANGUAGE OverloadedStrings #-} -- | A collection of predefined Unicode values outside of ASCII range. For -- ASCII, see "Data.Text.Prettyprint.Doc.Symbols.Ascii". module Data.Text.Prettyprint.Doc.Symbols.Unicode ( -- * Quotes -- ** Enclosing d9966quotes, d6699quotes, s96quotes, s69quotes, dGuillemetsOut, dGuillemetsIn, sGuillemetsOut, sGuillemetsIn, -- ** Standalone b99dquote, t66dquote, t99dquote, b9quote, t6quote, t9quote, rdGuillemet, ldGuillemet, rsGuillemet, lsGuillemet, -- * Various typographical symbols bullet, endash, -- * Currencies euro, cent, yen, pound, ) where import Data.Text.Prettyprint.Doc -- | Double „99-66“ quotes, as used in German typography. -- -- >>> putDoc (d9966quotes "·") -- „·“ d9966quotes :: Doc ann -> Doc ann d9966quotes = enclose b99dquote t66dquote -- | Double “66-99” quotes, as used in English typography. -- -- >>> putDoc (d6699quotes "·") -- “·” d6699quotes :: Doc ann -> Doc ann d6699quotes = enclose t66dquote t99dquote -- | Single ‚9-6‘ quotes, as used in German typography. -- -- >>> putDoc (s96quotes "·") -- ‚·‘ s96quotes :: Doc ann -> Doc ann s96quotes = enclose b9quote t6quote -- | Single ‘6-9’ quotes, as used in English typography. -- -- >>> putDoc (s69quotes "·") -- ‘·’ s69quotes :: Doc ann -> Doc ann s69quotes = enclose t6quote t9quote -- | Double «guillemets», pointing outwards (without adding any spacing). -- -- >>> putDoc (dGuillemetsOut "·") -- «·» dGuillemetsOut :: Doc ann -> Doc ann dGuillemetsOut = enclose ldGuillemet rdGuillemet -- | Double »guillemets«, pointing inwards (without adding any spacing). -- -- >>> putDoc (dGuillemetsIn "·") -- »·« dGuillemetsIn :: Doc ann -> Doc ann dGuillemetsIn = enclose rdGuillemet ldGuillemet -- | Single ‹guillemets›, pointing outwards (without adding any spacing). -- -- >>> putDoc (sGuillemetsOut "·") -- ‹·› sGuillemetsOut :: Doc ann -> Doc ann sGuillemetsOut = enclose lsGuillemet rsGuillemet -- | Single ›guillemets‹, pointing inwards (without adding any spacing). -- -- >>> putDoc (sGuillemetsIn "·") -- ›·‹ sGuillemetsIn :: Doc ann -> Doc ann sGuillemetsIn = enclose rsGuillemet lsGuillemet -- | Bottom „99“ style double quotes. -- -- >>> putDoc b99dquote -- „ b99dquote :: Doc ann b99dquote = "„" -- | Top “66” style double quotes. -- -- >>> putDoc t66dquote -- “ t66dquote :: Doc ann t66dquote = "“" -- | Top “99” style double quotes. -- -- >>> putDoc t99dquote -- ” t99dquote :: Doc ann t99dquote = "”" -- | Bottom ‚9‘ style single quote. -- -- >>> putDoc b9quote -- ‚ b9quote :: Doc ann b9quote = "‚" -- | Top ‘66’ style single quote. -- -- >>> putDoc t6quote -- ‘ t6quote :: Doc ann t6quote = "‘" -- | Top ‘9’ style single quote. -- -- >>> putDoc t9quote -- ’ t9quote :: Doc ann t9quote = "’" -- | Right-pointing double guillemets -- -- >>> putDoc rdGuillemet -- » rdGuillemet :: Doc ann rdGuillemet = "»" -- | Left-pointing double guillemets -- -- >>> putDoc ldGuillemet -- « ldGuillemet :: Doc ann ldGuillemet = "«" -- | Right-pointing single guillemets -- -- >>> putDoc rsGuillemet -- › rsGuillemet :: Doc ann rsGuillemet = "›" -- | Left-pointing single guillemets -- -- >>> putDoc lsGuillemet -- ‹ lsGuillemet :: Doc ann lsGuillemet = "‹" -- | >>> putDoc bullet -- • bullet :: Doc ann bullet = "•" -- | >>> putDoc endash -- – endash :: Doc ann endash = "–" -- | >>> putDoc euro -- € euro :: Doc ann euro = "€" -- | >>> putDoc cent -- ¢ cent :: Doc ann cent = "¢" -- | >>> putDoc yen -- ¥ yen :: Doc ann yen = "¥" -- | >>> putDoc pound -- £ pound :: Doc ann pound = "£" -- $setup -- -- (Definitions for the doctests) -- -- >>> :set -XOverloadedStrings -- >>> import Data.Text.Prettyprint.Doc.Render.Text -- >>> import Data.Text.Prettyprint.Doc.Util